ProxyWarden
ProxyWarden - это Windows-приложение для маршрутизации выбранных программ через прокси или VPN-сервер. Оно не меняет глобальные настройки прокси в Windows: вы сами выбираете, какие приложения должны идти через маршрут, например Discord, Telegram, браузер, игру или конкретный .exe.
Что умеет приложение
- добавлять приложения по имени процесса, папке или конкретному EXE-файлу;
- отправлять выбранные приложения через внешний SOCKS5-прокси;
- при необходимости поднимать локальный
sing-boxи использовать сервер из подписки; - показывать состояние компонентов: установлен ли ProxiFyre, запущены ли службы, выбран ли сервер;
- генерировать конфиги для ProxiFyre и
sing-boxиз сохраненных настроек; - не устанавливать скрыто лишние компоненты при применении профиля.
Из чего состоит ProxyWarden
ProxyWarden разделен на три независимые части.
Control App - само desktop-приложение. В нем вы настраиваете маршрут, выбираете приложения, смотрите статус и запускаете явные действия.
ProxiFyre - обязательный слой для маршрутизации отдельных Windows-приложений. Он заставляет выбранные программы ходить через SOCKS5-прокси даже тогда, когда сами программы не умеют работать с прокси.
Local sing-box - необязательный локальный VPN/proxy runtime. Он нужен только если вы хотите вставить subscription URL, выбрать сервер и получить локальный SOCKS5 endpoint 127.0.0.1:1080. Если у вас уже есть внешний SOCKS5-прокси, sing-box можно не устанавливать.
Типичный сценарий с внешним прокси
- Запустите ProxyWarden.
- Установите или проверьте ProxiFyre.
- На вкладке
VPN / ПроксивыберитеВнешний прокси. - Введите адрес в формате
host:portилиsocks5://host:port. - На вкладке
ProxiFyreдобавьте приложения, которые нужно маршрутизировать. - Нажмите
Применить в ProxiFyre.
Результат: выбранные приложения идут через внешний SOCKS5-прокси. Local sing-box для этого сценария не нужен.
Типичный сценарий с Local sing-box
- Запустите ProxyWarden.
- Установите ProxiFyre.
- Установите Local sing-box.
- Вставьте subscription URL, загрузите список серверов и выберите сервер.
- Добавьте приложения для маршрутизации.
- Примените маршрут.
Результат: выбранные приложения идут по цепочке:
Приложения -> ProxiFyre -> Local sing-box 127.0.0.1:1080 -> выбранный сервер
Где хранятся настройки
Пользовательские настройки хранятся в C:\ProgramData\ProxyWarden:
C:\ProgramData\ProxyWarden\config\profiles.json
C:\ProgramData\ProxyWarden\config\targets.json
C:\ProgramData\ProxyWarden\config\components.json
C:\ProgramData\ProxyWarden\config\local-singbox.json
C:\ProgramData\ProxyWarden\state\activity.json
C:\ProgramData\ProxyWarden\state\singbox-subscription-cache.json
Сгенерированные файлы лежат отдельно и могут быть пересозданы:
C:\ProgramData\ProxyWarden\generated\proxifyre-app-config.json
C:\ProgramData\ProxyWarden\generated\sing-box-config.json
Важно: редактировать вручную лучше исходные настройки, а не generated-файлы. При записи настроек приложение создает backup рядом с исходным JSON.
Установка из исходников
Нужны:
- Windows 10/11;
- Node.js и npm;
- Rust через rustup;
- Visual Studio Build Tools с MSVC и Windows SDK;
- Microsoft Edge WebView2 Runtime.
Команды:
cd D:\repos\ProxyWarden
npm install
npm run tauri -- dev
Собрать установочный пакет:
npm run tauri -- build
Запустить только browser-preview без нативных Tauri-команд:
npm run dev -- --host 127.0.0.1
В browser-preview можно проверить интерфейс, но нельзя управлять Windows-службами и нативными компонентами.
Явные installer-скрипты
В репозитории есть отдельные entrypoint-скрипты:
& .\scripts\install-control-app.ps1 -PlanOnly
& .\scripts\install-proxyfier.ps1 -PlanOnly
& .\scripts\install-singbox.ps1 -PlanOnly
-PlanOnly показывает план в JSON и ничего не устанавливает. Реальная установка требует прав администратора. Компоненты устанавливаются отдельно: применение профиля не должно незаметно устанавливать Control App, ProxiFyre или Local sing-box.
Проверка для разработчика
Frontend:
npm run build
Rust-тесты:
cd D:\repos\ProxyWarden\src-tauri
cargo test
Информация Tauri:
npm run tauri -- info
Ограничения текущей версии
- Поддерживается основной путь через SOCKS5.
- ProxiFyre является текущим backend-слоем маршрутизации; архитектура оставляет место для другого proxy-router adapter.
- Local sing-box остается опциональным и не требуется для внешнего SOCKS5-прокси.
- Реальные elevated-операции установки, удаления и управления Windows-службами нужно проверять на Windows с правами администратора.