وبسایت دوره‌ها
تدریس در دوره‌ها ورود | ثبت نام
منوی سایت
دسته بندی‌

راهنمای جامع برنامه‌نویسان در زمان محدودیت‌های اینترنتی (اینترنت ملی)

فروردین 19, 1405
تعداد نظرات: 0

راهنمای جامع برنامه‌نویسان در زمان محدودیت‌های اینترنتی (اینترنت ملی)

مقدمه

برنامه‌نویسی یکی از مشاغل و مهارت‌هایی است که حیات آن به شکل عمیقی به اینترنت گره خورده است. از جستجوی ساده یک خطا در استک‌اورفلو (StackOverflow) گرفته تا دانلود پکیج‌ها، دریافت ایمیج‌های داکر و مطالعه مستندات رسمی (Documentation)، همگی نیازمند یک اتصال پایدار به اینترنت بین‌الملل هستند. اما در شرایطی که دسترسی به اینترنت بین‌الملل با اختلال مواجه شده و شبکه در حالت “اینترنت ملی” (اینترانت) قرار می‌گیرد، جریان کار توسعه‌دهندگان نباید متوقف شود. در این مقاله قصد داریم به بررسی راهکارهای عملی، سرویس‌های میرور (Mirror) ایرانی و ابزارهایی بپردازیم که به برنامه‌نویسان فرانت‌اند و بک‌اند کمک می‌کنند تا در زمان قطعی یا محدودیت شدید اینترنت، پروژه‌های خود را پیش ببرند.

راهکارهای عمومی و ابزارهای تحریم‌شکن / تغییر DNS

پیش از آنکه به سراغ ابزارهای تخصصی برویم، اولین قدم در زمان محدودیت‌ها یا تحریم‌ها، استفاده از سرویس‌های DNS ایرانی است. این سرویس‌ها ترافیک شما را از داخل کشور مسیریابی کرده و تحریم‌های سرویس‌هایی مثل گوگل، گیت‌هاب یا داکر را دور می‌زنند. برنامه نویسی در زمان قطع اینترنت - dns
  • سرویس ۴۰۳ (403.online): یکی از جامع‌ترین سرویس‌ها برای برنامه‌نویسان.
  • شکن (Shecan.ir): سرویس باسابقه برای عبور از تحریم‌های اینترنتی.
  • الکترو (Electrotm.org): مناسب برای دور زدن محدودیت‌های دانلود و تحریم.

راهکارهای ویژه برنامه‌نویسان فرانت‌اند (Frontend)

برنامه‌نویسان فرانت‌اند بیشترین وابستگی را به ریجستری‌های Node.js (مثل NPM و Yarn)، فونت‌ها و CDNهای خارجی دارند.

برنامه نویسی در زمان قطع اینترنت - فرانت اند

مدیریت پکیج‌ها (NPM / Yarn)

در زمان اختلالات، دستور npm install معمولاً با خطای تایم‌اوت مواجه می‌شود. برای حل این مشکل باید ریجستری (Registry) پیش‌فرض NPM را به میرورهای داخلی یا در دسترس تغییر دهید.

تغییر ریجستری به میرورهای ایرانی (مثل سرویس‌های ارائه شده توسط ران‌فلر یا ۴۰۳):

npm config set registry https://registry.npmjs.org/ # در صورت وجود میرور داخلی فعال (مثال از ران فلر یا سرویس مشابه): npm config set registry https://npm.runflare.com/ نکته: در صورت برگشتن شرایط به حالت عادی، با دستور npm config delete registry می‌توانید به حالت پیش‌فرض برگردید.

قطع وابستگی به CDNهای خارجی

بسیاری از سایت‌ها از لینک‌های CDN برای فراخوانی Bootstrap، Tailwind، jQuery یا فونت‌های گوگل استفاده می‌کنند. در زمان اینترنت ملی، این لینک‌ها لود نمی‌شوند و سایت شما به هم می‌ریزد.

  • راهکار: همیشه نسخه‌ی آفلاین (Local) فایل‌های CSS و JS را دانلود کرده و در پوشه پروژه (مثلاً assets/) قرار دهید.
  • فونت‌ها: به جای استفاده از Google Fonts، فونت‌ها را دانلود کرده و با فرمت woff2 در پروژه خود و از طریق @font-face فراخوانی کنید.

