01

هر پورت برای چیست

پورت ترکیبی هم HTTP و هم SOCKS5 را روی یک شنونده می‌پذیرد و برای تقریباً همه، تنها پورتی است که اهمیت دارد. پورت کنترل خارجی رابط مدیریتی هسته است: رابط برنامه، داشبوردها و ابزارهای جانبی از همان وضعیت را می‌خوانند و گره را عوض می‌کنند. مقدارهای پیش‌فرض بین نسخه‌ها تغییر کرده‌اند؛ در نسخه‌های فعلی ۷۸۹۷ و ۹۰۹۷ و در نسخه‌های قدیمی‌تر ۷۸۹۰ و ۹۰۹۰. پیکربندی منتقل‌شده از نصب قدیمی ممکن است هنوز مقدار قدیمی داشته باشد.

اگر در پیکربندی port یا socks-port جداگانه تعریف شده باشد، آن‌ها هم در کنار پورت ترکیبی گوش می‌دهند. معمولاً دلیلی برای نگه‌داشتنشان نیست؛ هر شنونده اضافی یعنی سطح در معرض بیشتر.

به رابط برنامه اعتماد کنید نه به آموزش
پیش از کپی‌کردن هر عددی از هر راهنمایی، از جمله همین صفحه، پورتی را که برنامه نشان می‌دهد ببینید.

پیشنهاد همکاریلینک اشتراک را از کجا بیاوریم؟سرویس همکار ما هنگام ثبت‌نام ۱ گیگابایت ترافیک پرسرعت هنگ‌کنگ رایگان می‌دهد.دریافت سرور پرسرعت
02

ترتیب درست تغییر پورت

  1. 1

    اول در خود برنامه

    پورت ترکیبی را در تنظیمات Clash تغییر دهید و ذخیره کنید. پراکسی سیستم خودکار به‌روز می‌شود و لازم نیست تنظیمات پراکسی ویندوز یا macOS را دستی عوض کنید.

  2. 2

    بعد جاهایی که دستی تنظیم شده‌اند

    معمولاً چهار جا: git config --global http.proxy، تنظیم proxy در npm، متغیر http_proxy در پروفایل پوسته، و افزونه تعویض پراکسی مرورگر. هیچ‌کدام خودشان به‌روز نمی‌شوند.

  3. 3

    لایه‌به‌لایه بررسی کنید

    باز شدن صفحه در مرورگر یعنی پراکسی سیستم درست است. خط فرمان را جداگانه با curl آزمایش کنید. اگر فقط بعضی برنامه‌ها کار نمی‌کنند، هنوز جایی پورت قدیمی نوشته شده است.

03

وقتی پورت اشغال است

در ویندوز با netstat -ano و فیلتر شماره پورت شناسه فرایند را پیدا کنید و بعد با tasklist ببینید کدام برنامه است. در macOS و لینوکس دستور lsof -i با شماره پورت همین کار را یک‌جا انجام می‌دهد.

یک حالت پنهان‌تر هم هست: هیچ برنامه‌ای پورت را نگرفته اما باز هم نمی‌شود به آن متصل شد. Hyper-V و WSL هنگام راه‌اندازی بازه‌های بزرگی از پورت‌های پویا را رزرو می‌کنند و هیچ‌چیز نمی‌تواند داخل آن بازه‌ها گوش بدهد. با netsh interface ipv4 show excludedportrange protocol=tcp فهرست بازه‌های رزروشده را ببینید؛ اگر پورت شما داخل یکی از آن‌هاست، ساده‌ترین راه انتخاب پورتی بیرون از آن بازه است.

  • پورتی بالای ۱۰۲۴ و دور از سرویس‌های شناخته‌شده انتخاب کنید
  • برای اشتراک با دستگاه‌های دیگر باید اجازه شبکه محلی را هم روشن کنید، تغییر پورت کافی نیست
  • بعد از تغییر، مرورگر را دوباره بارگذاری کنید تا از اتصال‌های قدیمی استفاده نکند
04

پرسش‌های رایج

می‌گوید نشانی اشغال است ولی netstat چیزی نشان نمی‌دهد.

یا پورت داخل بازه رزروشده ویندوز است، یا فرایند هسته قبلی درست بسته نشده. اول در Task Manager فرایند هسته باقی‌مانده را بررسی کنید و بعد سراغ بازه‌های رزروشده بروید.

می‌شود پورت کنترل خارجی را غیرفعال کرد؟

توصیه نمی‌شود. داشبورد، تعویض گره و فهرست اتصال‌ها به آن وابسته‌اند. اگر نگران دسترسی از بیرون هستید، آن را روی 127.0.0.1 نگه دارید و به 0.0.0.0 متصل نکنید.