به عنوان یه برنامه نویس برخورد با سایت ها و سرویس هایی که ایران رو تحریم کردن چیزیه که هر روز بارها باهاش رو به رو میشم! قبل ها تو این مواقع همیشه دنبال یه فیلتر شکن میگشتم تا اون سایت ها فک کنن درخواست از ایران نیست و مشکل حل بشه! و خب این آغازِ مشکل دوم بود! چون خود فیلترشکن ها هم یه روز کار میکنن و یه روز نمیکنن و ...
تا اینکه با شکن آشنا شدم:
برای استفاده از شکن در هر شبکهای، کافیه DNS رو روی این IP هایی که میگن تنظیم کنید
شکن برای استفاده شخصی رایگانه! نحوه استفاده ازش هم خیلی ساده ست و تو سایتشون توضیح کافی دادن!
یک روش دیگه هم استفاده از پروکسیه که نیاز به داشتن یه سرور خارج از ایران داره و امیر بشکار در دور زدن تحریمها و دسترسی به GitLab از داخل ایران خیلی تمیز راجع بش گفته!
تا اینجا 2 تا راه حل داریم! من هر دو رو امتحان کردم و در نهایت به نظرم استفاده از شکن آسون تر (بدون دردسر تر) اومد! ولی باید یه نکتهی خیلی مهم رو حتما بهش اشاره کنم، من این موضوع رو از امیر بشکار نقل قول میکنم:
با تمام احترامی که برای تیم زحمتکش «شکن» قائل هستم باید بگوییم که «شکن» سرویس خوبیست اما اصلا مدل اجرایی خوبی ندارد. از نظر من برای انجام کارهای روزانه، واقعا نیازی به عبور دادن همه ترافیک سیستم از یک سرور ثالث وجود ندارد؛ با در نظر گرفتن این نکته که تمرکز اصلی این سرویس بر روی پروتکل DNS و درخواستهای مرتبط با آن است.
اگر راجع به DNS و نحوه کار آن اطلاع داشته باشید، حتما میدانید که در پروتکل معمول DNS اطلاعات و درخواستها رمزنگاری نمیشوند و تمامی درخواستها توسط سیستمهای واسط قابل مشاهده و پیگیری هستند.
فرآیند کاری سرویس «شکن» از مدل یک نوع حمله کامپیوتری موسوم به MITM یا Man-In-The-Middle الهام گرفته شده و به دلیل دسترسی به ترافیک رد و بدل شده و در صورت نفوذ مهاجمین به این سرویس، میتواند واقعا خطرناک باشد و حتی سایتهایی که از پروتکل امن https استفاده میکنند نیز از این خطر امنیتی در امان نیستند.
به عبارت دقیقتر در حمله MITM فرد مهاجم با قراردادن سیستم خودش بین سیستم شما و سرویسدهنده، نقش رابط رو بازی میکند و تمام اطلاعات و پیامهای شما از سیستم مهاجم عبور میکند. در این حالت امکان شنود پیامها، ذخیره اطلاعات حساس بانکی و پسورد ها و حتی جعل هویت شما از سوی مهاجمین و بدخواهان اینترنتی وجود دارد.
با اینحال «شکن» راهحل سادهای را جهت حل معضل بوجود آمده ارائه میکند اما به دلایل بالا اصلا استفاده از آن را توصیه نمیکنم :)
حالا من شخصا چیکار میکنم؟ سیستم عاملی که من بیشتر باهاش کار میکنم ویندوزه! واسه این که یه میان بر ساده داشته باشم 2 تا فایل BAT ساده درست کردم! زمانی که میخوام push و pull کنم فایل اول رو اجرا میکنم و به محض اینکه کارم تموم شد دومی رو اجرا میکنم که دیگه از شکن استفاده نکنم!
اولی با یک کلیک DNS رو به IP های شکن تغییر میده
@echo off title your DNS will be changed to 178.22.122.100 and 185.51.200.2 netsh interface ip set dns name="Wi-Fi" source="static" address="178.22.122.100" netsh interface ip add dns name="Wi-Fi" addr="185.51.200.2" index=2
(یه فایل txt ساده ایجاد کنید، کد بالا رو داخلش قرار بدید و ذخیره کنید. وقتی کار تموم شد پسوند فایل رو تغییر بدید به .bat)
دومی با یه کلیک DNS ها رو به حالت اولیه در میاره!
@echo off title your DNS will be changed to "obtain dns automatically" netsh interface ip set dns name="Wi-Fi" source="dhcp"