Высокопроизводительный Windows-клиент для выборочного проксирования (Split Tunneling) доменов и процессов.
Proxy Router Desktop решает проблему доступа к заблокированным и региональным веб-сервисам (OpenAI, Anthropic Claude, Google Gemini, GitHub Copilot и др.), не замедляя весь интернет-трафик компьютера.
В отличие от классических VPN-клиентов, которые перенаправляют абсолютно весь трафик через удаленный сервер и увеличивают пинг для локальных ресурсов, Proxy Router маршрутизирует через прокси только указанные домены и приложения, оставляя остальной трафик прямым (DIRECT).
- Локальный PAC-сервер: встроенный легковесный HTTP-сервер на Rust (
http://127.0.0.1:8182/proxy.pac) динамически генерирует PAC-скрипт на основе вашего списка целевых сайтов. - Интеграция с реестром Windows (WinInet): PAC URL записывается в системные параметры Windows и мгновенно активируется через WinInet API без перезагрузки системы и браузеров.
- Белый список на VPS: приложение определяет публичный IP-адрес клиента и передает его серверному REST API по Bearer-токену, динамически обновляя списки доступа (ACL) в Squid.
flowchart TD
subgraph Client ["Клиентский ПК (Windows 10/11)"]
UI["React 19 Frontend"]
Tauri["Tauri 2 Core (Rust Engine)"]
PAC["Локальный PAC Server (127.0.0.1:8182)"]
WinInet["Windows Internet Settings (WinInet / Registry)"]
Apps["Браузеры и Desktop-приложения"]
UI <-->|"Tauri IPC"| Tauri
Tauri -->|"Запуск"| PAC
Tauri -->|"Запись PAC URL"| WinInet
WinInet -->|"Автоконфигурация"| Apps
end
subgraph VPS ["Удаленный VPS (Squid Proxy Server)"]
API["Node.js Whitelist API (Express + PM2)"]
IPManager["ip_manager.sh (Управление ACL)"]
Squid["Squid HTTP/HTTPS Proxy (Порт 3128)"]
API -->|"Вызов скрипта"| IPManager
IPManager -->|"Обновление whitelist.txt & reload"| Squid
end
Tauri -->|"1. POST /api/whitelist (IP + токен)"| API
Apps -->|"2. Выборочный трафик по правилам PAC"| Squid
Apps -->|"3. Весь остальной трафик (DIRECT)"| Web["Прямой доступ в Интернет"]
- Выборочная маршрутизация сайтов: гибкий список доменов с поддержкой масок (
*.domain.com) и предустановленные профили для популярных AI-сервисов. - Управление процессами (.exe): запуск выбранных программ с проксированием и мониторинг их состояния в реальном времени.
- Интеграция с терминалами (CLI): экспорт системных переменных
HTTP_PROXYиHTTPS_PROXYв один клик для PowerShell и Command Prompt (CMD). - Автоматический Whitelist на VPS: определение внешнего IP и синхронизация с ACL прокси-сервера.
- Импорт и экспорт конфигурации: перенос настроек через компактную строку
pr://...или файл.json. - Встроенная проверка обновлений: проверка новых релизов через GitHub API непосредственно из приложения.
- Перейдите в раздел Релизы (Releases).
- Скачайте нужный установщик:
Proxy Router Desktop_x64-setup.exe(стандартный установщик)- или
Proxy Router Desktop_x64_en-US.msi(пакет Windows Installer)
- Запустите инсталлятор и следуйте подсказкам на экране.
- Node.js ≥ 18
- Rust & Cargo (установка через rustup.rs)
- Visual Studio C++ Build Tools (компоненты MSVC для Windows)
git clone https://github.com/D1verlin/ProxyRouterDesktop.git
cd ProxyRouterDesktopcd proxy-router-desktop
npm install
npm run tauri devnpm run tauri buildГотовые исполняемые файлы и установщики будут сгенерированы в каталоге:
proxy-router-desktop/src-tauri/target/release/bundle/
Серверный компонент разворачивается на Ubuntu/Debian VPS с установленным Squid.
Подробная пошаговая инструкция доступна в файле server/README.md.
Краткий алгоритм:
- Скопируйте файлы каталога
server/на ваш сервер. - Настройте токен авторизации
AUTH_TOKEN. - Установите зависимости и запустите службу через PM2:
cd server
npm install
pm2 start ecosystem.config.js --env production
pm2 saveProxyRouterDesktop/
├── .github/workflows/ # CI/CD: автосборка инсталляторов и релизы GitHub Actions
├── proxy-router-desktop/ # Клиентское приложение (Tauri + React + Rust)
│ ├── src/ # Фронтенд на React 19 (страницы, компоненты, стейт)
│ ├── src-tauri/ # Нативный бэкенд на Rust (WinInet, PAC-сервер, процессы)
│ └── package.json # Зависимости и скрипты сборки интерфейса
├── server/ # Серверный микросервис для VPS (Node.js + Squid ACL)
│ ├── index.js # REST API (авторизация и whitelist IP)
│ ├── ip_manager.sh # Bash-скрипт обновления ACL Squid
│ └── ecosystem.config.js # Конфигурация PM2
└── README.md # Главная документация проекта
Проект распространяется под лицензией MIT.