01

За что отвечает каждый порт

Смешанный порт принимает HTTP и SOCKS5 на одном слушателе, и почти всем достаточно только его. Порт внешнего управления — это API ядра: через него интерфейс клиента, панели и сторонние утилиты читают состояние и переключают узлы. Значения по умолчанию менялись между версиями: на текущих сборках это 7897 и 9097, на старых — 7890 и 9090, поэтому перенесённая конфигурация может сохранять старые номера.

Если в конфигурации отдельно заданы port или socks-port, они слушают вместе со смешанным портом. Держать их обычно незачем: каждый лишний слушатель — лишняя поверхность.

Смотрите на интерфейс, а не на инструкцию
Прежде чем копировать номер из любого руководства, включая это, проверьте порт, который показывает сам клиент.

Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы
02

Правильный порядок смены порта

  1. 1

    Сначала в клиенте

    Измените смешанный порт в настройках Clash и сохраните. Системный прокси обновится автоматически, руками трогать настройки Windows или macOS не нужно.

  2. 2

    Потом всё, что настраивалось вручную

    Обычно это четыре места: git config --global http.proxy, настройка proxy в npm, переменная http_proxy в профиле оболочки и расширение-переключатель прокси в браузере. Ни одно из них не обновится само.

  3. 3

    Проверяйте слой за слоем

    Открывшаяся страница в браузере подтверждает системный прокси. Командную строку проверьте отдельно через curl. Если не работает лишь часть приложений, значит старый порт где-то ещё записан.

03

Что делать, если порт занят

В Windows найдите PID через netstat -ano с фильтром по номеру порта, затем определите программу через tasklist. В macOS и Linux то же самое делает одна команда lsof -i с номером порта.

Есть и менее очевидный случай: порт никем не занят, но привязаться к нему всё равно нельзя. Hyper-V и WSL при старте резервируют большие диапазоны динамических портов, и внутри них ничего слушать нельзя. Команда netsh interface ipv4 show excludedportrange protocol=tcp покажет зарезервированные диапазоны. Если ваш порт попал внутрь, проще всего выбрать порт за их пределами.

  • Берите номер выше 1024 и подальше от известных служб
  • Для доступа с других устройств нужен ещё и переключатель разрешения локальной сети
  • После смены перезагрузите страницу в браузере, чтобы он не переиспользовал старые соединения
04

Частые вопросы

Пишет, что адрес уже используется, а netstat ничего не показывает.

Либо порт попал в исключённый диапазон Windows, либо предыдущий процесс ядра не завершился. Сначала проверьте в диспетчере задач остатки процесса ядра, затем зарезервированные диапазоны.

Можно ли отключить порт внешнего управления?

Не рекомендуется. От него зависят панель, переключение узлов и список соединений. Если беспокоит доступ извне, оставьте его на 127.0.0.1 и не привязывайте к 0.0.0.0.