Windows-клиент
Windows release содержит CLI, desktop tray controller и Windows Service wrapper. Для обычного пользователя нужен knotroute-desktop.exe.
Установка
Заголовок раздела «Установка»Распакуйте release archive и запустите installer script:
powershell -ExecutionPolicy Bypass -File .\Install-KnotRoute.ps1После установки запустите knotroute-desktop.exe.
Что делает tray application
Заголовок раздела «Что делает tray application»- запускает и останавливает локальный KnotRoute node;
- открывает dashboard;
- показывает состояние сети;
- включает
.knotsystem integration; - управляет автозапуском;
- открывает configuration/log directory.
Подключение к сети
Заголовок раздела «Подключение к сети»Если у вас есть .knotinvite:
knotroute init --config knotroute.jsonknotroute invite import --config knotroute.json --file network.knotinviteЕсли профиль выдаёт Control, используйте данные Network ID и Beacon URLs из onboarding.
Browser integration
Заголовок раздела «Browser integration»KnotRoute не создаёт TUN по умолчанию. На Windows он может установить PAC script, который отправляет .knot в локальный HTTP proxy, а остальные hosts оставляет DIRECT с точки зрения KnotRoute.
Это позволяет одновременно использовать Clash/FlClashX/VPN: обычный traffic продолжает идти по маршрутам ОС/VPN, а .knot обрабатывается application proxy.
При включении интеграции KnotRoute предлагает установить локальный Root CA текущего пользователя. Он используется только для .knot browser certificates.
Локальные endpoints
Заголовок раздела «Локальные endpoints»Типичные значения:
| Функция | Адрес |
|---|---|
| Dashboard | 127.0.0.1:8484 |
| SOCKS5 | 127.0.0.1:9477 |
| HTTP proxy | 127.0.0.1:9478 |
| PAC | http://127.0.0.1:8484/proxy.pac |
Точные значения могут быть изменены в config.
Диагностика
Заголовок раздела «Диагностика»knotroute doctor --config knotroute.json --probeknotroute address --config knotroute.jsonВ dashboard проверьте Network ID, peers, routes, circuits и последние события.
Когда использовать Windows Service
Заголовок раздела «Когда использовать Windows Service»Service wrapper полезен для unattended host или машины, где KnotRoute должен работать независимо от пользовательской сессии. Для обычного desktop-клиента tray application проще и понятнее.
Где лежат конфигурация и логи
Заголовок раздела «Где лежат конфигурация и логи»Desktop controller использует:
Точный набор файлов зависит от включённых функций. Перед экспериментами с identity/CA лучше сохранить эту папку.
Если node неожиданно завершается, tray controller показывает предупреждение и tail knotroute.log. Он выполняет ограниченное число автоматических restart attempts, но не должен бесконечно скрывать crash-loop.
Безопасный restart
Заголовок раздела «Безопасный restart»Команда Перезапустить узел сначала ждёт фактической остановки прежнего daemon и только затем запускает новый. Это важно: старое поведение с фиксированной задержкой могло увидеть ещё живой dashboard старого процесса, решить, что новый node уже запущен, а через мгновение остаться без daemon.
Перед запуском desktop также проверяет config/identity через CLI. Некорректный JSON или identity теперь должен давать понятное сообщение, а не бесконечный restart-loop.
Русский интерфейс
Заголовок раздела «Русский интерфейс»Dashboard поставляется с русскими пользовательскими подписями. Tray выбирает язык по Windows UI language. Для принудительного русского языка можно запустить с:
$env:KNOTROUTE_LANG = "ru".\knotroute-desktop.exeДля постоянного override переменную можно задать в пользовательском окружении Windows.
Что скрыто в «Дополнительно»
Заголовок раздела «Что скрыто в «Дополнительно»»Обычному клиенту чаще всего достаточно:
- Network ID;
- Beacon HTTP(S) URL;
- локального HTTP/SOCKS proxy, если используются внешние приложения.
Тонкие параметры discovery, listen/advertise, circuit/directory и routing находятся в сворачиваемых секциях. Не меняйте их при первой диагностике без конкретной причины.
Если клиент «падает»
Заголовок раздела «Если клиент «падает»»Сначала откройте %LOCALAPPDATA%\KnotRoute\knotroute.log, затем проверьте:
knotroute doctor --config "$env:LOCALAPPDATA\KnotRoute\knotroute.json" --probeknotroute id --config "$env:LOCALAPPDATA\KnotRoute\knotroute.json"Типовые причины:
- Beacon указан как
http://host:7447вместо HTTP(S) URL; - Network ID отличается от server network;
- повреждён/недоступен identity file;
- локальный порт Dashboard/SOCKS/HTTP proxy занят другим процессом;
- security software запрещает запуск daemon или loopback listener;
- Beacon HTTP доступен, но relay
7447/tcpнедоступен извне.
Не начинайте с переустановки CA: CA влияет на browser HTTPS после того, как overlay уже работает, но не создаёт peer connectivity.