ویرگول
ورودثبت نام
navid rezadoost
navid rezadoost
navid rezadoost
navid rezadoost
خواندن ۲ دقیقه·۱۸ روز پیش

ساخت پروکسی برای VsCode و ابزار های توسعه

سلام

داستان از این قراره: می‌خوام پروژه رو روی لوکال‌هاست بالا بیارم تا پروداکت، طراح یا تیم QA بتونن ببینن → باید VPN خاموش باشه می‌خوام یه اکستنشن جدید برای VSCode نصب کنم یا git push/pull کنم → باید VPN روشن باشه

نتیجه؟ هر ۵ دقیقه یه بار VPN رو خاموش و روشن می‌کردم و کم‌کم داشتم دیوونه می‌شدم!

فقط VSCode و ابزارهای توسعه‌ات از VPN استفاده کنند — بقیه سیستم با آی‌پی واقعی بماند!

راه‌حل من: یک Network Namespace کاملاً ایزوله + پروکسی SOCKS5 فقط برای ابزارهای توسعه

با استفاده از قابلیت Network Namespace لینوکس (و WSL2 در ویندوز) یک محیط شبکه کاملاً جدا ساختم که:

  • فقط VSCode و ابزارهای دلخواهم (git، npm، docker، مرورگر و …) از داخلش به اینترنت وصل بشن

  • تمام ترافیک‌شون از طریق VPN (OpenVPN) بره

  • بقیه سیستم (مرورگر معمولی، دیسکورد، بانک، لوکال‌هاست و …) همچنان با آی‌پی واقعی و بدون هیچ تغییری کار کنه

دیگه لازم نیست هیچ‌وقت VPN سیستم رو خاموش/روشن کنید!

ریپازیتوری آماده و کاملاً اوپن‌سورس

https://github.com/navidrezadoost/dev-socks-isolation

پشتیبانی کامل از:

  • تمام توزیع‌های معروف لینوکس (اوبونتو، آرچ، فدورا، مانجارو، کالی، پاپ! اواس، زورین و …

  • ویندوز (از طریق WSL2 — ایزولیشن کامل)

  • مک‌اواس (با محدودیت، اما کاملاً کار می‌کنه)

چطور استفاده کنیم؟ (کمتر از ۲ دقیقه)

‍‍

git clone https://github.com/navidrezadoost/dev-socks-isolation.git cd vscode-socks5-vpn-namespace/linux/Ubuntu # یا توزیع خودت sudo ./connect.sh

اسکریپت به صورت تعاملی همه‌چیز رو می‌پرسه:

  • مسیر فایل .ovpn شما

  • اسم namespace

  • پورت پروکسی

  • و در نهایت خودش بسته‌های لازم رو نصب می‌کنه، VPN رو تو namespace وصل می‌کنه، SOCKS5 راه می‌ندازه و حتی می‌تونه VSCode رو با پروکسی درست باز کنه!

بعد از اتصال موفق، آدرس پروکسی چیزی شبیه این می‌شه:

socks5://10.200.200.2:1081

حالا فقط کافیه توی VSCode این کار رو بکنید:

code --proxy-server="socks5://10.200.200.2:1081"

یا برای استفاده دائمی یک alias یا desktop shortcut بسازید. ### تنظیم سایر ابزارها هم خیلی ساده‌ست (توضیح کامل توی ریدمی هست) - Git → git config --global http.proxy socks5://10.200.200.2:1081 - JetBrains IDEها (IntelliJ, PyCharm, WebStorm …) - مرورگر فایرفاکس یا کروم (با افزونه Proxy Switcher) - Docker, curl, wget, npm, yarn, ssh و … ### قطع اتصال هم یه خطه ```bash sudo ./disconnect.sh

همه‌چیز تمیز پاک می‌شه، نه namespace می‌مونه نه iptables rule اضافه.

چرا این پروژه رو اوپن‌سورس کردم؟

چون می‌دونم خیلی از بچه‌های ایران، ترکیه، روسیه و حتی شرکت‌هایی که شبکه‌شون محدوده با همین مشکل دست‌وپنجه نرم می‌کنن. این ابزار الان روی بیشتر از ۱۵ توزیع لینوکس تست شده و هر روز داره استفاده‌کننده‌هاش بیشتر می‌شه.

اگر شما هم خسته شدید از خاموش/روشن کردن مداوم VPN، همین الان امتحانش کنید →

https://github.com/navidrezadoost/dev-socks-isolation.git

ستاره یادتون نره! هر سوالی هم داشتید توی Issues یا Discussions گیت‌هاب بپرسید، سریع جواب می‌دم.

امیدوارم یه روز برسه دیگه نیاز به این مسخره بازیا نداشته باشیم!

gitvpnvscode
۰
۰
navid rezadoost
navid rezadoost
شاید از این پست‌ها خوشتان بیاید