پورت ترکیبی، دری روی دستگاه خودتان

کلاینت به‌محض اجرا روی یک پورت محلی گوش می‌دهد که پیش‌فرض رایج آن 7890 است. mixed-port یعنی همان یک پورت هم ترافیک HTTP و هم SOCKS5 را می‌پذیرد و خودش تشخیص می‌دهد کدام است. پیکربندی‌های قدیمی با port و socks-port جدا هنوز کار می‌کنند؛ پورت ترکیبی فقط یک عدد کمتر است.

mixed-port: 7890
allow-lan: false

در باز یعنی ترافیک نیست. برنامه باید عمداً درخواستش را به آن نشانی بفرستد. دو دستور زیر نشان می‌دهند پورت گوش می‌دهد یا نه و آیا به بیرون می‌رسد؛ در macOS از lsof -i :7890 و در لینوکس از ss -tlnp استفاده کنید. پاسخ 204 یعنی زنجیره پورت تا گره سالم است.

netstat -ano | findstr 7890
curl -x http://127.0.0.1:7890 https://www.gstatic.com/generate_204 -I
پیشنهاد همکاریلینک اشتراک را از کجا بیاوریم؟سرویس همکار ما هنگام ثبت‌نام ۱ گیگابایت ترافیک پرسرعت هنگ‌کنگ رایگان می‌دهد.دریافت سرور پرسرعت

پروکسی سیستم فقط یادداشتی برای سیستم‌عامل است

این سوئیچ کمتر از تصور کار می‌کند: نشانی 127.0.0.1:7890 را در تنظیمات پروکسی سیستم‌عامل می‌نویسد و تمام. ویندوز این مقدار را در Settings و Network and Internet و Proxy نشان می‌دهد و macOS در System Settings و Network و Details و Proxies. خاموش کردن سوئیچ همان سطر را پاک می‌کند.

  • مرورگرها آن را می‌خوانند و برنامه‌های Electron هم پشت سر Chromium، پس همین دو گروه زودتر راه می‌افتند.
  • ابزارهای خط فرمان معمولاً آن را نادیده می‌گیرند و فقط http_proxy و https_proxy را می‌شناسند.
  • UDP از دسترس آن بیرون است. بازی‌ها، تماس صوتی و بخش بلادرنگ برخی پیام‌رسان‌ها مستقیم می‌روند.

TUN یک کارت شبکه مجازی در سیستم می‌کارد

TUN از برنامه‌ها همکاری نمی‌خواهد. هسته یک کارت مجازی می‌سازد و جدول مسیریابی را طوری تغییر می‌دهد که خروجی پیش‌فرض به آن برسد. تمام بسته‌های خروجی دستگاه، از جمله UDP، وارد موتور قواعد می‌شوند، چه برنامه پروکسی را بشناسد چه نشناسد.

tun:
  enable: true
  stack: mixed
  auto-route: true
  dns-hijack:
    - any:53

stack معمولاً system، gvisor یا mixed است و وقتی برنامه‌ای زیر TUN بد رفتار می‌کند، عوض کردنش ارزان‌ترین آزمایش است. auto-route همان مرحله تغییر مسیریابی است: با خاموش بودنش کارت هست ولی چیزی از آن رد نمی‌شود. هزینه‌اش دسترسی است؛ ویندوز سرویس پس‌زمینه نصب می‌کند و macOS بار اول رمز مدیر می‌خواهد.

هر سه کنار هم

  • دامنه: پورت فقط به برنامه‌هایی خدمت می‌دهد که سراغش بیایند، پروکسی سیستم لایه برنامه‌های حرف‌شنو را اضافه می‌کند و TUN کل دستگاه را می‌گیرد.
  • UDP: تنها TUN مطمئن است. SOCKS5 بازپخش UDP دارد اما هر برنامه باید خودش پیاده‌سازی کند و کمتر کسی کرده است.
  • دسترسی: دو مورد اول با کاربر عادی کار می‌کنند؛ TUN مدیر یا سرویس می‌خواهد و روی لپ‌تاپ سازمانی اغلب خاکستری است.
  • باقی‌مانده: پورت با فرایند می‌میرد، اما پروکسی سیستم تنظیمی ماندگار است که از بستن اجباری جان به در می‌برد، و کارت مجازی و مسیرهایش هم همین‌طور.
  • شبکه محلی: allow-lan: true به گوشی و باکس تلویزیون در همان زیرشبکه اجازه می‌دهد از پورت 7890 استفاده کنند. فقط پورت، بی‌ارتباط با TUN.
اگر بعد از بستن کلاینت کل دستگاه بی‌اینترنت شد، نشانی پروکسی هنوز در تنظیمات سیستم مانده در حالی که کسی روی آن پورت گوش نمی‌دهد. کلاینت را از آیکون سینی ببندید نه با kill فرایند؛ و اگر پیش آمد، سوئیچ پروکسی سیستم را دستی خاموش کنید.