معرفی SNI-Proxy
برنامه SNI-Proxy یک ابزار تخصصی برای عبور از فایروالهای مبتنی بر DPI در ویندوز است؛ فایروالهایی که با بررسی ابتدای اتصال TLS و مقدار SNI**، مقصد را تشخیص میدهند و اتصال را مسدود میکنند. ایدهی اصلی این برنامه این است که قبل از عبور ترافیک واقعی، یک **ClientHello جعلی با SNI فریبدهنده در مسیر قرار میدهد تا سامانهی فیلترینگ برداشت اشتباه از مقصد داشته باشد، در حالی که سرور واقعی این دادهی جعلی را نادیده میگیرد و ارتباط اصلی بدون اختلال برقرار میشود.
این پروژه فقط یک پراکسی ساده نیست؛ در واقع مجموعهای از چندین تکنیک مختلف برای DPI bypass را در خود دارد. در SNI-Proxy چند روش متفاوت برای دور زدن تحلیل ترافیک پیادهسازی شده تا کاربر یا توسعهدهنده بتواند بسته به نوع شبکه و رفتار فایروال، روش مناسبتر را انتخاب کند. از جمله این تکنیکها میتوان به دستکاری شمارهی توالی TCP، استفاده از checksum نامعتبر، TTL پایین، fragmentation در سطح TCP و IP، تزریق RST جعلی، fragmentation در سطح TLS record و حتی برخی قابلیتهای کمکاربردتر در TCP اشاره کرد. این تنوع باعث میشود برنامه به یک راهکار منعطف برای آزمایش و استفاده در سناریوهای مختلف تبدیل شود.
یکی از بخشهای مهم SNI-Proxy این است که فقط روی «ارسال ترافیک» تمرکز نکرده، بلکه روی تحلیل و انتخاب SNI مناسب هم کار میکند. برنامه میتواند لیستی از SNIها را از فایل بخواند و آنها را از نظر Resolve شدن DNS، امکان برقراری اتصال TCP، تست TLS، بررسی TTL و تعداد hop و حتی تشخیص CDN ارزیابی کند. این یعنی کاربر لازم نیست همه چیز را بهصورت دستی و حدسی انتخاب کند؛ خود ابزار کمک میکند گزینههای بهتر و پایدارتر شناسایی شوند.
در کنار این موارد، SNI-Proxy دارای متریک زنده و مانیتورینگ لحظهای هم هست. هنگام اجرا میتوان تعداد اتصالهای فعال، بایپسهای موفق و ناموفق، میزان ترافیک عبوری و خطاهای ارتباطی را مشاهده کرد. به همین دلیل این پروژه صرفاً یک نمونهی آزمایشی یا اثبات مفهوم نیست؛ بلکه ابزاری است که میتواند هم برای تحقیق و توسعه و هم برای سنجش عملی رفتار شبکه و DPI مورد استفاده قرار بگیرد.
از نظر فنی، هستهی این برنامه بر پایهی دستکاری سطح پایین بستههای IP/TCP ساخته شده و برای این کار از WinDivert استفاده میکند. همین موضوع باعث شده SNI-Proxy بهجای تکیه بر راهکارهای سطح بالا، مستقیماً در لایهای کار کند که بیشترین تأثیر را روی رفتار فایروالها و سامانههای بازرسی عمیق ترافیک دارد. نتیجه، ابزاری است دقیق، منعطف و مناسب برای کسانی که میخواهند سازوکار فیلترینگ مبتنی بر DPI را بهتر بشناسند، آزمایش کنند و برای آن راهکار عملی بسازند.
اگر در حوزهی شبکه، امنیت، DPI evasion یا ابزارهای low-level روی ویندوز کار میکنید، SNI-Proxy میتواند برایتان پروژهای جالب و کاربردی باشد؛ هم بهعنوان ابزار عملی، هم بهعنوان بستری برای توسعهی تکنیکهای پیشرفتهتر.
لینک برنامه در گیت هاب:
https://github.com/nullroute1970/SNI-Proxy/
برنامه SNI-Proxy یک ابزار تخصصی برای عبور از فایروالهای مبتنی بر DPI در ویندوز است؛ فایروالهایی که با بررسی ابتدای اتصال TLS و مقدار SNI**، مقصد را تشخیص میدهند و اتصال را مسدود میکنند. ایدهی اصلی این برنامه این است که قبل از عبور ترافیک واقعی، یک **ClientHello جعلی با SNI فریبدهنده در مسیر قرار میدهد تا سامانهی فیلترینگ برداشت اشتباه از مقصد داشته باشد، در حالی که سرور واقعی این دادهی جعلی را نادیده میگیرد و ارتباط اصلی بدون اختلال برقرار میشود.
این پروژه فقط یک پراکسی ساده نیست؛ در واقع مجموعهای از چندین تکنیک مختلف برای DPI bypass را در خود دارد. در SNI-Proxy چند روش متفاوت برای دور زدن تحلیل ترافیک پیادهسازی شده تا کاربر یا توسعهدهنده بتواند بسته به نوع شبکه و رفتار فایروال، روش مناسبتر را انتخاب کند. از جمله این تکنیکها میتوان به دستکاری شمارهی توالی TCP، استفاده از checksum نامعتبر، TTL پایین، fragmentation در سطح TCP و IP، تزریق RST جعلی، fragmentation در سطح TLS record و حتی برخی قابلیتهای کمکاربردتر در TCP اشاره کرد. این تنوع باعث میشود برنامه به یک راهکار منعطف برای آزمایش و استفاده در سناریوهای مختلف تبدیل شود.
یکی از بخشهای مهم SNI-Proxy این است که فقط روی «ارسال ترافیک» تمرکز نکرده، بلکه روی تحلیل و انتخاب SNI مناسب هم کار میکند. برنامه میتواند لیستی از SNIها را از فایل بخواند و آنها را از نظر Resolve شدن DNS، امکان برقراری اتصال TCP، تست TLS، بررسی TTL و تعداد hop و حتی تشخیص CDN ارزیابی کند. این یعنی کاربر لازم نیست همه چیز را بهصورت دستی و حدسی انتخاب کند؛ خود ابزار کمک میکند گزینههای بهتر و پایدارتر شناسایی شوند.
در کنار این موارد، SNI-Proxy دارای متریک زنده و مانیتورینگ لحظهای هم هست. هنگام اجرا میتوان تعداد اتصالهای فعال، بایپسهای موفق و ناموفق، میزان ترافیک عبوری و خطاهای ارتباطی را مشاهده کرد. به همین دلیل این پروژه صرفاً یک نمونهی آزمایشی یا اثبات مفهوم نیست؛ بلکه ابزاری است که میتواند هم برای تحقیق و توسعه و هم برای سنجش عملی رفتار شبکه و DPI مورد استفاده قرار بگیرد.
از نظر فنی، هستهی این برنامه بر پایهی دستکاری سطح پایین بستههای IP/TCP ساخته شده و برای این کار از WinDivert استفاده میکند. همین موضوع باعث شده SNI-Proxy بهجای تکیه بر راهکارهای سطح بالا، مستقیماً در لایهای کار کند که بیشترین تأثیر را روی رفتار فایروالها و سامانههای بازرسی عمیق ترافیک دارد. نتیجه، ابزاری است دقیق، منعطف و مناسب برای کسانی که میخواهند سازوکار فیلترینگ مبتنی بر DPI را بهتر بشناسند، آزمایش کنند و برای آن راهکار عملی بسازند.
اگر در حوزهی شبکه، امنیت، DPI evasion یا ابزارهای low-level روی ویندوز کار میکنید، SNI-Proxy میتواند برایتان پروژهای جالب و کاربردی باشد؛ هم بهعنوان ابزار عملی، هم بهعنوان بستری برای توسعهی تکنیکهای پیشرفتهتر.
لینک برنامه در گیت هاب:
https://github.com/nullroute1970/SNI-Proxy/
GitHub
GitHub - nullroute1970/SNI-Proxy
Contribute to nullroute1970/SNI-Proxy development by creating an account on GitHub.
👍5❤4
در صورت فعال کردن پارامتر AUTO_SELECT_SNI در فایل config.toml، برنامه به صورت خودکار هر 5 دقیقه لیست SNI ها رو مجددا بررسی می کنه و بهترین SNI رو انتخاب می کنه.
اینجوری می تونید اطمینان حاصل کنید که همیشه بهترین SNI انتخاب میشه و بالاترین سرعت رو خواهید داشت.
#آموزش
اینجوری می تونید اطمینان حاصل کنید که همیشه بهترین SNI انتخاب میشه و بالاترین سرعت رو خواهید داشت.
#آموزش
👍5❤🔥4❤3
دوستان در حال کار روی روش های مختلف spoofing هستم و همه رو یکی یکی پیاده سازی و بررسی می کنم. اگه موفق شدم و دوباره کار کرد اطلاع رسانی می کنم.
👍14❤10💋2
برنامه StormDNS منتشر شد.
این پروژه فورکی از MasterDnsVPN بر پایه نسخه v2026.04.05.191930-7757d2d است.
در ابتدا لازم میدانم از توسعهدهنده پروژه MasterDnsVPN تشکر کنم. با توجه به اینکه اعلام شده توسعه پروژه اصلی دیگر ادامه نخواهد یافت، برای ایشان در تمام مراحل زندگی آرزوی موفقیت دارم.
برنامه StormDNS تلاش خواهد کرد ادامهدهنده مسیر پروژه اصلی باشد، اما با سیاستها و اولویتهایی متفاوت.
مهمترین تفاوت اینجاست که StormDNS بهصورت کاملاً جدی برای استفاده روی کامپیوتر بهینه میشود و به هیچ عنوان برای موبایل بهینه نخواهد شد. دلیل این تصمیم روشن است: هدف این پروژه رسیدن به بیشترین پهنای باند، بیشترین سرعت و بیشترین پایداری ممکن است. بهینهسازی برای موبایل، بهدلیل محدودیت توان پردازشی، مدیریت انرژی، و وابستگی به باتری، پروژه را از این هدف اصلی دور میکند.
اما تغییرات StormDNS نسبت به نسخه v2026.04.05.191930-7757d2d:
1) نمایش آمار واقعی ترافیک و سرعت
در لاگ کنسول، سرعت دانلود، سرعت آپلود و میزان واقعی ترافیک مصرفشده نمایش داده میشود.
به کمک این قابلیت، میتوانید ببینید برنامه در مدت زمانی که فعال بوده دقیقاً چه میزان ترافیک مصرف کرده است. از آنجا که این آمار شامل بستههایی هم میشود که چندین بار ارسال شدهاند، عدد نمایشدادهشده به واقعیت مصرف شبکه نزدیکتر است و تصویری واقعیتر از هزینه ترافیکی برنامه ارائه میدهد.
2) تشخیص خودکار حالت خرابی طولانیمدت و بازیابی خودکار
در برخی شرایط، مخصوصاً زمانی که برنامه برای مدت طولانی باز میماند، ممکن است به وضعیتی برسد که هیچکدام از ریزالورها دیگر عملاً کار نکنند. در این حالت، برنامه ظاهراً هنوز در حال اجراست، اما در عمل مانند یک فرایند بیاثر عمل میکند و تمام درخواستها با شکست مواجه میشوند.
برای حل این مشکل، قابلیتی اضافه شده که این وضعیت را بهصورت خودکار تشخیص میدهد و برنامه را ریست میکند؛ بنابراین دیگر لازم نیست کاربر بهصورت دستی خود برنامه یا حتی سیستمعامل را ریستارت کند.
3) بهینهسازی عمیق هسته کلاینت و پارامترها
هسته اصلی برنامه در سمت کلاینت دستخوش تغییراتی شده و همچنین پارامترهای مختلف آن بهشکل گستردهای بهینه شدهاند تا بیشترین کارایی ممکن برای کاربر فراهم شود.
این تغییرات بارها و بارها با اینترنتهای مختلف، در ساعات متفاوت شبانهروز، و تحت بارهای متنوع تست شدهاند تا رفتار برنامه تا حد امکان بهینه و قابل اتکا باشد.
برای مثال، در برنامه اصلی قابلیتی وجود داشت که تعداد بستهها را چند برابر میکرد. این کار در شرایط اینترنت ایران میتواند بسیار مؤثر باشد، اما یک نکته مهم وجود دارد: در بسیاری از مواقع، سرعت آپلود کاربر گلوگاه اصلی است. به همین دلیل، در StormDNS پارامترهای مربوط به چندبرابر کردن بستهها در دانلود و آپلود از یکدیگر جدا شدهاند.
اگر این تفکیک وجود نداشته باشد، ممکن است کاربر از نظر دانلود شرایط مناسبی داشته باشد، اما بهدلیل اشغال شدن پهنای باند آپلود توسط بستههای تکراری، ارسال بستههای ضروری به سرور با تأخیر انجام شود. از آنجا که ماهیت این نوع ارتباط نیازمند ارسال و دریافت همزمان بستههاست، همین مسئله میتواند در نهایت باعث افت شدید سرعت دانلود هم بشود.
4) برخورد تهاجمیتر با ریزالورهای ضعیف و جستجوی سریعتر برای ریزالورهای جدید
استراتژی StormDNS این است که ریزالورهایی که عملکرد مناسبی ندارند خیلی سریع شناسایی و از چرخه خارج شوند. همزمان، برنامه با شدت بیشتری به دنبال پیدا کردن ریزالورهای جدید میگردد.
در این بخش، StormDNS عمداً رفتاری تهاجمیتر از پروژه اصلی دارد تا مجموعه ریزالورهای فعال، زنده و باکیفیتتری در اختیار کاربر باقی بماند.
5) ثبت، تحلیل و رتبهبندی ریزالورهای موفق
یکی از قابلیتهای مهم اضافهشده این است که برنامه، ریزالورهایی را که در گذشته عملکرد خوبی داشتهاند لاگ، تحلیل و رتبهبندی میکند.
بعد از مدتی استفاده، میتوانید به برنامه بگویید بهجای استفاده از کل لیست ریزالورها، از همین دادههای تحلیلی استفاده کند. برای مثال، میتوانید مشخص کنید که برنامه فقط 250 ریزالور برتر 30 روز گذشته را انتخاب کند و بر اساس همانها کار کند.
6) استفاده مجدد از نتایج MTU برای بالا آمدن سریعتر
وقتی برنامه از لاگ ریزالورها استفاده میکند، میتوانید تعیین کنید که تستهای MTU دوباره انجام شوند یا نه.
این قابلیت در سناریوهایی که فقط میخواهید یک تنظیم خاص را تغییر دهید و اثر آن را بررسی کنید، بسیار ارزشمند است. در چنین حالتی، انجام ندادن دوباره تست MTU باعث میشود برنامه خیلی سریعتر بالا بیاید. StormDNS میتواند از آخرین مقادیر MTU موجود در لاگها استفاده کند و بدون اتلاف زمان شروع به کار کند.
این پروژه فورکی از MasterDnsVPN بر پایه نسخه v2026.04.05.191930-7757d2d است.
در ابتدا لازم میدانم از توسعهدهنده پروژه MasterDnsVPN تشکر کنم. با توجه به اینکه اعلام شده توسعه پروژه اصلی دیگر ادامه نخواهد یافت، برای ایشان در تمام مراحل زندگی آرزوی موفقیت دارم.
برنامه StormDNS تلاش خواهد کرد ادامهدهنده مسیر پروژه اصلی باشد، اما با سیاستها و اولویتهایی متفاوت.
مهمترین تفاوت اینجاست که StormDNS بهصورت کاملاً جدی برای استفاده روی کامپیوتر بهینه میشود و به هیچ عنوان برای موبایل بهینه نخواهد شد. دلیل این تصمیم روشن است: هدف این پروژه رسیدن به بیشترین پهنای باند، بیشترین سرعت و بیشترین پایداری ممکن است. بهینهسازی برای موبایل، بهدلیل محدودیت توان پردازشی، مدیریت انرژی، و وابستگی به باتری، پروژه را از این هدف اصلی دور میکند.
اما تغییرات StormDNS نسبت به نسخه v2026.04.05.191930-7757d2d:
1) نمایش آمار واقعی ترافیک و سرعت
در لاگ کنسول، سرعت دانلود، سرعت آپلود و میزان واقعی ترافیک مصرفشده نمایش داده میشود.
به کمک این قابلیت، میتوانید ببینید برنامه در مدت زمانی که فعال بوده دقیقاً چه میزان ترافیک مصرف کرده است. از آنجا که این آمار شامل بستههایی هم میشود که چندین بار ارسال شدهاند، عدد نمایشدادهشده به واقعیت مصرف شبکه نزدیکتر است و تصویری واقعیتر از هزینه ترافیکی برنامه ارائه میدهد.
2) تشخیص خودکار حالت خرابی طولانیمدت و بازیابی خودکار
در برخی شرایط، مخصوصاً زمانی که برنامه برای مدت طولانی باز میماند، ممکن است به وضعیتی برسد که هیچکدام از ریزالورها دیگر عملاً کار نکنند. در این حالت، برنامه ظاهراً هنوز در حال اجراست، اما در عمل مانند یک فرایند بیاثر عمل میکند و تمام درخواستها با شکست مواجه میشوند.
برای حل این مشکل، قابلیتی اضافه شده که این وضعیت را بهصورت خودکار تشخیص میدهد و برنامه را ریست میکند؛ بنابراین دیگر لازم نیست کاربر بهصورت دستی خود برنامه یا حتی سیستمعامل را ریستارت کند.
3) بهینهسازی عمیق هسته کلاینت و پارامترها
هسته اصلی برنامه در سمت کلاینت دستخوش تغییراتی شده و همچنین پارامترهای مختلف آن بهشکل گستردهای بهینه شدهاند تا بیشترین کارایی ممکن برای کاربر فراهم شود.
این تغییرات بارها و بارها با اینترنتهای مختلف، در ساعات متفاوت شبانهروز، و تحت بارهای متنوع تست شدهاند تا رفتار برنامه تا حد امکان بهینه و قابل اتکا باشد.
برای مثال، در برنامه اصلی قابلیتی وجود داشت که تعداد بستهها را چند برابر میکرد. این کار در شرایط اینترنت ایران میتواند بسیار مؤثر باشد، اما یک نکته مهم وجود دارد: در بسیاری از مواقع، سرعت آپلود کاربر گلوگاه اصلی است. به همین دلیل، در StormDNS پارامترهای مربوط به چندبرابر کردن بستهها در دانلود و آپلود از یکدیگر جدا شدهاند.
اگر این تفکیک وجود نداشته باشد، ممکن است کاربر از نظر دانلود شرایط مناسبی داشته باشد، اما بهدلیل اشغال شدن پهنای باند آپلود توسط بستههای تکراری، ارسال بستههای ضروری به سرور با تأخیر انجام شود. از آنجا که ماهیت این نوع ارتباط نیازمند ارسال و دریافت همزمان بستههاست، همین مسئله میتواند در نهایت باعث افت شدید سرعت دانلود هم بشود.
4) برخورد تهاجمیتر با ریزالورهای ضعیف و جستجوی سریعتر برای ریزالورهای جدید
استراتژی StormDNS این است که ریزالورهایی که عملکرد مناسبی ندارند خیلی سریع شناسایی و از چرخه خارج شوند. همزمان، برنامه با شدت بیشتری به دنبال پیدا کردن ریزالورهای جدید میگردد.
در این بخش، StormDNS عمداً رفتاری تهاجمیتر از پروژه اصلی دارد تا مجموعه ریزالورهای فعال، زنده و باکیفیتتری در اختیار کاربر باقی بماند.
5) ثبت، تحلیل و رتبهبندی ریزالورهای موفق
یکی از قابلیتهای مهم اضافهشده این است که برنامه، ریزالورهایی را که در گذشته عملکرد خوبی داشتهاند لاگ، تحلیل و رتبهبندی میکند.
بعد از مدتی استفاده، میتوانید به برنامه بگویید بهجای استفاده از کل لیست ریزالورها، از همین دادههای تحلیلی استفاده کند. برای مثال، میتوانید مشخص کنید که برنامه فقط 250 ریزالور برتر 30 روز گذشته را انتخاب کند و بر اساس همانها کار کند.
6) استفاده مجدد از نتایج MTU برای بالا آمدن سریعتر
وقتی برنامه از لاگ ریزالورها استفاده میکند، میتوانید تعیین کنید که تستهای MTU دوباره انجام شوند یا نه.
این قابلیت در سناریوهایی که فقط میخواهید یک تنظیم خاص را تغییر دهید و اثر آن را بررسی کنید، بسیار ارزشمند است. در چنین حالتی، انجام ندادن دوباره تست MTU باعث میشود برنامه خیلی سریعتر بالا بیاید. StormDNS میتواند از آخرین مقادیر MTU موجود در لاگها استفاده کند و بدون اتلاف زمان شروع به کار کند.
❤31✍2
7) کارایی بیشتر در مود تهاجمی، به کمک دادههای تاریخی
بالاتر اشاره کردم که StormDNS در حذف ریزالورهای ضعیف و پیدا کردن ریزالورهای جدید، تهاجمیتر عمل میکند.
این رویکرد بهتنهایی مفید است، اما وقتی با قابلیت تحلیل و رتبهبندی ریزالورها ترکیب میشود، بعد از مدتی استفاده بهمراتب هوشمندتر و مؤثرتر عمل میکند.
در حالت عادی ممکن است شما یک لیست 5000 تایی از ریزالورها داشته باشید که بخش بزرگی از آنها در لحظه شروع برنامه کار نکنند، هرچند شاید بعداً بعضی از آنها دوباره قابل استفاده شوند. در پروژه اصلی، برنامه بهصورت مداوم این لیست بزرگ را دوباره و دوباره بررسی میکرد تا ریزالورهای قابل استفاده را پیدا کند. مشکل اینجاست که در چنین لیستی، تعداد زیادی ریزالور بیکیفیت، مرده، یا نامطمئن وجود دارد؛ بنابراین بخش قابل توجهی از منابع برنامه صرف جستجو در میان گزینههایی میشود که ارزش عملی کمی دارند.
در StormDNS، از یک طرف ریزالورهای مشکلدار خیلی سریع کنار گذاشته میشوند، و از طرف دیگر اگر مکانیزم پیدا کردن ریزالورهای جدید بهاندازه کافی مؤثر نباشد، ممکن است برنامه دچار کمبود ریزالور شود. راهحلی که برای این مسئله اضافه شده، همان رتبهبندی ریزالورها بر اساس زمان، تعداد دفعات موفقیت اتصال و مقادیر MTU است.
در نتیجه، برنامه بهجای جستجو در یک لیست خام و عظیم، میتواند در لیستی جستجو کند که از قبل میدانیم فقط شامل ریزالورهای باکیفیتتر است. شاید بعضی از این ریزالورها همین لحظه آماده نباشند، اما احتمال زیادی دارد یک دقیقه بعد دوباره مناسب باشند. این رویکرد باعث میشود تعداد ریزالورهای فعال و باکیفیت در عمل بیشتر شود و منابع برنامه بهشکل مؤثرتری مصرف شود.
8) عدم تغییر در سمت سرور
در حال حاضر هیچ تغییری در سمت سرور اعمال نکردهام.
بنابراین StormDNS همچنان با نسخه v2026.04.05.191930-7757d2d از MasterDnsVPN در سمت سرور سازگار است. این یعنی کسانی که همین نسخه را روی سرور خود دارند، فقط کافی است کلاینت جدید StormDNS را استفاده کنند.
همچنین کسانی که بهدنبال همان نسخه v2026.04.05.191930-7757d2d بودند اما به هر دلیل نتوانستهاند آن را از مخزن اصلی MasterDnsVPN بهصورت خودکار نصب کنند، میتوانند از مخزن GitHub پروژه StormDNS استفاده کنند.
https://github.com/nullroute1970/StormDNS
بالاتر اشاره کردم که StormDNS در حذف ریزالورهای ضعیف و پیدا کردن ریزالورهای جدید، تهاجمیتر عمل میکند.
این رویکرد بهتنهایی مفید است، اما وقتی با قابلیت تحلیل و رتبهبندی ریزالورها ترکیب میشود، بعد از مدتی استفاده بهمراتب هوشمندتر و مؤثرتر عمل میکند.
در حالت عادی ممکن است شما یک لیست 5000 تایی از ریزالورها داشته باشید که بخش بزرگی از آنها در لحظه شروع برنامه کار نکنند، هرچند شاید بعداً بعضی از آنها دوباره قابل استفاده شوند. در پروژه اصلی، برنامه بهصورت مداوم این لیست بزرگ را دوباره و دوباره بررسی میکرد تا ریزالورهای قابل استفاده را پیدا کند. مشکل اینجاست که در چنین لیستی، تعداد زیادی ریزالور بیکیفیت، مرده، یا نامطمئن وجود دارد؛ بنابراین بخش قابل توجهی از منابع برنامه صرف جستجو در میان گزینههایی میشود که ارزش عملی کمی دارند.
در StormDNS، از یک طرف ریزالورهای مشکلدار خیلی سریع کنار گذاشته میشوند، و از طرف دیگر اگر مکانیزم پیدا کردن ریزالورهای جدید بهاندازه کافی مؤثر نباشد، ممکن است برنامه دچار کمبود ریزالور شود. راهحلی که برای این مسئله اضافه شده، همان رتبهبندی ریزالورها بر اساس زمان، تعداد دفعات موفقیت اتصال و مقادیر MTU است.
در نتیجه، برنامه بهجای جستجو در یک لیست خام و عظیم، میتواند در لیستی جستجو کند که از قبل میدانیم فقط شامل ریزالورهای باکیفیتتر است. شاید بعضی از این ریزالورها همین لحظه آماده نباشند، اما احتمال زیادی دارد یک دقیقه بعد دوباره مناسب باشند. این رویکرد باعث میشود تعداد ریزالورهای فعال و باکیفیت در عمل بیشتر شود و منابع برنامه بهشکل مؤثرتری مصرف شود.
8) عدم تغییر در سمت سرور
در حال حاضر هیچ تغییری در سمت سرور اعمال نکردهام.
بنابراین StormDNS همچنان با نسخه v2026.04.05.191930-7757d2d از MasterDnsVPN در سمت سرور سازگار است. این یعنی کسانی که همین نسخه را روی سرور خود دارند، فقط کافی است کلاینت جدید StormDNS را استفاده کنند.
همچنین کسانی که بهدنبال همان نسخه v2026.04.05.191930-7757d2d بودند اما به هر دلیل نتوانستهاند آن را از مخزن اصلی MasterDnsVPN بهصورت خودکار نصب کنند، میتوانند از مخزن GitHub پروژه StormDNS استفاده کنند.
https://github.com/nullroute1970/StormDNS
GitHub
GitHub - nullroute1970/StormDNS
Contribute to nullroute1970/StormDNS development by creating an account on GitHub.
❤25
نسخه v2026.04.26.153956-15aedd9 منتشر شد.
🚀 تغییرات جدید StormDNS
در نسخه جدید، تمرکز اصلی روی پایداری، امنیت و راحتتر شدن نصب و مدیریت سرور بوده است:
✅ افزایش امنیت و مقاومت سرور
سختگیری بیشتر روی ورودیهای سمت سرور برای جلوگیری از مصرف غیرعادی منابع
محدودسازی تعداد استریمهای همزمان هر سشن
محدودسازی حجم پاسخهای DNS برای جلوگیری از فشار حافظه
تشخیص و رد کردن Fragmentهای نامعتبر یا مشکوک
بهبود مقاومت در برابر شرایطی که میتوانستند باعث اختلال یا DoS شوند
✅ بهبود پایداری و مدیریت خطا
جلوگیری از کرش شدن پردازشهای داخلی در صورت بروز panic
بازیابی امنتر در بخش DNS upstream و cleanup داخلی سرور
رفع احتمال باقی ماندن goroutine اضافه در هندشیک SOCKS5
اضافه شدن آمارهای داخلی برای مشاهده بهتر وضعیت سرور و خطاهای دفعشده
✅ بهبود تنظیمات پیشفرض کلاینت
تنظیم پیشفرض Workerها به مقدار سبکتر و پایدارتر
جدا شدن تنظیمات تست MTU برای حالتهای مختلف startup
بهینهتر شدن رفتار تست MTU در حالت اسکن Resolverها و حالت استفاده از لاگها
بازگشت حالت شروع پیشفرض به Resolverها برای رفتار قابلاعتمادتر
✅ بهبود نصب و مدیریت سرور لینوکس
اضافه شدن گزینه نصب یک نسخه مشخص با --version
اضافه شدن گزینه حذف کامل سرور با --uninstall
حذف سرویس systemd، تنظیمات sysctl، limitها و فایلهای نصب هنگام uninstall
بهبود تشخیص معماری و انتخاب فایل مناسب برای نصب
این نسخه از StormDNS پایدارتر، امنتر و برای نصب و نگهداری روی سرور سادهتر شده است.
https://github.com/nullroute1970/StormDNS/releases/tag/v2026.04.26.153956-15aedd9
🚀 تغییرات جدید StormDNS
در نسخه جدید، تمرکز اصلی روی پایداری، امنیت و راحتتر شدن نصب و مدیریت سرور بوده است:
✅ افزایش امنیت و مقاومت سرور
سختگیری بیشتر روی ورودیهای سمت سرور برای جلوگیری از مصرف غیرعادی منابع
محدودسازی تعداد استریمهای همزمان هر سشن
محدودسازی حجم پاسخهای DNS برای جلوگیری از فشار حافظه
تشخیص و رد کردن Fragmentهای نامعتبر یا مشکوک
بهبود مقاومت در برابر شرایطی که میتوانستند باعث اختلال یا DoS شوند
✅ بهبود پایداری و مدیریت خطا
جلوگیری از کرش شدن پردازشهای داخلی در صورت بروز panic
بازیابی امنتر در بخش DNS upstream و cleanup داخلی سرور
رفع احتمال باقی ماندن goroutine اضافه در هندشیک SOCKS5
اضافه شدن آمارهای داخلی برای مشاهده بهتر وضعیت سرور و خطاهای دفعشده
✅ بهبود تنظیمات پیشفرض کلاینت
تنظیم پیشفرض Workerها به مقدار سبکتر و پایدارتر
جدا شدن تنظیمات تست MTU برای حالتهای مختلف startup
بهینهتر شدن رفتار تست MTU در حالت اسکن Resolverها و حالت استفاده از لاگها
بازگشت حالت شروع پیشفرض به Resolverها برای رفتار قابلاعتمادتر
✅ بهبود نصب و مدیریت سرور لینوکس
اضافه شدن گزینه نصب یک نسخه مشخص با --version
اضافه شدن گزینه حذف کامل سرور با --uninstall
حذف سرویس systemd، تنظیمات sysctl، limitها و فایلهای نصب هنگام uninstall
بهبود تشخیص معماری و انتخاب فایل مناسب برای نصب
این نسخه از StormDNS پایدارتر، امنتر و برای نصب و نگهداری روی سرور سادهتر شده است.
https://github.com/nullroute1970/StormDNS/releases/tag/v2026.04.26.153956-15aedd9
GitHub
Release Release v2026.04.26.153956-15aedd9 · nullroute1970/StormDNS
Changes since v2026.04.22.214556-6fcac52:
Automated release created by workflow run 24960452977 for commit 15aedd9
Commits
2026.04.26 (15aedd9)
Contributors
@mkeefeanalog — 1 commit(s)
Automated release created by workflow run 24960452977 for commit 15aedd9
Commits
2026.04.26 (15aedd9)
Contributors
@mkeefeanalog — 1 commit(s)
❤44👍4🔥1
client_resolvers.txt
56.9 KB
ریزالورهای فعال - 4/30/2026
تعداد: 3264
بنا به درخواست دوستان ریزالورهای فعالی که خودم در حال استفاده هستم رو براتون ارسال میکنم - روی اینترنت فیبر نوری مخابرات و شاتل تست شدن و به تعداد کافی ریزالور با MTU مناسب بهتون میده که کیفیت اینترنت مناسبی داشته باشید.
#ریزالورهای_فعال
تعداد: 3264
بنا به درخواست دوستان ریزالورهای فعالی که خودم در حال استفاده هستم رو براتون ارسال میکنم - روی اینترنت فیبر نوری مخابرات و شاتل تست شدن و به تعداد کافی ریزالور با MTU مناسب بهتون میده که کیفیت اینترنت مناسبی داشته باشید.
#ریزالورهای_فعال
👍41❤24🔥5🙏1
Forwarded from ᴘᴇʀꜱɪᴀ
╭────────────────────────────╮
⚡️ WhiteDNS Configs For StormDNS ⚡️
🔐 کانفیگهای اختصاصی و پرسرعت
╰────────────────────────────╯
01.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
02.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
03.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
04.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
05.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
06.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
07.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
08.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
09.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
10.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
11.
🌐 Domain:
🔑 Encryption Key:
╭────────────────────────────╮
🚀 Powered By StormDNS + WhiteDNS
📡 Stable • Fast • Secure
Configs by @PersiaTMChannel
╰────────────────────────────╯
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
👑 NexPers1 NexPers2 NexPers Gp
⚡️ WhiteDNS Configs For StormDNS ⚡️
🔐 کانفیگهای اختصاصی و پرسرعت
╰────────────────────────────╯
01.
t1.prs612.us3e80a0eb3e1fba2bf17e0e0eb5783dc5━━━━━━━━━━━━━━━━━━
02.
t2.prs612.usafc1bd5e98cd98cde7515adb7295122b━━━━━━━━━━━━━━━━━━
03.
t3.prs612.us8786a860148e2d4d55403ae3c80ba854━━━━━━━━━━━━━━━━━━
04.
t4.prs612.us943664f15fd1763e242ce12ba993d9c9━━━━━━━━━━━━━━━━━━
05.
t5.prs612.us6a9ab24a8bd3937378efbfb3c23e1358━━━━━━━━━━━━━━━━━━
06.
t6.prs612.us71201fedadfbc0b62189c08961bce651━━━━━━━━━━━━━━━━━━
07.
t7.prs612.usc4ff91174a79e9e03a4d6727878ada17━━━━━━━━━━━━━━━━━━
08.
t8.prs612.usae5db6f03e485214e1fcc9d26a4c0a2f━━━━━━━━━━━━━━━━━━
09.
t9.prs612.usa01c03a340a3e684a2815961e086eb27━━━━━━━━━━━━━━━━━━
10.
t10.prs612.usf3a3c5d02bb7ce04f6a4f144fc35e9cb━━━━━━━━━━━━━━━━━━
11.
t11.prs612.use7f2db07e778563d31ed1fc80d5fe612╭────────────────────────────╮
Configs by @PersiaTMChannel
╰────────────────────────────╯
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37👎1
🚀 انتشار نسخه جدید StormDNS
نسخه: v2026.05.07.194551-effbcfe
در این نسخه چند تغییر مهم و کاربردی اضافه شده تا StormDNS پایدارتر، قابلکنترلتر و آمادهتر برای ابزارهای جانبی باشد 👇
✨ مهمترین تغییرات:
🔹 اضافه شدن API محلی برای مانیتورینگ و کنترل
از این نسخه، کلاینت StormDNS میتواند از طریق یک API محلی وضعیت خودش را گزارش کند؛ مثل وضعیت اتصال، مصرف ترافیک، وضعیت Resolverها، MTU، Ping، سرعت ارسال/دریافت و نسخه برنامه.
🔹 امکان کنترل سادهتر کلاینت
چند دستور کنترلی هم اضافه شده، مثل: ⏹ توقف کلاینت
🔄 ریاستارت Session
♻️ ریاستارت کامل کلاینت
این یعنی در آینده ساخت داشبورد، پنل مانیتورینگ، ابزار مدیریت یا حتی اپ همراه برای StormDNS سادهتر میشود.
🔹 بهبود نصب سرور
اسکریپت نصب سرور بهتر شده و حالا حالت نصب محلی هم دارد؛ یعنی برای تست نسخههای ساختهشده بهصورت local، کار راحتتر شده است.
🔹 بهبود تنظیمات پیشفرض سرور
تنظیمات سرور بازبینی و بهتر شدهاند تا برای شرایط واقعی و شبکههای سخت، آمادهتر باشند.
🔹 اضافه شدن فیلتر خروجی DNS روی سرور
یک سرویس جدید اضافه شده که میتواند خروجی TCP روی پورت 53 را مسدود کند. این کار کمک میکند رفتار DNS Tunnel کنترلشدهتر و امنتر باشد.
🔹 بهبود پاکسازی هنگام Uninstall
فرآیند حذف StormDNS بهتر شده و فایلها و سرویسهای جانبی ایجادشده را تمیزتر پاک میکند.
🔹 مستندات بهتر و کاملتر
فایل README فارسی و انگلیسی بازنویسی و مرتبتر شدهاند و یک فایل مستندات API هم اضافه شده تا توسعهدهندهها راحتتر بتوانند ابزارهای جانبی برای StormDNS بسازند.
🔹 سیستم Build سادهتر
یک اسکریپت Build جدید اضافه شده تا ساخت نسخههای مختلف پروژه راحتتر و منظمتر انجام شود.
🧩 جمعبندی:
این Release بیشتر روی کنترلپذیری، مانیتورینگ، نصب راحتتر، مستندات بهتر و آمادهسازی StormDNS برای ابزارهای مدیریتی آینده تمرکز دارد.
برنامه StormDNS دارد قدمبهقدم از یک ابزار تونل DNS ساده، به یک پروژه کاملتر و قابلمدیریتتر تبدیل میشود 🌩️⚡
GitHub: https://github.com/nullroute1970/StormDNS
نسخه: v2026.05.07.194551-effbcfe
در این نسخه چند تغییر مهم و کاربردی اضافه شده تا StormDNS پایدارتر، قابلکنترلتر و آمادهتر برای ابزارهای جانبی باشد 👇
✨ مهمترین تغییرات:
🔹 اضافه شدن API محلی برای مانیتورینگ و کنترل
از این نسخه، کلاینت StormDNS میتواند از طریق یک API محلی وضعیت خودش را گزارش کند؛ مثل وضعیت اتصال، مصرف ترافیک، وضعیت Resolverها، MTU، Ping، سرعت ارسال/دریافت و نسخه برنامه.
🔹 امکان کنترل سادهتر کلاینت
چند دستور کنترلی هم اضافه شده، مثل: ⏹ توقف کلاینت
🔄 ریاستارت Session
♻️ ریاستارت کامل کلاینت
این یعنی در آینده ساخت داشبورد، پنل مانیتورینگ، ابزار مدیریت یا حتی اپ همراه برای StormDNS سادهتر میشود.
🔹 بهبود نصب سرور
اسکریپت نصب سرور بهتر شده و حالا حالت نصب محلی هم دارد؛ یعنی برای تست نسخههای ساختهشده بهصورت local، کار راحتتر شده است.
🔹 بهبود تنظیمات پیشفرض سرور
تنظیمات سرور بازبینی و بهتر شدهاند تا برای شرایط واقعی و شبکههای سخت، آمادهتر باشند.
🔹 اضافه شدن فیلتر خروجی DNS روی سرور
یک سرویس جدید اضافه شده که میتواند خروجی TCP روی پورت 53 را مسدود کند. این کار کمک میکند رفتار DNS Tunnel کنترلشدهتر و امنتر باشد.
🔹 بهبود پاکسازی هنگام Uninstall
فرآیند حذف StormDNS بهتر شده و فایلها و سرویسهای جانبی ایجادشده را تمیزتر پاک میکند.
🔹 مستندات بهتر و کاملتر
فایل README فارسی و انگلیسی بازنویسی و مرتبتر شدهاند و یک فایل مستندات API هم اضافه شده تا توسعهدهندهها راحتتر بتوانند ابزارهای جانبی برای StormDNS بسازند.
🔹 سیستم Build سادهتر
یک اسکریپت Build جدید اضافه شده تا ساخت نسخههای مختلف پروژه راحتتر و منظمتر انجام شود.
🧩 جمعبندی:
این Release بیشتر روی کنترلپذیری، مانیتورینگ، نصب راحتتر، مستندات بهتر و آمادهسازی StormDNS برای ابزارهای مدیریتی آینده تمرکز دارد.
برنامه StormDNS دارد قدمبهقدم از یک ابزار تونل DNS ساده، به یک پروژه کاملتر و قابلمدیریتتر تبدیل میشود 🌩️⚡
GitHub: https://github.com/nullroute1970/StormDNS
GitHub
GitHub - nullroute1970/StormDNS
Contribute to nullroute1970/StormDNS development by creating an account on GitHub.
1❤81👍6👏4⚡2
دوستان درود 🌱
اخیراً بعضی از دوستان در فضای مجازی این انتقاد را مطرح میکنند که چرا پروژه StormDNS ایجاد شده و چرا اگر قرار بود تغییری انجام شود، آن تغییرات بهصورت Pull Request روی پروژه اصلی MasterDnsVPN ارسال نشد.
برای اینکه سوءتفاهمی باقی نماند، لازم میدانم چند نکته را شفاف، محترمانه، اما صریح توضیح بدهم.
از همان روز اول، من ریشه پروژه StormDNS را پنهان نکردم. اولین پست بنده در همین کانال تلگرام دقیقاً این بود:
«این پروژه فورکی از MasterDnsVPN بر پایه نسخه v2026.04.05.191930-7757d2d است. در ابتدا لازم میدانم از توسعهدهنده پروژه MasterDnsVPN تشکر کنم. با توجه به اینکه اعلام شده توسعه پروژه اصلی دیگر ادامه نخواهد یافت، برای ایشان در تمام مراحل زندگی آرزوی موفقیت دارم. برنامه StormDNS تلاش خواهد کرد ادامهدهنده مسیر پروژه اصلی باشد، اما با سیاستها و اولویتهایی متفاوت. مهمترین تفاوت اینجاست که StormDNS بهصورت کاملاً جدی برای استفاده روی کامپیوتر بهینه میشود و به هیچ عنوان برای موبایل بهینه نخواهد شد. دلیل این تصمیم روشن است: هدف این پروژه رسیدن به بیشترین پهنای باند، بیشترین سرعت و بیشترین پایداری ممکن است. بهینهسازی برای موبایل، بهدلیل محدودیت توان پردازشی، مدیریت انرژی، و وابستگی به باتری، پروژه را از این هدف اصلی دور میکند.»
همانطور که مشخص است، StormDNS با پنهانکاری، مصادره پروژه، حذف نام پروژه اصلی یا بیاحترامی به توسعهدهنده MasterDnsVPN ایجاد نشده است. از روز اول اعلام شد که این پروژه یک Fork از MasterDnsVPN است و از همان ابتدا هم از توسعهدهنده اصلی تشکر شد.
اما سؤال اصلی این است:
چرا Fork؟
چرا Pull Request نه؟
پاسخ کوتاه این است: چون اختلاف ما صرفاً بر سر چند خط کد یا یک باگ کوچک نبود. اختلاف بر سر مسیر فنی، اولویت پروژه، جامعه هدف و فلسفه طراحی بود.
از نگاه من، بعد از اینکه MasterDnsVPN به سمت بهینهسازی برای موبایل رفت، کارایی برنامه برای استفاده جدی روی کامپیوتر افت محسوسی پیدا کرد. این فقط تجربه شخصی من نبود. در گروههای بحث و تست، خیلی از کاربران هم همین موضوع را مطرح میکردند و میگفتند برنامه در نسخههای جدید دیگر مثل قبل برایشان خوب کار نمیکند، بعضی سایتها باز نمیشود، اتصالها ناپایدار است، و عملاً کیفیت استفاده واقعی افت کرده است.
در همان بحثها، بسیاری از کاربران بارها اشاره میکردند که یک نسخه خاص از MasterDnsVPN برایشان بهتر، پایدارتر و قابلاستفادهتر بوده است. یعنی موضوع این نبود که فقط من با یک نسخه مشکل داشته باشم؛ بخش قابل توجهی از کاربران میگفتند همان نسخه مشخص، در عمل بهتر جواب میدهد.
اما اتفاق مهمی که افتاد این بود که همان نسخهای که خیلیها میگفتند برایشان خوب کار میکند، بهصورت تعمدی از Releaseهای پروژه حذف شد.
اینجا لازم است دقیق صحبت کنم:
من درباره نیت درونی هیچکس قضاوت نمیکنم. اما درباره خود اتفاق میشود شفاف حرف زد. حذف آن نسخه، یک اتفاق تصادفی یا خطای فنی ساده نبود؛ آن نسخه مشخص که کاربران زیادی میگفتند برایشان بهتر کار میکند، عملاً از دسترس Releaseهای رسمی خارج شد.
بعد از مدتی هم اسکریپت نصب تغییر کرد و مسیر ساده برگشتن به آن نسخههای قبلی عملاً بسته شد. یعنی کاربر عادی دیگر نمیتوانست مثل قبل همان نسخهای را که برایش بهتر کار میکرد، بهسادگی نصب کند.
نتیجه عملی این اتفاقها روشن بود:
کاربری که میخواست از آن نسخه خاص و پایدارتر استفاده کند، دیگر مسیر سادهای نداشت. تنها راه باقیمانده این بود که سورس پروژه را دریافت کند، به Commit یا نسخه موردنظر برگردد، و خودش برنامه را Build کند.
برای من، شروع StormDNS دقیقاً از همینجا بود.
وقتی در یک پروژه متنباز، نسخهای وجود دارد که برای بخشی از کاربران بهتر کار میکند، اما آن نسخه از Releaseها حذف میشود، مسیر نصب رسمی هم دیگر برگشت ساده به آن را ممکن نمیکند، و مسیر کلی پروژه هم به سمتی میرود که با نیاز آن کاربران همخوانی ندارد، Fork کردن نهتنها عجیب نیست، بلکه کاملاً طبیعی، منطقی و مطابق عرف متنباز است.
StormDNS از سر لجبازی ساخته نشد.
StormDNS برای رقابت شخصی ساخته نشد.
StormDNS برای بیاحترامی به MasterDnsVPN ساخته نشد.
StormDNS پاسخی بود به یک نیاز واقعی:
حفظ و ادامه دادن مسیری که برای کاربران کامپیوتر، پهنای باند بالاتر، سرعت بیشتر و پایداری بهتر مناسبتر بود.
در دنیای متنباز، Pull Request زمانی معنی دارد که تغییرات پیشنهادی با مسیر پروژه اصلی سازگار باشد و قرار باشد در همان پروژه ادغام شود. اما وقتی اختلاف بر سر مسیر کلی پروژه، نوع کاربر هدف، سیاست فنی و فلسفه طراحی است، Pull Request الزاماً راهحل درستی نیست.
در چنین شرایطی، راه درست و حرفهای در متنباز چیست؟
اخیراً بعضی از دوستان در فضای مجازی این انتقاد را مطرح میکنند که چرا پروژه StormDNS ایجاد شده و چرا اگر قرار بود تغییری انجام شود، آن تغییرات بهصورت Pull Request روی پروژه اصلی MasterDnsVPN ارسال نشد.
برای اینکه سوءتفاهمی باقی نماند، لازم میدانم چند نکته را شفاف، محترمانه، اما صریح توضیح بدهم.
از همان روز اول، من ریشه پروژه StormDNS را پنهان نکردم. اولین پست بنده در همین کانال تلگرام دقیقاً این بود:
«این پروژه فورکی از MasterDnsVPN بر پایه نسخه v2026.04.05.191930-7757d2d است. در ابتدا لازم میدانم از توسعهدهنده پروژه MasterDnsVPN تشکر کنم. با توجه به اینکه اعلام شده توسعه پروژه اصلی دیگر ادامه نخواهد یافت، برای ایشان در تمام مراحل زندگی آرزوی موفقیت دارم. برنامه StormDNS تلاش خواهد کرد ادامهدهنده مسیر پروژه اصلی باشد، اما با سیاستها و اولویتهایی متفاوت. مهمترین تفاوت اینجاست که StormDNS بهصورت کاملاً جدی برای استفاده روی کامپیوتر بهینه میشود و به هیچ عنوان برای موبایل بهینه نخواهد شد. دلیل این تصمیم روشن است: هدف این پروژه رسیدن به بیشترین پهنای باند، بیشترین سرعت و بیشترین پایداری ممکن است. بهینهسازی برای موبایل، بهدلیل محدودیت توان پردازشی، مدیریت انرژی، و وابستگی به باتری، پروژه را از این هدف اصلی دور میکند.»
همانطور که مشخص است، StormDNS با پنهانکاری، مصادره پروژه، حذف نام پروژه اصلی یا بیاحترامی به توسعهدهنده MasterDnsVPN ایجاد نشده است. از روز اول اعلام شد که این پروژه یک Fork از MasterDnsVPN است و از همان ابتدا هم از توسعهدهنده اصلی تشکر شد.
اما سؤال اصلی این است:
چرا Fork؟
چرا Pull Request نه؟
پاسخ کوتاه این است: چون اختلاف ما صرفاً بر سر چند خط کد یا یک باگ کوچک نبود. اختلاف بر سر مسیر فنی، اولویت پروژه، جامعه هدف و فلسفه طراحی بود.
از نگاه من، بعد از اینکه MasterDnsVPN به سمت بهینهسازی برای موبایل رفت، کارایی برنامه برای استفاده جدی روی کامپیوتر افت محسوسی پیدا کرد. این فقط تجربه شخصی من نبود. در گروههای بحث و تست، خیلی از کاربران هم همین موضوع را مطرح میکردند و میگفتند برنامه در نسخههای جدید دیگر مثل قبل برایشان خوب کار نمیکند، بعضی سایتها باز نمیشود، اتصالها ناپایدار است، و عملاً کیفیت استفاده واقعی افت کرده است.
در همان بحثها، بسیاری از کاربران بارها اشاره میکردند که یک نسخه خاص از MasterDnsVPN برایشان بهتر، پایدارتر و قابلاستفادهتر بوده است. یعنی موضوع این نبود که فقط من با یک نسخه مشکل داشته باشم؛ بخش قابل توجهی از کاربران میگفتند همان نسخه مشخص، در عمل بهتر جواب میدهد.
اما اتفاق مهمی که افتاد این بود که همان نسخهای که خیلیها میگفتند برایشان خوب کار میکند، بهصورت تعمدی از Releaseهای پروژه حذف شد.
اینجا لازم است دقیق صحبت کنم:
من درباره نیت درونی هیچکس قضاوت نمیکنم. اما درباره خود اتفاق میشود شفاف حرف زد. حذف آن نسخه، یک اتفاق تصادفی یا خطای فنی ساده نبود؛ آن نسخه مشخص که کاربران زیادی میگفتند برایشان بهتر کار میکند، عملاً از دسترس Releaseهای رسمی خارج شد.
بعد از مدتی هم اسکریپت نصب تغییر کرد و مسیر ساده برگشتن به آن نسخههای قبلی عملاً بسته شد. یعنی کاربر عادی دیگر نمیتوانست مثل قبل همان نسخهای را که برایش بهتر کار میکرد، بهسادگی نصب کند.
نتیجه عملی این اتفاقها روشن بود:
کاربری که میخواست از آن نسخه خاص و پایدارتر استفاده کند، دیگر مسیر سادهای نداشت. تنها راه باقیمانده این بود که سورس پروژه را دریافت کند، به Commit یا نسخه موردنظر برگردد، و خودش برنامه را Build کند.
برای من، شروع StormDNS دقیقاً از همینجا بود.
وقتی در یک پروژه متنباز، نسخهای وجود دارد که برای بخشی از کاربران بهتر کار میکند، اما آن نسخه از Releaseها حذف میشود، مسیر نصب رسمی هم دیگر برگشت ساده به آن را ممکن نمیکند، و مسیر کلی پروژه هم به سمتی میرود که با نیاز آن کاربران همخوانی ندارد، Fork کردن نهتنها عجیب نیست، بلکه کاملاً طبیعی، منطقی و مطابق عرف متنباز است.
StormDNS از سر لجبازی ساخته نشد.
StormDNS برای رقابت شخصی ساخته نشد.
StormDNS برای بیاحترامی به MasterDnsVPN ساخته نشد.
StormDNS پاسخی بود به یک نیاز واقعی:
حفظ و ادامه دادن مسیری که برای کاربران کامپیوتر، پهنای باند بالاتر، سرعت بیشتر و پایداری بهتر مناسبتر بود.
در دنیای متنباز، Pull Request زمانی معنی دارد که تغییرات پیشنهادی با مسیر پروژه اصلی سازگار باشد و قرار باشد در همان پروژه ادغام شود. اما وقتی اختلاف بر سر مسیر کلی پروژه، نوع کاربر هدف، سیاست فنی و فلسفه طراحی است، Pull Request الزاماً راهحل درستی نیست.
در چنین شرایطی، راه درست و حرفهای در متنباز چیست؟
2❤121👍11👌4🔥2⚡1🙏1
فورک کردن.
فورک یعنی یک توسعهدهنده یا گروهی از کاربران تشخیص دادهاند که میخواهند پروژه را با اولویتها و سیاستهای متفاوتی ادامه دهند. این نه بیاحترامی است، نه دزدی، نه کار غیرحرفهای. این دقیقاً یکی از پایههای فرهنگ متنباز است.
از نظر حقوقی هم موضوع روشن است. پروژه MasterDnsVPN با مجوز MIT منتشر شده است. مجوز MIT اجازه استفاده، کپی، تغییر، انتشار و توزیع مجدد نرمافزار را میدهد، به شرط حفظ متن مجوز و احترام به حقوق مؤلف اصلی.
بنابراین ایجاد StormDNS نه خلاف قانون است، نه خلاف عرف متنباز.
ما نه نام MasterDnsVPN را حذف کردیم، نه ریشه پروژه را پنهان کردیم، نه زحمات توسعهدهنده اصلی را انکار کردیم. برعکس، از همان ابتدا اعلام کردیم که StormDNS یک Fork از MasterDnsVPN است و از توسعهدهنده اصلی هم تشکر کردیم.
اما احترام به پروژه اصلی به این معنی نیست که مجبور باشیم همان مسیر فنی را ادامه دهیم.
MasterDnsVPN یک مسیر را انتخاب کرد.
StormDNS مسیر دیگری را انتخاب کرده است.
مسیر StormDNS روشن است:
⚡️ تمرکز جدی روی کامپیوتر
⚡️ اولویت دادن به پهنای باند بیشتر
⚡️ تلاش برای سرعت بالاتر
⚡️ تلاش برای پایداری بیشتر
⚡️ عدم قربانی کردن کارایی به خاطر محدودیتهای موبایل
⚡️ مناسبسازی برای شرایط سخت، ناپایدار و محدود اینترنت ایران
واقعیت این است که خیلی از ما با اینترنتی زندگی میکنیم که دسترسی آزاد، پایدار و عادی به اینترنت بینالملل در آن ساده نیست. من هم خودم از همین شرایط استفاده میکنم، نه از بیرون گود. بارها برای تست، اصلاح و کامل کردن برنامه تا صبح بیدار ماندم و بعد بدون خواب راهی محل کار شدم، چون با وضعیت فعلی اینترنت، بعضی کارها و تستها فقط نیمهشب و حوالی ۳ یا ۴ صبح امکانپذیر بود.
برای من، StormDNS فقط یک پروژه فنی نیست.
هدف من این نیست که با کسی رقابت شخصی کنم.
هدف من این نیست که زحمات کسی را کوچک کنم.
هدف من این نیست که ادعا کنم همه چیز از صفر توسط من ساخته شده است.
هدف فقط این است:
کمک کنیم تعداد بیشتری از مردم ایران بتوانند به اینترنت بینالمللی وصل شوند.
با سرعت بهتر.
با پایداری بیشتر.
با ابزاری که برای استفاده جدی روی کامپیوتر ساخته و بهینه میشود.
در پایان، انتخاب با کاربران است.
هر کسی حق دارد از MasterDnsVPN استفاده کند.
هر کسی حق دارد از StormDNS استفاده کند.
هر کسی هم حق دارد هیچکدام را استفاده نکند.
اما اینکه اصل ایجاد StormDNS زیر سؤال برده شود، از نظر فنی، حقوقی و عرف متنباز وارد نیست.
StormDNS یک Fork قانونی، شفاف و با ذکر ریشه پروژه است.
مسیر آن هم روشن است: ادامه دادن راهی که از نظر ما برای کاربران کامپیوتر و شرایط اینترنت ایران کاربردیتر است.
با احترام به همه توسعهدهندگان متنباز، مسیر StormDNS ادامه خواهد داشت. ⚡️🇮🇷
فورک یعنی یک توسعهدهنده یا گروهی از کاربران تشخیص دادهاند که میخواهند پروژه را با اولویتها و سیاستهای متفاوتی ادامه دهند. این نه بیاحترامی است، نه دزدی، نه کار غیرحرفهای. این دقیقاً یکی از پایههای فرهنگ متنباز است.
از نظر حقوقی هم موضوع روشن است. پروژه MasterDnsVPN با مجوز MIT منتشر شده است. مجوز MIT اجازه استفاده، کپی، تغییر، انتشار و توزیع مجدد نرمافزار را میدهد، به شرط حفظ متن مجوز و احترام به حقوق مؤلف اصلی.
بنابراین ایجاد StormDNS نه خلاف قانون است، نه خلاف عرف متنباز.
ما نه نام MasterDnsVPN را حذف کردیم، نه ریشه پروژه را پنهان کردیم، نه زحمات توسعهدهنده اصلی را انکار کردیم. برعکس، از همان ابتدا اعلام کردیم که StormDNS یک Fork از MasterDnsVPN است و از توسعهدهنده اصلی هم تشکر کردیم.
اما احترام به پروژه اصلی به این معنی نیست که مجبور باشیم همان مسیر فنی را ادامه دهیم.
MasterDnsVPN یک مسیر را انتخاب کرد.
StormDNS مسیر دیگری را انتخاب کرده است.
مسیر StormDNS روشن است:
⚡️ تمرکز جدی روی کامپیوتر
⚡️ اولویت دادن به پهنای باند بیشتر
⚡️ تلاش برای سرعت بالاتر
⚡️ تلاش برای پایداری بیشتر
⚡️ عدم قربانی کردن کارایی به خاطر محدودیتهای موبایل
⚡️ مناسبسازی برای شرایط سخت، ناپایدار و محدود اینترنت ایران
واقعیت این است که خیلی از ما با اینترنتی زندگی میکنیم که دسترسی آزاد، پایدار و عادی به اینترنت بینالملل در آن ساده نیست. من هم خودم از همین شرایط استفاده میکنم، نه از بیرون گود. بارها برای تست، اصلاح و کامل کردن برنامه تا صبح بیدار ماندم و بعد بدون خواب راهی محل کار شدم، چون با وضعیت فعلی اینترنت، بعضی کارها و تستها فقط نیمهشب و حوالی ۳ یا ۴ صبح امکانپذیر بود.
برای من، StormDNS فقط یک پروژه فنی نیست.
هدف من این نیست که با کسی رقابت شخصی کنم.
هدف من این نیست که زحمات کسی را کوچک کنم.
هدف من این نیست که ادعا کنم همه چیز از صفر توسط من ساخته شده است.
هدف فقط این است:
کمک کنیم تعداد بیشتری از مردم ایران بتوانند به اینترنت بینالمللی وصل شوند.
با سرعت بهتر.
با پایداری بیشتر.
با ابزاری که برای استفاده جدی روی کامپیوتر ساخته و بهینه میشود.
در پایان، انتخاب با کاربران است.
هر کسی حق دارد از MasterDnsVPN استفاده کند.
هر کسی حق دارد از StormDNS استفاده کند.
هر کسی هم حق دارد هیچکدام را استفاده نکند.
اما اینکه اصل ایجاد StormDNS زیر سؤال برده شود، از نظر فنی، حقوقی و عرف متنباز وارد نیست.
StormDNS یک Fork قانونی، شفاف و با ذکر ریشه پروژه است.
مسیر آن هم روشن است: ادامه دادن راهی که از نظر ما برای کاربران کامپیوتر و شرایط اینترنت ایران کاربردیتر است.
با احترام به همه توسعهدهندگان متنباز، مسیر StormDNS ادامه خواهد داشت. ⚡️🇮🇷
2❤200👍15👌6👏4🤡2👎1🤝1
درود! 👋
ورژن v2026.05.13.223445-87348df برنامه StormDNS منتشر شد.
بسیاری از دوستان گفتن ورژن قبلی کاهش سرعت داشتن، برای همین تغییرات ورژن قبل رو برگردونم به حالتی که سرعت بیشتر بود. یه سری تغییرات کوچیک هم برای بهبود سرعت انجام دادم 🚀، در صورت تمایل میتونید آخرین ورژن رو نصب کنید تا دوباره بیشترین سرعت رو داشته باشین ⚡
ورژن v2026.05.13.223445-87348df برنامه StormDNS منتشر شد.
بسیاری از دوستان گفتن ورژن قبلی کاهش سرعت داشتن، برای همین تغییرات ورژن قبل رو برگردونم به حالتی که سرعت بیشتر بود. یه سری تغییرات کوچیک هم برای بهبود سرعت انجام دادم 🚀، در صورت تمایل میتونید آخرین ورژن رو نصب کنید تا دوباره بیشترین سرعت رو داشته باشین ⚡
1❤81❤🔥1
Forwarded from ᴘᴇʀꜱɪᴀ
╭────────────────────────────╮
☄️ WhiteDNS Premium Configs For StormDNS ☄️
😀 کانفیگهای اختصاصی، پایدار و قدرتمند
🚀 مناسب برای اتصال سریع، امن و بدون اختلال
📡 Optimized For Better Stability & Performance
🎁 کانفیگ اهدایی از طرف چنل: @PersiaTMChannel
╰────────────────────────────╯
01.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
02.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
03.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
04.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
05.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
06.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
07.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
08.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
09.
🌐 Domain:
🔑 Encryption Key:
━━━━━━━━━━━━━━━━━━
10.
🌐 Domain:
🔑 Encryption Key:
╭────────────────────────────╮
Special Thanks To
🤝 WhiteDNS Channel
⭐️ StormDNS Project
For Their Support & Contribution.
╰────────────────────────────╯
دانلود نسخه اندروید با لینک داخلی
دانلود نسخه ویندوز PC با لینک داخلی
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
👑 NexPers1 NexPers2 NexPers Gp
╰────────────────────────────╯
01.
b1.persiatmx.us843996e318d85f34a012240b24714d2f━━━━━━━━━━━━━━━━━━
02.
b2.persiatmx.us6b51dfc5f065436a03f76f76af4c7416━━━━━━━━━━━━━━━━━━
03.
b3.persiatmx.us2bee92b7342be563851a6f8da0090de4━━━━━━━━━━━━━━━━━━
04.
b4.persiatmx.us9f9709ec0bb9c380227237e9ef7c9f3c━━━━━━━━━━━━━━━━━━
05.
b5.persiatmx.us962f409687cf0069080d5aef96cccbdc━━━━━━━━━━━━━━━━━━
06.
b6.persiatmx.us428c0d303605cefb06f7c33123484ac5━━━━━━━━━━━━━━━━━━
07.
b7.persiatmx.us3ac7935006ba328616a5df2aef1ed8fd━━━━━━━━━━━━━━━━━━
08.
b8.persiatmx.us6aecaa4877f463a773ab364560815f27━━━━━━━━━━━━━━━━━━
09.
b9.persiatmx.us7f3aad92ab16b630fc2d0c7e8469c278━━━━━━━━━━━━━━━━━━
10.
b10.persiatmx.us7fb2856813f16fe683a4483bb6ae0f71╭────────────────────────────╮
Special Thanks To
For Their Support & Contribution.
╰────────────────────────────╯
دانلود نسخه اندروید با لینک داخلی
دانلود نسخه ویندوز PC با لینک داخلی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤34🔥4👏1
