Всё о wawity: от установки
до тонкой настройки
Два продукта на одном ядре: десктоп-клиент с графическим интерфейсом и CLI-консоль для терминала и серверов. Ниже — полное описание обоих, внутренней механики сети и разбор всех известных проблем.
01Что такое wawity
wawity — это клиент, а не VPN-провайдер. Он берёт вашу subscription-ссылку, разбирает её, поднимает туннель на ядре sing-box и управляет сетью Windows: маршрутами, DNS, файрволом и приоритетами трафика.
Транспорт
VLESS, Reality, Hysteria 2, TUIC v5, VMess, Trojan, Shadowsocks и ShadowTLS — всё поднимается из одной ссылки.
Защита
Kill switch живёт в Windows Firewall, а не в приложении. Убили процесс — трафик всё равно заблокирован.
Производительность
Игровой трафик идёт мимо туннеля и получает DSCP 46. Пинг в игре остаётся родным.
02Две редакции: Desktop и CLI
Это два независимых продукта с отдельными установщиками. Ядро — сеть, парсер подписок, kill switch — у них общее, отличается только оболочка.
| Параметр | Desktop | CLI |
|---|---|---|
| Установщик | WawitySetup-Desktop.exe | WawitySetup-CLI.exe |
| Исполняемый файл | WawityApp.exe | wawity.exe |
| Интерфейс | Оконный GUI, трей, графики | Консоль с меню + TUI-дашборд |
| Требует GUI-сессию | Да | Нет, работает по SSH и RDP-консоли |
| Добавляется в PATH | Нет | Да, команда wawity из любой папки |
| Расход памяти | ~60–90 МБ | ~8–15 МБ |
| Кому подходит | Домашний ПК, игры | Слабые машины, серверы, автоматизация |
wawity-tun0 и один набор правил файрвола.
03Требования
- ОС: Windows 10 (1809+), Windows 11, Windows Server 2019/2022. Только x64.
- Права: подключение требует администратора — создаются TUN-адаптер и правила файрвола.
- Диск: ~60 МБ для Desktop, ~28 МБ для CLI.
- Сеть: исходящий доступ к серверам подписки. Порты не пробрасываются, входящих соединений нет.
- Опционально: WebView2 Runtime для Desktop — установщик поставит его сам, если не найдёт.
04Быстрый старт
Desktop за 3 шага
- Запустите
WawitySetup-Desktop.exe, подтвердите UAC, дождитесь распаковки. - В окне клиента вставьте ссылку подписки и нажмите «Добавить».
- Нажмите «Подключиться» или выберите сервер вручную по замеренному пингу.
CLI за 3 команды
:: 1. добавить подписку wawity sub add https://panel.example/sub/TOKEN --name main :: 2. посмотреть серверы с пингом wawity servers --ping :: 3. подключиться к самому быстрому wawity connect fastest
wawity — откроется интерактивная консоль, где всё то же самое делается выбором цифр.
05Установщик Desktop
Один самодостаточный .exe: без сторонних инсталляторов и без загрузки компонентов из интернета, кроме WebView2 при его отсутствии.
Что делает установщик
- Распаковывает
WawityApp.exeи ядро вC:\Program Files\Wawity. - Создаёт ярлыки в меню «Пуск» и, по желанию, на рабочем столе.
- Регистрирует запись в «Программы и компоненты» для корректного удаления.
- Опционально включает автозапуск при входе в систему.
WawityApp.exe оставит систему с полуобновлённым ядром.
06Установщик CLI
Отдельный продукт со своим инсталлятором. На экране установки явно написано, что это консольная редакция и чем она отличается от обычной.
- Кладёт
wawity.exeи ядро вC:\Program Files\Wawity. - Добавляет папку в системный
PATHи прописываетWAWITY_HOME. - Рассылает системе уведомление об изменении окружения, чтобы новые окна терминала сразу видели команду.
- Создаёт ярлык «Wawity Console», открывающий консоль сразу в режиме wawity.
- Не ставит WebView2 и не создаёт оконных ярлыков.
«wawity» не является внутренней или внешней командой означает, что окно терминала было открыто до установки. Закройте и откройте его заново, затем проверьте where wawity.
Портативный запуск
CLI не требует установки: достаточно wawity.exe рядом с ядром. Данные всё равно сохраняются в профиле пользователя — см. раздел 29.
07Установка на сервер без GUI
Для Windows Server, машин без графической оболочки и развёртывания по SSH есть headless-режим: установщик не рисует окно, а печатает лог в текущую консоль.
:: вариант 1 — специально собранный файл WawitySetup-CLI-serverinstall.exe :: вариант 2 — обычный CLI-установщик с ключом WawitySetup-CLI.exe -serverinstall WawitySetup-CLI.exe -serverinstall -dir "D:\wawity" :: удаление без окон WawitySetup-CLI.exe -serverinstall -uninstall
Чем отличается серверный режим
- Не создаются ярлыки рабочего стола и меню «Пуск».
- Не проверяется и не ставится WebView2.
- Весь прогресс печатается в консоль вызывающего процесса.
PATHиWAWITY_HOMEпрописываются на уровне машины, а не пользователя.
wawity --version → wawity sub add <url> → wawity connect fastest → wawity status.
08Удаление и полная очистка
- Отключите туннель:
wawity disconnectили кнопка в GUI — это снимет правила файрвола. - Удалите продукт через «Параметры → Приложения» или запустив установщик повторно.
- Деинсталлятор уберёт записи из PATH, задачу
WawityAutostartи правилаWawityFW_*. - Пользовательские данные удаляются отдельным флажком в мастере.
WawityFW_ через netsh advfirewall firewall delete rule, затем выполните wawity repair или перезагрузите машину.
09Сборка из исходников
В корне репозитория лежит build.bat — интерактивное меню сборки. Оно собирает продукт и сразу упаковывает соответствующий установщик.
| Пункт | Что делает | Результат |
|---|---|---|
| 1 | Фронтенд, Rust-бэкенд и десктоп-установщик | dist-build\WawitySetup-Desktop.exe |
| 2 | CLI и консольный установщик | WawitySetup-CLI.exe и -serverinstall |
| 3 | Оба продукта подряд | все три файла |
| 4 | Очистка артефактов сборки | — |
| 5 | Диагностика конфигураций cargo и зеркал | отчёт в консоли |
Требования к окружению
- Rust stable (MSVC) и Visual Studio Build Tools с компонентом C++.
- Node.js LTS — только для десктоп-фронтенда, для CLI не нужен.
- Стабильный доступ к crates.io; при проблемах с зеркалами —
fix-cargo-mirror.bat.
Перед сборкой скрипт удаляет старые бинарники и проверяет, что в пакет попал именно нужный исполняемый файл — это защита от ситуации, когда CLI-установщик по ошибке содержал десктопное приложение.
10Обзор интерфейса
Десктоп-клиент — это окно с собственной титульной строкой и вертикальной навигацией слева. Разделов ровно четыре — больше ничего искать не придётся.
| Раздел | Адрес | Что там |
|---|---|---|
| Подключение | / | Главная кнопка, статус защиты, быстрые метрики сессии |
| Анализ | /analysis | Графики трафика и пинга, техническая карточка подключения, логи |
| Серверы | /servers | Подписки, список серверов, пинг, автовыбор, входной узел multi-hop |
| Настройки | /settings | Безопасность, подключение, приватность, внешний вид, обход приложений |
Окно и навигация
- Сверху — собственная титульная строка с иконкой, названием wawity и кнопками свернуть / развернуть / закрыть. Окно таскается за эту полосу.
- Слева — сайдбар с четырьмя пунктами и подсветкой-пилюлей активного раздела; внизу сайдбара показана версия.
- Если окно сузить, сайдбар заменяется нижней панелью с теми же четырьмя вкладками.
- На каждой странице своя анимированная сцена на фоне: чёрная дыра на «Подключении», пульсар в «Настройках», туманность в «Анализе» и Земля в «Серверах». Всё это отключается одним тумблером «Космические объекты на фоне».
- Всплывающие уведомления (тосты) появляются поверх любого раздела, опасные действия спрашивают подтверждение в модальном окне.
Главный экран «Подключение»
- Статус — одно из четырёх состояний: Защищено, Подключение…, Заблокировано (работает Always-On) и Не защищено.
- Кнопка по центру переключает Подключить / Отключить. Если сервер не выбран, клиент пишет «Сначала выберите сервер» и отправляет в раздел «Серверы».
- Бейджи режимов под кнопкой показывают, включены ли Kill Switch, Always-On и Multi-hop.
- Метрики: Пинг, Загрузка, Отдача и длительность Сессии. Сразу после подключения вместо пинга коротко горит «измерение…».
- При включённом Always-On и отсутствии туннеля сверху висит предупреждающий баннер о том, что интернет заблокирован.
11Подписки
Подписки живут в разделе «Серверы». Своих серверов у wawity нет: вы подключаете свою ссылку от любого провайдера.
- Вставьте ссылку в поле «Вставьте URL подписки…» и нажмите Загрузить.
- Клиент покажет, сколько серверов нашлось, и спросит подтверждение «Добавить подписку?».
- После добавления подписка становится группой в списке серверов.
Действия над подпиской
| Кнопка | Что делает |
|---|---|
| Обновить | Перечитывает ссылку и показывает разницу: +N новых, -N удалено или «Актуально» |
| Пинг | Массово измеряет задержку серверов этой подписки |
| Авто | Выбирает самый быстрый сервер и подключается к нему |
| Удалить | Сносит подписку и все её серверы после подтверждения |
| Обновить все | Проходит по всем подпискам сразу и сообщает итог |
Если панель отдаёт срок действия, рядом с подпиской появляется отсчёт вроде «осталось 12 дн.», а после окончания — метка «Истекла», и серверы становятся недоступны.
vless://, vmess://, trojan:// или base64-блок. Откройте его в браузере — если видите обычную веб-страницу, это не та ссылка.
12Выбор сервера
- Два вида. В настройках выбирается «Колонки» (страна → серверы) или «Глобус» — серверы маркерами на вращающейся Земле.
- Поиск. Поле «Поиск серверов…» фильтрует список по имени и стране.
- Пинг. Кнопка «Пинг» в шапке измеряет все серверы сразу, цвет значения показывает качество.
- Авто. Подключает к самому быстрому из доступных серверов.
- Флаги и гео. Страна определяется по имени сервера; точнее — только с включённой онлайн-геолокацией, которая отправляет IP серверов стороннему сервису.
- Multi-hop. Если режим включён, сверху появляется баннер, а у каждого сервера — значок «назначить входным узлом». Текущий вход показан в баннере.
13Игры и раздельное туннелирование
Блок «Раздельное туннелирование» в настройках: приложения из списка ходят мимо туннеля и видят ваш реальный IP.
Три способа добавить приложение
- Из файла — выбрать
.exeвручную или ввести путь вродеC:\Program Files\App\app.exe. - Установленные приложения — список с поиском, отмечаете нужное галочками.
- Найти игры — автоматическое сканирование установок Steam, Epic Games, Riot и Battle.net плюс запущенных процессов.
Сканер собирает не только .exe самой игры, но и её лаунчер с анти-читом — группой. Для полного обхода нужны все компоненты группы, иначе анти-чит пойдёт через туннель, а игра мимо, и матчмейкинг может ругаться.
Отмеченное добавляется кнопкой «Добавить выбранное в обход» и попадает в список «Приложения в обходе». Если новая конфигурация не применилась, клиент сам откатывает список к последнему рабочему состоянию.
14Анализ трафика
Раздел «Анализ» показывает текущую сессию в реальном времени — без истории посещений и без содержимого трафика.
Верхние показатели
Текущий пинг, Загружено и Отправлено за сессию, скорость загрузки и отдачи, состояние kill switch.
Пропускная способность
Живой график с двумя линиями — Загрузка и Отправка. Рядом — история пинга с пиковым и средним значением.
Карточка подключения
Статус, сервер, входной сервер при multi-hop, имя сетевого интерфейса, PID процесса ядра и длительность сессии.
Логи
Живая лента сообщений ядра. Именно сюда стоит смотреть первым делом, если подключение срывается.
15Настройки
Все переключатели собраны в одном разделе и разбиты на группы. Изменения применяются кнопкой Сохранить настройки.
| Группа | Что внутри |
|---|---|
| Безопасность | Kill switch, блокировка Always-On, постквантовое шифрование X25519 + ML-KEM768 |
| Подключение | Запуск при старте системы, автоподключение, доступ к LAN, multi-hop, строгая маршрутизация, bootstrap DNS |
| Приватность | Блокировка трекеров, защита от DNS-утечек, трафик самого приложения через туннель, уведомления, анонимная статистика, язык |
| Внешний вид | Космические объекты на фоне и их детализация, вид выбора сервера (колонки или глобус), текстуры Земли, жидкое стекло, Discord Rich Presence |
| Горячие клавиши | Глобальное сочетание «подключить / отключить» |
| Раздельное туннелирование | Список приложений в обходе и поиск игр |
| О приложении | Версия и экстренное восстановление сети |
Что важно знать
- Always-On и выключение kill switch требуют подтверждения — это не случайные тумблеры.
- Строгая маршрутизация гонит в туннель всё без исключений и может ломать сетевые принтеры и общие папки.
- Разрешить небезопасный TLS стоит включать только если вы полностью доверяете панели провайдера.
- Онлайн-геолокация отправляет IP серверов стороннему сервису ради флагов; выключенная — страна определяется только по имени.
- Сбросить по умолчанию возвращает все настройки, включая автозапуск и список обхода.
wawity repair.
16Трей и уведомления
- Закрытие окна не рвёт туннель — клиент продолжает работать в трее.
- Из трея доступно компактное окно со статусом и переключением подключения.
- С включённым «Запуском при старте системы» приложение стартует тихо, без окна.
- Уведомления сообщают о подключении, обрыве, сработавшем kill switch и об обновлённых подписках. Отключаются в группе «Приватность».
- Глобальная горячая клавиша работает и при скрытом окне.
17CLI: как запускать
Одна команда wawity работает в трёх режимах: интерактивная консоль, разовые команды и живой дашборд.
wawity
Без аргументов открывает интерактивную консоль с меню, ASCII-логотипом и выбором по цифрам.
wawity <команда>
Разовое действие и выход. Подходит для скриптов, планировщика и удалённого управления.
wawity dash
Полноэкранный TUI-дашборд с живыми графиками и управлением с клавиатуры.
18Консоль wawity
При запуске экран очищается, появляется цветной ASCII-логотип, анимированный маскот и меню. После каждой команды экран перерисовывается, поэтому логотип и строка состояния всегда остаются сверху.
W A W I T Y secure tunnel console v0.1.0 ● Германия ↓ 12.4 МБ (350 КБ/с) ↑ 1.1 МБ (28 КБ/с) kill-switch: активен post-quantum pid 8124 серверов: 9 -------------------------------------------------------------------- 1 подключить . 2 быстро . 3 отключить . 4 серверы . 5 статус 6 подписки . 7 настройки . 8 сеть . 9 панель . m меню . 0 выход wawity > _
Клавиши главного меню
| Ввод | Действие |
|---|---|
| 1 | Выбор сервера по номеру и подключение |
| 2 | Быстрое подключение к серверу с минимальным пингом |
| 3 | Отключение туннеля |
| 4 | Список серверов с массовым замером задержки |
| 5 | Статус: сервер, PID, интерфейс, kill switch, трафик, скорость |
| 6 | Меню подписок: добавить, обновить, удалить |
| 7 | Настройки: kill switch, post-quantum, multi-hop, DNS |
| 8 | Восстановление сети: сброс правил, маршрутов и DNS |
| 9 | Запуск TUI-дашборда |
| m | Показать полное меню |
| r | Перечитать серверы из всех подписок |
| h | Справка по командам |
| 0 | Выход из консоли (туннель остаётся поднятым) |
Клавиши в списке серверов
n следующая страница · b предыдущая · p замерить пинг · s сортировка по задержке · f текст фильтр · a сбросить фильтр · 0 назад. Ввод номера подключает выбранный сервер; звёздочкой отмечен последний использованный узел.
Текстовые команды внутри консоли
Помимо цифр консоль понимает слова и терпит лишний префикс: connect 3, sub add <url>, wawity sub add <url> и status будут поняты одинаково. Ссылка автоматически очищается от кавычек, угловых скобок и markdown-обёртки.
19Полный список команд
| Команда | Что делает |
|---|---|
wawity | Интерактивная консоль |
wawity console | То же самое явно |
wawity dash | TUI-дашборд |
wawity sub add <url> | Добавить подписку, сразу проверив её |
wawity sub list | Список подписок с идентификаторами |
wawity sub refresh [id] | Обновить все подписки или одну |
wawity sub rm <id> | Удалить подписку |
wawity servers | Список серверов из всех подписок |
wawity servers --ping | То же с параллельным замером задержки |
wawity connect <имя|номер> | Подключиться к конкретному серверу |
wawity connect fastest | Подключиться к самому быстрому |
wawity switch <имя> | Сменить сервер без полного разрыва |
wawity disconnect | Разорвать туннель и снять правила |
wawity status | Состояние, трафик, скорость, kill switch |
wawity status --watch | Непрерывное обновление статуса |
wawity repair | Сброс маршрутов, DNS и правил файрвола |
Примеры
:: подключиться к третьему серверу списка в фоне wawity connect 3 :: подключиться в переднем плане, Ctrl+C = отключение wawity connect fastest --fg :: цепочка: вход через Хельсинки, выход через Германию wawity connect "Германия" --entry "Хельсинки" :: подключение без блокировки трафика при обрыве wawity connect fastest --no-killswitch :: живой мониторинг wawity status --watch
20Флаги и ключи
| Флаг | Где применим | Смысл |
|---|---|---|
--entry <имя> | connect | Промежуточный сервер входа (multi-hop) |
--no-killswitch | connect | Не включать блокировку трафика при обрыве |
--no-quantum | connect | Отключить post-quantum обмен ключами |
--fg | connect | Держать туннель в текущем процессе, выход по Ctrl+C |
--ping | servers | Замерить задержку до всех серверов |
--watch | status | Обновлять состояние непрерывно |
--name <имя> | sub add | Человекочитаемое имя подписки |
--json | любая | Машинночитаемый вывод вместо оформленного |
--fg туннель живёт после выхода из команды: процесс ядра отсоединяется, а его состояние записывается в файл. Поэтому wawity status из другого окна всё равно видит соединение, PID и счётчики трафика.
21TUI-дашборд
Команда wawity dash открывает полноэкранную панель: график скорости, список серверов, состояние правил и лог событий.
- Навигация стрелками или j/k, подключение — Enter.
- p замер пинга, d отключение, r обновление подписок.
- q или Esc выход из панели; туннель при этом не разрывается.
- Панель корректно работает по SSH и в Windows Terminal; в устаревшем консольном хосте возможны артефакты рамок.
22JSON-вывод и автоматизация
С флагом --json команды печатают структуру вместо оформленного текста — удобно для мониторинга и скриптов.
# поднять туннель, если он упал $s = wawity status --json | ConvertFrom-Json if (-not $s.connected) { wawity connect fastest } # выгрузить список серверов с пингом wawity servers --ping --json > servers.json
Поля статуса
| Поле | Тип | Значение |
|---|---|---|
connected | bool | Туннель поднят |
pid | number | PID процесса ядра |
kill_switch | bool | Блокировка активна |
always_on_locked | bool | Сеть заблокирована при отключённом туннеле |
multihop | bool | Используется цепочка серверов |
interface | string | Имя TUN-адаптера |
server_name | string | Выходной сервер |
entry_server_name | string | Входная точка при multi-hop |
bytes_rx / bytes_tx | number | Принято и отправлено байт |
23Автозапуск и постоянный туннель
- Настройте подписку и убедитесь, что подключение проходит вручную.
- Включите автозапуск — создаётся задача планировщика
WawityAutostartс повышенными правами. - Для сервера включите always-on: сеть будет заблокирована до поднятия туннеля, что исключает утечку при перезагрузке.
- Проверьте восстановление: перезагрузите машину и выполните
wawity status.
24Протоколы
| Протокол | Транспорт | Когда выбирать |
|---|---|---|
| VLESS | TCP, WS, gRPC | Универсальный вариант, максимальная совместимость |
| Reality | TCP + XTLS | Жёсткая фильтрация и DPI |
| Hysteria 2 | QUIC / UDP | Нестабильный канал, потери пакетов |
| TUIC v5 | QUIC / UDP | Низкая задержка, много UDP-трафика |
| VMess | TCP, WS | Старые панели и легаси-конфиги |
| Trojan | TLS | Маскировка под обычный HTTPS |
| Shadowsocks | TCP, UDP | Простота и минимальные накладные расходы |
| ShadowTLS | TLS-обёртка | Когда нужен чужой TLS-отпечаток |
Протокол берётся из самой ссылки подписки — выбирать его вручную не нужно. Если провайдер даёт несколько вариантов одного сервера, сравните их массовым пингом.
25Как устроена сеть
- TUN-адаптер
wawity-tun0— виртуальный интерфейс, через который идёт туннелированный трафик. На нём же читаются счётчики. - Локальный прокси на порту
18232— точка входа для ядра, слушает только локальный интерфейс. - DNS в туннеле — запросы перехватываются и отправляются через туннель на адрес
172.19.0.2. - Bootstrap DNS — отдельный резолвер для первичного разрешения домена сервера до поднятия туннеля.
- Маршруты — добавляются с меньшей метрикой, чем системные, и снимаются при отключении.
:: есть ли адаптер и как он называется netsh interface show interface :: маршруты и метрики route print 0.0.0.0 :: правила файрвола wawity netsh advfirewall firewall show rule name=all | findstr WawityFW_ :: слушает ли локальный прокси netstat -ano | findstr 18232
wawity-tun0, счётчики трафика могут показывать нули, хотя соединение работает. Проверьте имя командой выше.
26Kill switch и always-on
Блокировка живёт в Windows Firewall. Правила создаются с префиксом WawityFW_, чтобы их можно было найти и снять даже без самого клиента.
- Обычный режим: блокировка включается вместе с туннелем и снимается при корректном отключении.
- Always-on: правила остаются и при опущенном туннеле — без VPN трафика не будет вообще.
- Аварийное завершение: при следующем запуске клиент находит свои правила и откатывает сеть автоматически.
- Аварийный выход:
wawity repairснимает все правила, маршруты и возвращает DNS в исходное состояние.
Из блокировки всегда исключаются: локальная петля, DHCP, адреса серверов подписки, bootstrap DNS, сам TUN-адаптер и процессы из списка исключений.
27Системный QoS
Игровому трафику присваивается метка DSCP 46 (Expedited Forwarding) на уровне политики Windows. Роутер с поддержкой QoS обслужит такие пакеты вне очереди.
- Работает и без активного VPN-подключения.
- Не ускоряет канал как таковой — влияет только на порядок обслуживания при загруженной сети.
- Некоторые провайдеры сбрасывают метки DSCP на границе сети — эффект будет только внутри домашней сети.
28Multi-hop и post-quantum
Цепочка серверов
При multi-hop трафик сначала идёт на входной сервер, а затем на выходной. Выходной узел не видит ваш реальный адрес, но задержка складывается. Для игр режим не рекомендуется.
Post-quantum
Если сервер поддерживает гибридный обмен ключами, он используется автоматически. При несовместимости клиент откатывается к обычному рукопожатию; принудительно отключить можно флагом --no-quantum.
29Где что лежит
| Путь | Содержимое |
|---|---|
%APPDATA%\Wawity\cli | Данные CLI |
subscriptions.json | Подписки и кэш списка серверов |
settings.json | Настройки: kill switch, DNS, multi-hop |
detached.json | Состояние фонового туннеля: PID, серверы, флаги |
%TEMP%\wawity.log | Лог ядра и ошибок подключения |
%LOCALAPPDATA%\com.wawity.vpn | Данные десктоп-клиента |
subscriptions.json и settings.json при отключённом туннеле. detached.json переносить не нужно.
30Переменные окружения
| Переменная | Назначение |
|---|---|
WAWITY_HOME | Каталог установки; по нему находятся ядро и ресурсы |
WAWITY_SINGBOX | Явный путь к исполняемому файлу ядра |
WAWITY_SERVER_INSTALL | Включает headless-режим установщика |
31Диагностика: порядок действий
Если что-то не работает, идите по этой лестнице сверху вниз — в большинстве случаев ответ находится на первых трёх шагах.
- Права. Консоль или клиент запущены от администратора?
- Подписка.
wawity sub refresh— сколько серверов вернулось? - Доступность.
wawity servers --ping— есть ли хоть один ответивший узел? - Состояние.
wawity status— что с PID, интерфейсом и kill switch? - Лог. Последние строки
%TEMP%\wawity.log. - Сброс.
wawity repair, затем повторное подключение.
32Про��лемы с подключением
Клиент получил ответ от панели, но не нашёл в нём ни одной рабочей ссылки на сервер. Выполните wawity sub refresh — подписка перечитается в исходном виде и ссылки сохранятся целиком. Если не помогло, откройте ссылку в браузере: вы должны увидеть текст со строками вида vless:// или base64-блок. Пустая страница или HTML означают, что ссылка просрочена или требует авторизации.
Проверьте пинг до сервера: если весь список показывает прочерки, блокируется сам доступ, а не протокол. Попробуйте сервер на QUIC (Hysteria 2 или TUIC) — UDP часто проходит там, где TCP режется, или наоборот. Также проверьте, не блокирует ли сторонний антивирус исходящие соединения ядра.
Почти всегда это DNS. Проверьте, что включена защита от DNS-утечек, и смените bootstrap DNS. Если в системе есть сторонний DNS-клиент или блокировщик рекламы, временно отключите его и выполните ipconfig /flushdns.
Сработал kill switch — это штатное поведение. Запустите клиент снова: он откатит правила. Если клиент недоступен, выполните wawity repair или удалите правила с префиксом WawityFW_ вручную.
33Проблемы сети и скорости
Счётчики читаются с адаптера wawity-tun0. Если адаптер назван иначе, цифры останутся нулевыми. Проверьте netsh interface show interface. Также первые секунды после подключения скорость всегда нулевая: нужны два замера подряд.
Попробуйте другой сервер и другой протокол: QUIC-варианты часто заметно быстрее на плохом канале. Отключите multi-hop, если он включён: цепочка всегда стоит пропускной способности и задержки.
Значит, игра не попала в исключения. Откройте раздел игр и добавьте процесс вручную по имени исполняемого файла, затем перезапустите игру. Лаунчер и сама игра могут быть разными процессами.
Панель может быть заблокирована провайдером. Поднимите туннель на любом рабочем сервере и повторите обновление — запрос пойдёт через туннель.
34Проблемы CLI и консоли
Переменная PATH обновляется только в новых окнах терминала. Закройте текущее окно, откройте новое и выполните where wawity. Если путь не найден, запустите установщик ещё раз и убедитесь, что выбрана именно CLI-редакция.
В PATH нашёлся старый файл с тем же именем. В актуальных сборках графическое приложение называется WawityApp.exe, а wawity.exe — это только CLI. Удалите старую установку и поставьте CLI заново.
Консоль работает в однобайтовой кодовой странице. Выполните chcp 65001 или используйте Windows Terminal вместо устаревшего консольного хоста.
Фоновое состояние хранится в профиле той учётной записи, которая подняла туннель. Если подключение было сделано из-под администратора, а status вы запускаете обычным пользователем, файл состояния не будет найден. Запускайте обе команды одинаково.
Классическая консоль ограничивает длину строки ввода. Используйте Windows Terminal либо задайте ссылку аргументом команды: wawity sub add "<ссылка>".
35Проблемы сборки
Недоступно зеркало реестра пакетов. Запустите fix-cargo-mirror.bat: он отключает зеркало и возвращает прямой источник. Пункт диагностики в build.bat покажет, какие конфигурации реально применяются.
Один и тот же реестр переопределён в двух конфигах сразу — глобальном и проектном. Проверьте конфиги в профиле пользователя, в корне проекта и в подпроектах — переопределение должно остаться только в одном месте.
В папке сборки остался артефакт от предыдущего прогона. Выполните пункт очистки в build.bat и соберите заново — скрипт проверяет наличие нужного файла перед упаковкой.
36Частые вопросы
Да, они устанавливаются отдельно и не мешают друг другу. Но поднимать туннель одновременно двумя клиентами нельзя.
Для поднятия туннеля — да. Чтобы не видеть запрос при каждом входе, включите автозапуск: задача планировщика стартует с повышенными правами без окна подтверждения.
У любого провайдера, который выдаёт subscription-ссылку с поддержкой перечисленных протоколов. wawity не привязан к конкретному сервису.
Пока только Windows: kill switch, QoS и маршрутизация сделаны через системные API этой ОС.
Да. Серверы из всех подписок объединяются в один список; источник виден в строке сервера, а фильтр умеет искать по имени подписки.
Туннель опускается вместе с системой. Без always-on сеть после загрузки работает обычно; с always-on трафик будет заблокирован до повторного подключения.
37Глоссарий
| Термин | Значение |
|---|---|
| Подписка | Ссылка, по которой клиент получает список серверов |
| TUN | Виртуальный сетевой адаптер для туннелирования |
| Kill switch | Блокировка трафика при падении туннеля |
| Always-on | Блокировка сохраняется даже без активного туннеля |
| Multi-hop | Цепочка из входного и выходного серверов |
| DSCP 46 | Метка приоритетного трафика в очереди QoS |
| Bootstrap DNS | Резолвер для первого разрешения адреса сервера |
| Detached-режим | Туннель живёт после завершения команды |
%TEMP%\wawity.log — в них почти всегда видна причина.