راهکارهای ویژه برنامه‌نویسان بک‌اند (Backend)

در سمت بک‌اند، چالش‌ها پیچیده‌تر است؛ از بیلد کردن کانتینرهای داکر گرفته تا دریافت پکیج‌های پایتون (PyPI)، PHP (Composer) و جاوا (Maven).

برنامه نویسی در زمان قطع اینترنت - بک اند

الف) داکر (Docker)

داکر یکی از اصلی‌ترین دغدغه‌هاست. برای دریافت ایمیج‌های داکر (Pull)، باید فایل تنظیمات داکر (daemon.json) را ویرایش کنید تا از میرورهای ایرانی (مثل ابرآروان یا فوکر) استفاده کند.

در مسیر /etc/docker/daemon.json (در لینوکس) کدهای زیر را اضافه کنید:

{ "registry-mirrors": [ "https://docker.arvancloud.ir", "https://registry.docker.ir" ] }

سپس داکر را ری‌استارت کنید: systemctl restart docker

ب) پایتون (PIP)

برای نصب پکیج‌های پایتون بدون قطعی، می‌توانید از آینه (Mirror) مخازن استفاده کنید.

pip install -i https://mirror-url/simple package_name

(می‌توانید به جای mirror-url از آدرس میرورهای فعال ایرانی که در زمان قطعی معرفی می‌شوند استفاده کنید).

ج) پی‌اچ‌پی (Composer)

کامپوزر نیز به شدت تحت تاثیر اختلالات است. برای تغییر ریپازیتوری کامپوزر به میرورهای جایگزین از دستور زیر استفاده کنید:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

سرویس‌های میرور (Mirror) مرجع ایرانی

در کشور پلتفرم‌های ابری مختلفی وجود دارند که در زمان‌های بحرانی به عنوان Mirror (آینه) مخازن جهانی عمل می‌کنند تا ترافیک در داخل کشور بماند و سرعت حفظ شود:

برنامه نویسی در زمان قطع اینترنت - mirror های داخلی

  1. ابر آروان (ArvanCloud): این شرکت در بخش داکر (Docker Registry) خدمات خوبی ارائه می‌دهد که می‌توان ایمیج‌های پایه را از مخازن داخلی آن‌ها با سرعت بالا دریافت کرد.
  2. ران فلر (Runflare): یک پلتفرم PaaS ایرانی است که معمولاً سرویس‌های مفیدی برای دور زدن تحریم‌ها و میرور کردن پکیج‌های NPM و Composer در اختیار توسعه‌دهندگان قرار می‌دهد.
  3. چمدون (Chamedoon) و سایر پروژه‌های اپن‌سورس داخلی: برخی سایت‌های مرجع لینوکسی ایرانی مخازن توزیع‌های لینوکس (اوبونتو، دبیان و…) را میرور می‌کنند. با تغییر فایل sources.list در لینوکس به دامنه‌های .ir (مثل مخازن دانشگاهی)، آپدیت سرورها متوقف نمی‌شود.

مستندات آفلاین؛ ناجی روزهای قطعی

بدون اینترنت، دسترسی به داکیومنت‌ها قطع می‌شود. ابزارهایی وجود دارند که مستندات را روی سیستم شما دانلود می‌کنند:

برنامه نویسی در زمان قطع اینترنت - مستندات آفلاین

  • Zeal: یک ابزار آفلاین برای لینوکس و ویندوز که داکیومنت بیش از ۲۰۰ زبان و فریم‌ورک را در خود جای می‌دهد.
  • Dash: معادل ابزار Zeal برای سیستم‌عامل مک (macOS).
  • DevDocs.io: می‌توانید در زمان وصل بودن اینترنت، داکیومنت‌های مورد نیاز خود را در این سایت نصب کنید تا در حالت آفلاین (به عنوان PWA) قابل دسترس باشند.