За что отвечает каждый порт
Смешанный порт принимает HTTP и SOCKS5 на одном слушателе, и почти всем достаточно только его. Порт внешнего управления — это API ядра: через него интерфейс клиента, панели и сторонние утилиты читают состояние и переключают узлы. Значения по умолчанию менялись между версиями: на текущих сборках это 7897 и 9097, на старых — 7890 и 9090, поэтому перенесённая конфигурация может сохранять старые номера.
Если в конфигурации отдельно заданы port или socks-port, они слушают вместе со смешанным портом. Держать их обычно незачем: каждый лишний слушатель — лишняя поверхность.
Смотрите на интерфейс, а не на инструкцию
Прежде чем копировать номер из любого руководства, включая это, проверьте порт, который показывает сам клиент.
Правильный порядок смены порта
- 1
Сначала в клиенте
Измените смешанный порт в настройках Clash и сохраните. Системный прокси обновится автоматически, руками трогать настройки Windows или macOS не нужно.
- 2
Потом всё, что настраивалось вручную
Обычно это четыре места: git config --global http.proxy, настройка proxy в npm, переменная http_proxy в профиле оболочки и расширение-переключатель прокси в браузере. Ни одно из них не обновится само.
- 3
Проверяйте слой за слоем
Открывшаяся страница в браузере подтверждает системный прокси. Командную строку проверьте отдельно через curl. Если не работает лишь часть приложений, значит старый порт где-то ещё записан.
Что делать, если порт занят
В Windows найдите PID через netstat -ano с фильтром по номеру порта, затем определите программу через tasklist. В macOS и Linux то же самое делает одна команда lsof -i с номером порта.
Есть и менее очевидный случай: порт никем не занят, но привязаться к нему всё равно нельзя. Hyper-V и WSL при старте резервируют большие диапазоны динамических портов, и внутри них ничего слушать нельзя. Команда netsh interface ipv4 show excludedportrange protocol=tcp покажет зарезервированные диапазоны. Если ваш порт попал внутрь, проще всего выбрать порт за их пределами.
- Берите номер выше 1024 и подальше от известных служб
- Для доступа с других устройств нужен ещё и переключатель разрешения локальной сети
- После смены перезагрузите страницу в браузере, чтобы он не переиспользовал старые соединения
Частые вопросы
Пишет, что адрес уже используется, а netstat ничего не показывает.
Либо порт попал в исключённый диапазон Windows, либо предыдущий процесс ядра не завершился. Сначала проверьте в диспетчере задач остатки процесса ядра, затем зарезервированные диапазоны.
Можно ли отключить порт внешнего управления?
Не рекомендуется. От него зависят панель, переключение узлов и список соединений. Если беспокоит доступ извне, оставьте его на 127.0.0.1 и не привязывайте к 0.0.0.0.