رفتن به محتوای اصلی
FA

خانه / وبلاگ / قابلیت‌ها

توضیح تنظیمات پورت در Clash Verge — mixed، SOCKS، HTTP و پورت API

توضیح تنظیمات پورت در Clash Verge — mixed، SOCKS، HTTP و پورت API

در تنظیمات Clash Verge یک فهرست از پورت‌ها می‌بینید: mixed، HTTP، SOCKS، redir، external controller. بیشتر کاربران هیچ‌کدام را دست نمی‌زنند — اما همین که به تداخل پورت بخورید یا بخواهید یک ابزار خط فرمان را تنظیم کنید، دانستن نقش هرکدام به کار می‌آید.

پنج پورت

فهرست1پورت Mixedیک پورت که هم HTTP و هم SOCKS5 حرف می‌زند، پیش‌فرض 7897 — همینی است که می‌خواهید2پورت HTTPفقط پروتکل پروکسی HTTP، پیش‌فرض 7890 یا غیرفعال3پورت SOCKSفقط SOCKS5، پیش‌فرض 7891 یا غیرفعال4پورت Redirبرای پروکسی شفاف، فقط روی لینوکس و مک معنا دارد5External Controllerهمان RESTful API، پیش‌فرض 9090، مورد استفادهٔ پنل‌ها و اسکریپت‌ها
وقتی پورت mixed هست، پورت‌های جداگانهٔ HTTP و SOCKS را معمولاً می‌شود خاموش کرد

پورت mixed

در ۹۹ درصد مواقع همین یکی را به کار می‌برید.

ویژگی‌اش تشخیص خودکار پروتکل است: درخواست HTTP بفرستید مثل پروکسی HTTP رفتار می‌کند؛ دست‌دادن SOCKS5 شروع کنید مثل SOCKS5. یعنی هر ابزاری هر پروتکلی بخواهد، شما همان یک شمارهٔ پورت را می‌دهید.

پورت HTTP و پورت SOCKS

میراث گذشته. پیش از آمدن پورت mixed باید جداگانه تنظیم می‌شدند. امروز عمدتاً به درد نرم‌افزارهای قدیمی می‌خورند که فقط یک پروتکل خاص را می‌شناسند.

اگر لازمشان ندارید خاموششان کنید (صفر بگذارید یا خالی رها کنید) — یک پورت باز کمتر.

پورت redir (و پورت TProxy)

برای پروکسی شفاف روی لینوکس و مک، همراه با قواعد iptables/nftables که ترافیک را منحرف می‌کنند. کاربر دسکتاپ کاری با آن ندارد؛ وقتی روتر می‌سازید مهم می‌شود.

External controller

پیش‌فرض 9090. این RESTful API هستهٔ Mihomo است و رابط خود Clash Verge هم از همین راه با هسته حرف می‌زند.

پنل‌های شخص ثالث (metacubexd، yacd) هم به همین پورت وصل می‌شوند.

هر ابزار کدام پورت را می‌خواهد

فرض کنیم پورت mixed شما 7897 است:

ابزارنحوهٔ تنظیم
پروکسی سیستم ویندوز127.0.0.1 : 7897
Chrome / Edgeاز پروکسی سیستم پیروی می‌کنند، تنظیمی لازم نیست
Firefoxتنظیمات ← Network Settings ← دستی، برای HTTP و SOCKS هر دو 7897
Gitgit config --global http.proxy http://127.0.0.1:7897
npmnpm config set proxy http://127.0.0.1:7897
pippip install --proxy http://127.0.0.1:7897 package
curlcurl -x http://127.0.0.1:7897 https://example.com
SSHProxyCommand در ~/.ssh/config (پایین‌تر)
Dockerپروکسی دیمون را تنظیم کنید، یا فقط TUN را روشن کنید

SSH از راه پروکسی

# ~/.ssh/config
Host github.com
  HostName github.com
  User git
  # ویندوز (به ncat یا connect.exe نیاز دارد)
  ProxyCommand ncat --proxy 127.0.0.1:7897 --proxy-type http %h %p
  # macOS / Linux
  # ProxyCommand nc -X connect -x 127.0.0.1:7897 %h %p

متغیرهای محیطی بیشترش را پوشش می‌دهند

بیشتر ابزارهای خط فرمان این‌ها را رعایت می‌کنند:

