چگونه تحریم‌های نرم افزاری را دور بزنیم؟

متاسفانه در بخش های زیادی به دلیل اعمال تحریم، توسعه دهندگان ساکن ایران در استفاده از سرویس‌ها و نرم افزارها با محدودیت هایی مواجه هستند که قسمتی از این محدودیت، جلوگیری از اتصال به سرویس توسط IP های ایران می باشد.

توسعه دهندگان و برنامه نویسان اندروید نیز از این تحریم ها بی نصیب نمانده و با مشکلاتی دست و پنجه نرم می کنند!

اولین مورد دسترسی به وب سایت Developer اندروید است که به روی کاربران ایرانی بسته شده و دسترسی به آن، جز با تغییر آی پی و استفاده از آی پی کشورهای ثانویه امکان پذیر نیست. موارد مهم دیگر، دسترسی آنلاین به ابزار (Android SDK) و مخزن (Repository) کتابخانه های مورد استفاده در پروژه های اندرویدی است.

ارور Unable resolve dependency for

هنگام اضافه کردن کتابخانه به پروژه در صورت اتصال با IP ایران، اروری مشابه تصویر بالا دریافت می کنید. لازم نیست در هربار ساخت پروژه جدید یا اضافه کردن کتابخانه به پروژه، آی پی را تغییر دهید. کتابخانه ای مانند appcompat-v7 که در همه پروژه ها به صورت پیش فرض قرار دارد، فقط کافی است یکبار دریافت شود. در پروژه های بعدی نیاز به دریافت آنلاین مجدد نیست (مگر آنکه از نسخه ای متفاوت از نسخه قبل بخواهید استفاده کنید). حتی شاید برای این کتابخانه هیچگاه نیاز به دریافت آنلاین نباشد. این کتابخانه و سایر کتابخانه های مربوط به Support در Android Support Repository قرار دارند و اگر نسخه مدنظر شما در Android Support Repository موجود باشد، نیاز به نصب آنلاین نیست. بیشتر در نصب و دریافت کتابخانه هایی دچار مشکل می شویم که توسط سایر توسعه دهندگان تهیه شده و در مخزن jcenter قرار گرفته اند.

ابزار و روش های مختلفی برای دور زدن تحریم وجود دارد که برخی رایگان و برخی غیر رایگان هستند. قبل از نوشتن این مطلب، چند ساعتی را صرف تست انواع روش‌ها و نرم افزارهای متفاوت کردم تا خروجی این مقاله بتواند برای اکثریت هموطنان راهگشا باشد. غیر از مواردی که در ادامه اشاره می کنم، روش‌های دیگری نیز در وب توسط توسعه دهندگان معرفی شده که من سعی می کنم به مواردی بپردازم که تا حد امکان پیچیدگی کمتری داشته و همچنین اصولی باشد.

به شخصه ترجیح می دهم مبلغ ناچیزی بپردازم و در عوض از یک سرویس پایدار و مناسب استفاده کنم. در حال حاضر وبسایت هایی هستند که با مبلغ حدود ۳ یا ۴ هزار تومان در ماه، ابزار متعددی برای تغییر IP در اختیار مشتری قرار می دهند. به عنوان مثال سرویسی که من استفاده می کنم ابزاری مانند VPN، Kerio، OpenVPN و Cisco AnyConnect را پشتیبانی می کند. از بین این گزینه ها بهترین راه استفاده از Cisco AnyConnect است. سیسکو به طور کامل ارتباط سیستم عامل با اینترنت را اصطلاحا تونل می زند و به هیج عنوان نیاز به اعمال تنظیمات در نرم افزارهای هدف (مانند اندروید استودیو) نیست. البته در تستی که با VPN انجام دادم نیز مشکلی مشاهده نشد. با اینحال بهتر است قبل از خرید از سرویس دهندگان ایرانی، اکانت تست بگیرید و بخواهید تا سرویسی به شما معرفی کند که بهترین کارایی را برای دور زدن تحریم‌ها دارد. در ایران اکثر کاربران از این سرویس ها برای دور زدن فیلـ ـ ترینگ استفاده می کنند که تقریبا در همه موارد به نتیجه مطلوب دست می یابند اما دور زدن تحریم های نرم افزاری مقداری حساس تر است.

بنابراین با استفاده از سرویس های غیر رایگان قاعدتا نباید نیاز به انجام تغییرات در تنظیمات سیستم عامل و یا اندروید استودیو داشته باشید. با این حال در صورت عدم رفع مشکل، لازم است با پشتیبان سرویس تماس بگیرید.

تذکر: ممکن است بعد از تغییر آی پی لازم باشد یکبار اندروید استودیو را بسته و مجدد باز کنید. اما خوشبختانه من با این مسئله مواجه نشده ام.

