اگه توی ایران برنامهنویسی میکنی، احتمالاً این سناریوها برات کاملاً آشناست:
دانلود یه Docker image ساده که انگار قرار نیست تموم بشه
خطاهای SSL و تایمآوت موقع نصب پکیج با pip یا npm
سایتها و ریپازیتوریهایی که به خاطر DNS اصلاً باز نمیشن
خبر خوب اینه که این مشکلات تقصیر تو نیست. اینترنت ایران شرایط خاص خودش رو داره و اگه بدون راهکار جلو بری، هم وقتت میره هم اعصابت.
این مقاله دقیقاً برای همینه؛ اینکه بتونی با دردسر کمتر، کارتو راه بندازی.
این یه لیست خشک و تئوری نیست. قراره چیزایی رو ببینی که واقعاً به کارت میان:
پکیجها و ابزارها رو با سرعت قابل قبول دانلود کنی
اتصال پایدارتر داشته باشی
کمتر با ارورهای عجیبوغریب کلنجار بری
هم تئوری رو میگیم، هم راهاندازی عملی رو، هم تجربههای واقعی.
چیزایی که در بستر اینترنت ایران جواب پس دادن.
و در آخر مقاله هم سایتی که مجموعه مخازن داخلی رو براتون گردآوری کردم رو قرار دادم.
.P.S اگه حوصله نداری تا آخرش بخونی روی همین لینک بزن میره داخل.
برنامهنویسهای داخل ایران
تیمهای DevOps و SRE
کسایی که با داکر کار میکنن
توسعهدهندههای پایتونی و نودی
و هر کسی که اینترنت ایران جلو کارش سنگ میاندازه 😅
اگه حداقل چند ماه توی این حوزه کار کرده باشی، اینا برات آشناست:
ایمیجهای داکر یا دانلود نمیشن یا وسطش میپرن
ریت لیمیت خوردن از داکرهاب
pip و npm که وسط نصب قطع میشن
DNSهای کند و ناپایدار ISPها
راهحل جادویی نداریم، ولی با منابع داخلی میشه اوضاع رو خیلی بهتر کرد.
DNS فقط تبدیل اسم سایت به IP نیست. یه DNS درستودرمون میتونه:
تاخیر اتصال رو کمتر کنه
بعضی محدودیتهای ISP رو دور بزنه
دسترسی به سایتها رو پایدارتر کنه
نکته مهم:
هیچ DNSای برای همه بهترین نیست.
باید چندتا رو تست کنی ببینی کدوم با اینترنتت حال میکنه.
یه لیست از DNSهایی که خودم تست کردم رو براتون داخل سایت گذاشتم که با خیال راحت استفاده کنید.
داکر یکی از بیشترین ضربهها رو از اینترنت ایران میخوره:
- ایمیجها دانلود نمیشن
- وسط دانلود ریت لیمیت میخورن
- تایمآوت پشت تایمآوت
راه نجات: Registry Mirror داخلی
بهجای اینکه مستقیم به داکرهاب خارجی وصل بشی، ایمیجها از سرورهای داخل ایران دانلود میشن.
نتیجه؟ سرعت بیشتر، قطع و وصلی کمتر، اعصاب آرومتر 😄
تنظیمش چطوریه؟
فایل زیر رو ویرایش کن:
/etc/docker/daemon.json
{
"registry-mirrors": ["https://mirror.example.ir"]
}
بعدش داکر رو ریاستارت کن و تفاوت رو ببین.
نصب پکیجهای Python با pip توی ایران معمولاً این شکلیه:
یا خیلی کنده
یا SSL Error میده
یا وسط نصب قطع میشه
راهحل ساده: میرور داخلی
pip config set global.index-url https://mirror.example.ir/pypi/simple
با همین یه خط، نصب پکیجها خیلی روونتر میشه.
npm شدیداً به کیفیت اینترنت حساسه و توی ایران معمولاً:
خیلی کنده
ارور تایمآوت میده
یا نصفهنیمه نصب میکنه
راهحل: بازهم میرور داخلی
npm config set registry https://registry.example.ir/
بعد از این، تفاوت سرعت کاملاً حس میشه.
برای اینکه مجبور نباشی هی سرچ کنی و تست کنی، یه گردآوری کردم و یه سایت اطلاع رسانی کوچولو راهاندازی کردم که:
همه میرورها و رجیستریهای ایرانی رو یکجا میبینی
میتونی سرعتشون رو تست کنی
تنظیمات آماده رو کپی کنی
از میرورهای جدید باخبر بشی
این سرویس مرتب بهروزرسانی میشه تا همیشه بهترین گزینهها دم دستت باشه.
🥈 وقتش رسیده که بری به سایت یه سر بزنی : https://0xv.ir/dev 👉
این مقاله و سرویسی که معرفی شد، قراره با کمک خود شما بهتر بشه.
شرایط اینترنت ایران برای هر ISP، شهر و حتی هر ساعت روز فرق میکنه، برای همین تجربه شما خیلی مهمه.
اگه از DNS یا میرور خاصی استفاده کردید:
سرعتش چطور بوده؟
پایداریش راضیکننده بوده یا نه؟
روی Docker، pip یا npm چه نتیجهای گرفتید؟
حتماً تجربهتون رو توی بخش نظرات بنویسید. بازخوردهای شما مستقیماً روی بهبود این راهنما و سرویس تأثیر میذاره.
اگه:
که توی لیست ما نیست و براتون خوب جواب داده، حتماً در بخش نظرسنجی معرفیش کنید.
هدف اینه که با کمک هم، این بستر رو گسترش بدیم و یه مرجع واقعاً کاربردی برای توسعهدهندههای ایرانی بسازیم.
با هم میتونیم کاری کنیم که کدنویسی توی ایران، حداقل از این جهت، آسودهتر باشه 💪
این لیست به صورت زنده در حال تکمیل شدنه و پیشنهادهای مفید شما بعد از بررسی بهش اضافه میشن.
DNS یا میرور داخلی همیشه برای همه ISPها بهترین جواب رو نمیده.
حتماً قبل از استفاده توی محیط پروداکشن یه تست کوچیک بگیر.
با وضعیت فعلی اینترنت ایران، استفاده از DNS و میرورهای داخلی میتونه تجربه کدنویسی رو خیلی بهتر کنه.
کمتر منتظر دانلود میمونی، کمتر حرص میخوری و بیشتر روی کدت تمرکز میکنی.
این راهکارها حاصل تجربه واقعی برنامهنویسهای ایرانه و مدام با بازخوردها بهتر میشن.