Высокопроизводительный Windows-клиент для выборочного проксирования (Split Tunneling) целевых доменов и процессов.
Proxy Router Desktop решает проблему блокировок и региональных ограничений веб-сервисов (OpenAI, Anthropic Claude, Google Gemini, GitHub Copilot и др.), не замедляя весь интернет-трафик компьютера.
В отличие от стандартных VPN-клиентов, которые перенаправляют весь трафик через удаленный сервер и увеличивают задержку для локальных ресурсов, Proxy Router маршрутизирует только указанные домены и приложения, оставляя остальной трафик прямым (DIRECT).
- Реалистичная проекция Земли на базе картографических данных Natural Earth 110m: 126 континентальных контуров и 2 022 выверенные точки суши.
- Динамические узлы дата-центров (Google Gemini East, Anthropic Claude Central, OpenAI West).
- Точное сферическое позиционирование, плавная физика вращения, телеметрия пинга и статуса соединения.
- Встроенный нативный PAC-сервер на Rust (
http://127.0.0.1:8182/proxy.pac). - Динамическая запись конфигурации в системный реестр Windows (
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings). - Мгновенное применение изменений через WinInet API без перезагрузки системы и браузеров.
- Запуск любых установленных программ (
.exe) с наследованием системных прокси-переменных. - Мониторинг запущенных целевых процессов в реальном времени с возможностью их принудительного завершения.
- Генерация и копирование в один клик готовых команд установки переменных окружения
HTTP_PROXYиHTTPS_PROXYдля PowerShell и Command Prompt (CMD).
- Определение внешнего IP-адреса пользователя в реальном времени.
- Автоматическая передача IP на серверный API через зашифрованный токен авторизации для обновления списков контроля доступа (ACL) в Squid.
- Экспорт настроек (API URL, токен, параметры прокси) в компактную строку
pr://...или файл.json. - Загрузка конфигурации перетаскиванием (Drag & Drop) или вставкой ключа.
- Проверка новых релизов через GitHub API непосредственно из окна настроек приложения.
- Полностью автоматизированная сборка Windows-инсталляторов (
.msi,.exe) при каждом релизе.
flowchart TD
subgraph Client ["Клиентский ПК (Windows 10/11)"]
UI["React 19 Frontend (Dark Monolith UI)"]
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 + Bearer Token)| API
Apps -->|2. Выборочный трафик по правилам PAC| Squid
Apps -->|3. Весь остальной трафик (DIRECT)| Web["Прямой доступ в Интернет"]
- Перейдите в раздел Релизы (Releases).
- Скачайте последнюю версию инсталлятора:
Proxy Router Desktop_x64-setup.exe(стандартный установщик)- или
Proxy Router Desktop_x64_en-US.msi(пакет Windows Installer)
- Запустите установщик и следуйте инструкциям на экране.
- Node.js ≥ 18 (рекомендуется LTS 20+)
- 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/на ваш сервер. - Настройте конфигурацию токенов
tokens.json. - Установите зависимости и запустите службу через PM2:
cd server
npm install
pm2 start ecosystem.config.js
pm2 saveProxyRouterDesktop/
├── .github/
│ └── workflows/
│ ├── release.yml # CI/CD: автобилд инсталляторов и создание GitHub Release
│ └── ci.yml # CI: верификация компиляции frontend и rust
├── proxy-router-desktop/ # Клиентское приложение (Tauri + React + Rust)
│ ├── src/ # Фронтенд на React 19 (Dark Monolith UI)
│ │ ├── pages/ # Страницы: Dashboard, Sites, Apps, Logs, Settings
│ │ ├── components/ # 3D Vector Earth Visualizer, Titlebar, Sidebar
│ │ ├── store/ # Централизованный стейт (useAppStore)
│ │ └── assets/ # Векторные карты Natural Earth 110m (earthData.js)
│ ├── src-tauri/ # Нативный бэкенд на Rust
│ │ ├── src/ # Управление WinInet, PAC-сервер, реестр Windows, процессы
│ │ ├── Cargo.toml # Зависимости и флаги сборки
│ │ └── tauri.conf.json # Конфигурация окна, бандлера и прав доступа
│ └── package.json # Зависимости интерфейса (Vite, React 19, Simple Icons)
├── server/ # Серверный микросервис для VPS (Node.js + Squid ACL)
│ ├── index.js # REST API эндпоинты авторизации и добавления IP
│ ├── ip_manager.sh # Bash-скрипт обновления белого списка Squid
│ └── ecosystem.config.js # Конфиг автозапуска PM2
├── scripts/
│ └── release.ps1 # Скрипт автоматизации релиза и пуша тегов
└── README.md # Главная документация проекта
Проект распространяется под лицензией MIT.