«کند است»، «سهمیهٔ ترافیکم ناپدید شد» و «کلاینت حافظهٔ زیادی میخورد» — پاسخ هر سه در صفحهٔ اتصالها زندگی میکند.
شش ستون
| ستون | معنی | ارزش تشخیصی |
|---|---|---|
| Host | دامنه یا IP مقصد | نشان میدهد به چه چیزی دسترسی گرفته میشود |
| Rule | قاعدهای که تطبیق خورده | میگوید مسیریابی درست است یا نه |
| Chain | زنجیرهٔ سیاستی که در نهایت به کار رفته | تأیید میکند کدام گره برداشته شده |
| Process | برنامهای که اتصال را باز کرده | نشان میدهد چه کسی به شبکه رفته |
| DL / UL | ترافیک انباشتهٔ این اتصال | مصرفکنندههای سنگین را پیدا میکند |
| Time | چه مدت اتصال باز بوده | اتصالهای طولانی را نشان میدهد |
ستون Chain مسیر کامل را نشان میدهد، مثلاً 🚀 انتخاب ← ♻️ خودکار ← HK-01، از چپ به راست بر پایهٔ تودرتویی گروههای سیاست، و خروجی واقعی سمت راست.
حالت ۱: چه چیزی ترافیکم را میخورد
بر اساس ستون DL نزولی مرتب کنید و ده تای بالا را ببینید.
بعد از پیدا کردنش دو راه دارید:
مستقیمش کنید (پیشنهادی، تا از طرحتان خرج نکند):
prepend-rules:
- PROCESS-NAME,OneDrive.exe,DIRECT
- PROCESS-NAME,SteamService.exe,DIRECT
- DOMAIN-SUFFIX,windowsupdate.com,DIRECTکاملاً مسدودش کنید:
prepend-rules:
- DOMAIN-SUFFIX,یک-دامنهٔ-تلهمتری,REJECTقواعد فرایندی به find-process-mode: strict نیاز دارند؛ توضیح قواعد فرایندی را ببینید.
حالت ۲: تعداد اتصال منفجر میشود
مرور معمولی در حد چند ده است. اگر صدها یا هزاران دیدید و رو به بالا بود:
علتهای رایج:
| چه میبینید | علت |
|---|---|
| یک دامنه مدام پیدا میشود و سریع ناپدید میشود | اتصالهای ناموفق دوباره تلاش میکنند. ببینید گرهای که آن قاعده به آن اشاره میکند قابل استفاده هست یا نه |
| اتصالهای زیاد به یک بازهٔ IP | یک برنامهٔ P2P (بیتتورنت یا شتاب P2P یک فضای ابری) |
| شمارنده آرام بالا میرود و پایین نمیآید | نشت اتصال، یا برنامهای با اتصالهای ماندگار (اعلان فوری، WebSocket) |
| همه از یک فرایند | آن برنامه مشکل دارد، یا ذاتاً همروندی بالایی دارد |
حالت ۳: گذردهی بالا نمیرود
اول مشخص کنید گلوگاه در کدام لایه است:
مشکل از گره است؟
یک فایل بزرگ را از سه گره در سه منطقه دانلود کنید و مقایسه کنید.
- همه کند ← شبکهٔ محلی یا پیکربندی کلاینت
- فقط یکی کند ← مشکل آن خط است، گره را عوض کنید
- روز سریع شب کند ← خط در ساعت اوج شلوغ میشود، نشانهٔ خط ارزان مشترک
گلوگاه کلاینت است؟
مصرف پردازنده را ببینید. اگر هنگام دانلود فرایند Clash به اشباع یک هسته نزدیک میشود:
نشانهٔ عجیبی که MTU میسازد
فایلهای کوچک درست، دانلودهای بزرگ وسط کار گیر میکنند.
این از دست رفتن تکهها بهخاطر MTU بزرگ است. tun.mtu را از ۱۵۰۰ به ۱۴۰۰ پایین بیاورید و امتحان کنید.
پایش پیوسته از راه API
صفحهٔ اتصالها فقط لحظهٔ حال را نشان میدهد. برای مشاهدهٔ پیوسته سراغ API بروید.
گذردهی زنده
نقطهٔ پایانی /traffic یک WebSocket است که ثانیهای یک بار میفرستد:
{"up": 12345, "down": 678901}واحدها بایت بر ثانیهاند.
websocat "ws://127.0.0.1:9090/traffic?token=secret-شما"عکسهای دورهای از تعداد اتصال
#!/bin/bash
# conn-watch.sh
API="http://127.0.0.1:9090"
SECRET="secret-شما"
while true; do
N=$(curl -s -H "Authorization: Bearer $SECRET" "$API/connections" | jq '.connections | length')
echo "$(date '+%F %T') اتصالها=$N"
[ "$N" -gt 500 ] && echo " ⚠ تعداد اتصال غیرعادی به نظر میرسد"
sleep 30
doneده تای برتر بر پایهٔ ترافیک
curl -s -H "Authorization: Bearer $SECRET" http://127.0.0.1:9090/connections \
| jq -r '.connections
| sort_by(-.download)
| .[:10][]
| "\(.download/1048576 | floor)MB\t\(.metadata.host // .metadata.destinationIP)\t\(.metadata.processPath // "-")"'ترافیک بهازای گروه سیاست
curl -s -H "Authorization: Bearer $SECRET" http://127.0.0.1:9090/connections \
| jq -r '.connections
| group_by(.chains[-1])
| map({node: .[0].chains[-1], mb: ([.[].download] | add / 1048576 | floor)})
| sort_by(-.mb)[]
| "\(.mb)MB\t\(.node)"'نشان میدهد کدام گره بیشترین ترافیک را حمل میکند و بار متوازن هست یا نه.
بررسی مصرف حافظه
حافظهٔ Clash Verge به سه جا میرود:
راهحلهای متناظر:
- رابط بیشترین سهم را دارد ← «auto enter lite mode» را روشن کنید تا وقتی نگاهش نمیکنید WebView آزاد شود
- مجموعهقواعد بیشترین سهم را دارند ← کمشان کنید یا به قالب mrs بروید
- اتصالها بیشترین سهم را دارند ← دورهای اتصالها را پاک کنید و دنبال نشت بگردید
نکتهای که راحت از قلم میافتد: آمار برابر با صورتحساب نیست
ترافیکی که کلاینت نشان میدهد و مصرفی که در پنل ارائهدهنده هست اغلب نمیخوانند، چون:
خلاصه
- ترافیک غیرمنتظره ← بر اساس DL مرتب کنید و ستون Process را بخوانید
- انفجار تعداد اتصال ← فهرست را پاک کنید و ببینید چه چیزی فوری برمیگردد
- گذردهی بالا نمیرود ← لایهها را طی کنید: محلی ← گره ← پروتکل ← کلاینت ← پردازنده
- حافظهٔ بالا ← حالت سبک بهعلاوهٔ مجموعهقواعد کمشده
- پیوسته از راه API بپایید؛
/connectionsو/trafficتمام آن چیزی است که لازم دارید - به عدد ترافیک ارائهدهنده اعتماد کنید؛ عدد کلاینت فقط مرجع است
بیشتر بخوانید: راهنمای API کنترل و توضیح قواعد فرایندی.
مستندات مرتبط
fake-ip واقعاً چطور کار میکند، چه فرقی با redir-host دارد، تقسیم کار میان nameserver و fallback، چطور جلوی نشت DNS را بگیریم، و چرا نامهای داخلی از حل شدن بازمیمانند.
حالت TUN از دید یک بسته چه میکند: ساختن کارت مجازی، بازنویسی جدول مسیریابی، ربودن پورت ۵۳، و انتخاب میان پشتههای gvisor و system و mixed.
چه چیزی ترافیک بازی را متفاوت میکند: چرا UDP به TUN نیاز دارد، نوع NAT واقعاً یعنی چه، چرا از دست رفتن بسته از تأخیر بدتر است، و فهرستی از تنظیمها با هدف تأخیر کم.