ریپازیتوریهای داخلی در زمان قطعی اینترنت بینالملل
در دورههایی که دسترسی به اینترنت بینالملل با اختلال یا قطعی مواجه میشود، یکی از اصلیترین چالشها برای توسعهدهندگان و برنامهنویسان، عدم دسترسی به ریپازیتوریها، پکیجمنیجرها و مخازن متنباز جهانی است. این موضوع میتواند فرآیند توسعه، استقرار و حتی نگهداری…
خلاصه تحلیلی خبر
در دورههایی که دسترسی به اینترنت بینالملل با اختلال یا قطعی مواجه میشود، یکی از اصلیترین چالشها برای توسعهدهندگان و برنامهنویسان، عدم دسترسی به ریپازیتوریها، پکیجمنیجرها و مخازن متنباز جهانی است. این موضوع میتواند فرآیند توسعه، استقرار و حتی نگهداری…
موضوعات اصلی: پشتیبانی شبکه، داخلی، https، Docker، تنظیم، Ubuntu
در دورههایی که دسترسی به اینترنت بینالملل با اختلال یا قطعی مواجه میشود، یکی از اصلیترین چالشها برای توسعهدهندگان و برنامهنویسان، عدم دسترسی به ریپازیتوریها، پکیجمنیجرها و مخازن متنباز جهانی است. این موضوع میتواند فرآیند توسعه، استقرار و حتی نگهداری پروژهها را بهطور کامل متوقف کند.
در همین راستا، طی سالهای اخیر مجموعهای ازمیرورها و مخازن داخلی (ملی)توسط شرکتها، دانشگاهها و نهادهای زیرساختی کشور راهاندازی شدهاند که میتوانند در شرایط بحرانی، نقش جایگزین قابل اتکایی برای سرویسهای بینالمللی ایفا کنند.
در ادامه، یککالکشن کاربردی از مهمترین ریپازیتوریها و ابزارهای داخلیرا معرفی میکنیم که دانستن و تنظیم آنها برای هر توسعهدهندهای ضروری است.
پکیجمنیجرها و ریپازیتوریهای برنامهنویسی
میرور داخلی برای
- Composer / Packagist
- PyPI
- npm
- Node.js
npm (JavaScript)
https://runflare.com/mirrors/npm-mirror
میرور داخلی npm برای نصب پکیجهای جاوااسکریپتی در زمان عدم دسترسی به رجیستری اصلی که توسط رانفلر ایجاد شده است.
مخزن ملی متنباز ایران (ITO)
مخزن ملی منابع متنبازکه توسط سازمان فناوری اطلاعات ایران نگهداری میشود و شامل طیف گستردهای از ریپازیتوریهاست
- توزیعهای لینوکس
- PyPI
- npm
- Gradle
- Maven
- Composer
- CentOS / Fedora / Rocky / Debian و…
این مخزنیکی از جامعترین گزینهها برای جایگزینی دسترسیهای بینالمللی است.
Jamko
https://jamko.ir
ارائهدهنده مخازن متنوع برای
- Maven
- Gradle
- Android SDK
- APT / RPM
- NuGet
- Yarn
- Composer
- pip
توزیعهای گنو/لینوکس
Shatel Mirror
https://mirror.shatel.ir
مخازن میزبانیشده روی دیتاسنتر XNET برای
- Ubuntu
- Debian
- Kali Linux
مخزن دانشگاه صنعتی اصفهان (IUT)
https://repo.iut.ac.ir
میرور جامع دانشگاه صنعتی اصفهان شامل
- Debian, Ubuntu, Mint
- Arch Linux, Manjaro
- Raspbian, Alpine
- Rocky Linux, Fedora
- OpenSUSE, OpenBSD
- مخازن CTAN
XNET
مخازن لینوکس
https://www.arvancloud.ir/dev/linux-repository
میرور داخلی برای بسیاری از توزیعهای گنو/لینوکس از جمله
Debian, Ubuntu, CentOS, Alpine, Arch Linux, OpenSUSE, Manjaro و…
ArvanCloud Library CDN
https://lib.arvancloud.ir
CDN داخلی برای کتابخانهها و فریمورکهای رایج فرانتاند و جاوااسکریپت.
IranServer
https://mirror.iranserver.com
میرورهای داخلی برای
- Debian
- Ubuntu
- CentOS
MobinHost Mirrors
https://mirror.mobinhost.com
شامل میرورهای
FreeBSD, AlmaLinux, Alpine, Arch Linux, Debian, Fedora, EPEL, Manjaro, MariaDB, MongoDB, Raspbian, Ubuntu, Zabbix
Debian Archive (داخلی)
http://archive.debian.petiak.ir/debian
آرشیو داخلی Debian برای دسترسی به نسخههای قدیمیتر بستهها.
داکر و کانتینر
XNET
https://www.arvancloud.ir/fa/dev/docker
میرور داخلی برای Docker Hub و ایمیجهای پرکاربرد.
MobinHost Docker Registry
https://docker.mobinhost.com
رجیستری داخلی داکر برای دریافت ایمیجها بدون نیاز به اینترنت بینالملل.
HamDocker
https://hub.hamdocker.ir
داکر رجیستری داخلی برای ایمیجهای پرکاربرد.
Kernel Docker Registry
https://docker.kernel.ir
رجیستری داخلی دیگر برای استفاده در سناریوهای سازمانی و زیرساختی.
نمونه تنظیم کانفیگ برای استفاده از ریپازیتوریهای داخلی
در این بخش، نمونههای ساده و کاربردی برای تنظیم رایجترین ابزارها ارائه شده است تا بتوانید در زمان قطعی اینترنت بینالملل، بهسرعت سوییچ کنید.
APT (Ubuntu / Debian)
ویرایش فایل سورسها
sudo nano /etc/apt/sources.listنمونه تنظیم با میرور داخلی
deb https://mirror.shatel.ir/ubuntu jammy main restricted universe multiverse deb https://repo.iut.ac.ir/ubuntu jammy-updates main restricted universe multiverseسپس
sudo apt updatepip (Python)
ایجاد یا ویرایش فایل تنظیمات
~/.pip/pip.confنمونه تنظیم با میرور داخلی PyPI
[global] index-url = https://runflare.com/mirrors/pypi/simple trusted-host = runflare.comnpm (Node.js)
تنظیم رجیستری npm
npm config set registry https://runflare.com/mirrors/npm-mirrorبررسی تنظیم
npm config get registryDocker
ویرایش فایل daemon.json
sudo nano /etc/docker/daemon.jsonنمونه تنظیم رجیستری میرور
{ "registry-mirrors": [ "https://docker.mobinhost.com", "https://hub.hamdocker.ir", "https://docker.kernel.ir" ] }سپس ریاستارت Docker
sudo systemctl restart dockerMaven (Java / Android)
ویرایش فایل settings.xml
~/.m2/settings.xmlنمونه میرور داخلی
myket-mirror * https://maven.myket.ir نکات عملیاتی
- در تیمهای حرفهای، این تنظیمات را بهصورتTemplateمستند کنید.
- برای شرایط بحرانی، اسکریپت سوییچ بین میرور داخلی و خارجی داشته باشید.
- در CI/CD (GitLab CI, GitHub Actions داخلی، Jenkins) از این میرورها استفاده کنید.
جمعبندی
آمادهسازی زیرساخت توسعه برای شرایط قطعی اینترنت بینالملل، بخشی از مدیریت ریسک فنی است. استفاده آگاهانه از ریپازیتوریهای داخلی، میتواند توسعه نرمافزار را حتی در سختترین شرایط، پایدار نگه دارد.
این راهنما میتواند نقطه شروعی برای استانداردسازی دسترسی تیمهای فنی به منابع متنباز در داخل کشور باشد.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.