# macOS / Linux
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
export all_proxy=socks5://127.0.0.1:7897
export no_proxy="localhost,127.0.0.1,::1,*.local,192.168.0.0/16"
# Windows PowerShell
$env:HTTP_PROXY  = "http://127.0.0.1:7897"
$env:HTTPS_PROXY = "http://127.0.0.1:7897"
$env:NO_PROXY    = "localhost,127.0.0.1,::1,*.local"

کنار آمدن با تداخل پورت

اگر هنگام راه‌اندازی پیام «پورت در حال استفاده است» یا address already in use گرفتید، یعنی چیز دیگری زودتر آن را گرفته.

بفهمید چه چیزی

ویندوز:

netstat -ano | findstr :7897
# PID را از ستون آخر بردارید
tasklist | findstr <PID>

macOS / Linux:

lsof -i :7897
# یا
ss -tlnp | grep 7897

دو راه بیرون

حل کردنشفرایند را شناسایی کنیدبا netstat یا lsofتصمیم بگیرید لازم است یا نهغالباً یک کلاینت پروکسی دوم استیا آن را ببندید یا پورت Clash Verge را عوض کنیدیکی را انتخاب کنیدClash Verge را دوباره اجرا کنیدو بررسی کنید
مقصر معمول یا کلاینت پروکسی دوم است یا سرویس توکار یکی از برنامه‌ها

اگر پورت را عوض می‌کنید، عددی بین 1024 تا 65535 که آزاد باشد بردارید. جایگزین‌های رایج: 7898، 7899، 10808، 10809.

یک تصور غلط رایج: عوض کردن پورت سرعت نمی‌آورد

بعضی گمان می‌کنند پورت دیگر باعث دور زدن محدودیت سرعت می‌شود. نمی‌شود. پورت فقط شمارهٔ یک درِ ورودی روی دستگاه خودتان است و هیچ ربطی به سرعت شبکه ندارد.

آنچه واقعاً سرعت را تعیین می‌کند کیفیت خط گره، پهنای باند آن، و مسیر شبکه بین شما و آن است.

نسبت «اجازهٔ دسترسی از شبکهٔ محلی» با پورت‌ها

روشن کردن دسترسی LAN آدرس گوش دادن را از 127.0.0.1 به 0.0.0.0 تغییر می‌دهد:

دو آدرس گوش دادن127.0.0.1:7897فقط همین دستگاه می‌تواندامن‌ترین حالتپیش‌فرض0.0.0.0:7897هر دستگاهی روی شبکهٔ محلبه یک قاعدهٔ فایروال نیاز داردبرای اشتراک با گوشی و تلویزیون
netstat نشان می‌دهد کدام‌یک برقرار است

برای بررسی:

netstat -an | findstr 7897

0.0.0.0:7897 یعنی شبکهٔ محلی می‌رسد؛ 127.0.0.1:7897 یعنی فقط همین دستگاه.

دو دستور تشخیصی یک‌خطی

آیا پورت پروکسی واقعاً کار می‌کند؟

curl -x http://127.0.0.1:7897 -I https://www.google.com

برگشتن یک وضعیت HTTP یعنی پروکسی سالم است. Connection refused یعنی پورت بسته یا اشتباه است.

آیا API کنترل بالاست؟

curl http://127.0.0.1:9090/version

JSON با شمارهٔ نسخه یعنی هسته در حال اجراست.

این دو مخصوصاً برای جدا کردن «مشکل از کلاینت است یا از گره» مفیدند: اگر API جواب می‌دهد ولی درخواست‌های پروکسی‌شده شکست می‌خورند، مشکل از گره یا قواعد است؛ اگر API اصلاً جواب نمی‌دهد، هسته هرگز بالا نیامده.

خلاصه

  • فقط پورت mixed را به کار ببرید؛ پورت‌های جداگانهٔ HTTP و SOCKS را می‌شود خاموش کرد
  • ابزارهای خط فرمان متغیر محیطی می‌گیرند، و no_proxy را یادتان باشد
  • پورت کنترل را بیرون نگذارید، و اگر مجبورید یک secret تعیین کنید
  • پیش از عوض کردن پورت، تداخل را بررسی کنید — عوض کردن آخرین راه است

بیشتر بخوانید: اشتراک پروکسی روی شبکهٔ محلی و خواندن لاگ‌ها و صفحهٔ اتصال‌ها.