عبور دادن WSL2 و Docker از پروکسی
WSL2 و کانتینرهای Docker در شبکههای جداگانه خودشان زندگی میکنند و اصلاً خبر ندارند روی میزبان پروکسی روشن است؛ به همین دلیل apt و pip و docker pull همچنان تایماوت میخورند. یا باید آدرس پروکسی را صریح به آنها بگویید، یا با حالت TUN همهچیز را یکجا بگیرید.
راه اول: حالت TUN (سادهترین)
- حالت TUN را در Clash Verge روشن کنید؛ روش تنظیم در راهنمای حالت TUN آمده.
- «اتصال شبکه محلی» را هم روشن کنید، وگرنه ترافیک کانتینرها و WSL گرفته نمیشود.
- داخل WSL دستور curl -I https://www.google.com را اجرا کنید تا مطمئن شوید مسیر برقرار است.
راه دوم: معرفی دستی آدرس پروکسی
- در تنظیمات Clash Verge «اتصال شبکه محلی» را روشن کنید تا پورت ترکیبی اتصال بیرونی بپذیرد، ببینید اشتراک پروکسی در شبکه محلی.
- آدرس میزبان را از داخل WSL2 پیدا کنید: خط nameserver در خروجی cat /etc/resolv.conf. اگر حالت شبکه آینهای فعال است، مستقیم از 127.0.0.1 استفاده کنید.
- در انتهای ~/.bashrc خطهای export http_proxy=http://آدرسمیزبان:7897 و export https_proxy=$http_proxy را اضافه و سپس source ~/.bashrc را اجرا کنید.
- Docker تصاویر را با سرویس پسزمینه میگیرد نه با پوسته شما، پس متغیرهای محیطی روی آن اثری ندارند. در Docker Desktop همان آدرس را در Settings → Resources → Proxies وارد کنید.