اما ممکن است تمایلی به پرداخت هزینه نداشته باشید. اینجا کار کمی برای شما سخت می شود و لازم است چند دقیقه ای را صرف یافتن راه حل کنید. سرویس های رایگان و عمومی معمولا از سرعت کمتری نسبت به سرویسهای اشتراکی برخوردار هستند و ممکن است در برخی موارد به ما کمکی نکند. بخصوص در هنگام ساخت پروژه جدید در اندروید استودیو یا هنگام اضافه کردن کتابخانه به پروژه. در تست هایی که انجام دادم در اکثر موارد با استفاده از ابزار رایگان نیز لیست ابزار SDK Manager به خوبی از سرورهای گوگل دریافت می شد و امکان نصب ابزار به صورت آنلاین وجود داشت. اما در محیط پروژه و اضافه کردن کتابخانه به پروژه، در مواردی با شکست مواجه شد. کتابخانه ها از مخزن آنلاین jcenter دریافت می شوند که این سرویس بر روی آی پی ایران بسته بوده و از حساسیت بالاتری برخوردار است.

در تستی که با یکی از ابزارهای عمومی و رایگان (سایـ…ـن) انجام دادم، لازم بود بعد از فعال شدن نرم افزار و اطمینان از اینکه تغییر آی پی با موفقیت انجام شده (توسط وب سایتهای نمایش آی پی مانند ip2location.com)، در تنظیمات اندروید استودیو در قسمت HTTP Proxy، گزینه Auto-detect proxy settings را انتخاب کنم:

Auto Detect Proxy Settings

اگر مشکل رفع نشد مجدد تست کنید. مثلا اگر کتابخانه با موفقیت به پروژه اضافه نشد و ارور Unable resolve dependency for… گرفتید، یکبار دیگر Sync کنید. ممکن است در یک لحظه سرعت کاهش یابد یا ارتباط با سرور قطع شود. اگر باز هم حل نشد، نرم افزار تغییر آی پی را متوقف و مجدد اجرا کنید. یا راهنمای نرم افزار را مطالعه کنید. معمولا این ابزار یک IP و Port اختصاص می دهند که با تعریف آن در اندروید استودیو، احتمالا مشکل رفع شود. مانند تصویر زیر:

تنظیمات پروکسی در اندروید استودیو

تذکر: در استفاده از ابزار رایگان تقریبا در اکثر موارد لازم است بعد از اعمال تغییرات، یکبار کاملا از اندروید استودیو خارج شده و مجدد اجرا کنید.

بعد از تعریف پروکسی در صفحه تنظیمات، قبل از بازگشت به محیط پروژه، اندروید استودیو به شما اعلام می کند که برای استفاده گریدل از پروکسی، اطلاعات آن به فایل gradle.properties در پروژه نیز اضافه خواهد شد:

تنظیمات پروکسی در فایل gradle.properties

در صورتی که بعدا لازم شد از نرم افزار و سرویس دیگری برای تغییر آی پی استفاده کنید، حتما دو خطی که به این فایل اضافه شده را حذف کنید تا تداخل پیدا نکند. پیشنهاد من این است بلافاصله بعد از اینکه کارتان با پروکسی تمام شد، حذف را انجام دهید زیرا این موارد عموما در خلال توسعه نرم افزار فراموش می شود و ممکن است در آینده وقت زیادی را از ما بگیرد. دقت کنید خط org.gradle.jvmargs=-Xmx1536m به هیچ عنوان حذف نشود. ضمنا در صفحه HTTP Proxy نیز مجدد No Proxy را انتخاب کنید.

تاکید میکنم در استفاده از ابزار رایگان شاید مجبور باشید وقت بیشتری برای گرفتن نتیجه مطلوب بگذارید و لازم باشد گزینه های متفاوتی را تست کنید. مثلا در تعریف Proxy اگر با گزینه HTTP جواب نگرفتید، SOCKS را انتخاب کنید.

یکی از شرکت های ایرانی نیز سرویس رایگانی مخصوص توسعه دهندگان معرفی کرده که فقط وب سایتها و سرویس های مورد نیاز توسعه دهندگان (در زمینه های مختلف) را از پروکسی عبور می دهد که به سادگی و با تعریف IP و Port معرفی شده در اندروید استودیو، مشکل رفع می شود. توضیحات بیشتر در خصوص سرویس FOD شرکت Backtory در صفحه گیت هاب: کلیک کنید

بروزرسانی: شرکت امنیتی معتبر Avira یک سرویس تغییر IP معرفی کرده که نسخه رایگان آن محدودیت ۵۰۰ مگابایت در ماه را درنظر گرفته که قطعا برای سینک شدن پروژه و دریافت کتابخانه ها کفایت می کند. جهت دریافت کلیک کنید

در پایان از شما درخواست دارم تجربیات خود را در قسمت دیدگاهها با سایرین به اشتراک بگذارید.

یک دیدگاه ثبت کنید

سوالاتی که مشمول موارد زیر باشد تایید و پاسخ داده نخواهد شد :
۱ : جزء موارد پاسخ داده شده در مطلب "مشکلات و پرسش های رایج" باشد
۲ : سوال قبلا توسط افراد در دیدگاهها مطرح و پاسخ داده شده باشد
۳ : سوال خارج از مبحث آموزشی موجود در این صفحه باشد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کد امنیتی *