Skip to content
AandStepPublic

Latest commit

 

History

545 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResultV logo

ResultV

Настольный клиент для ВПН и прокси на Windows (поддержка macOS/Linux в бета тесте): Wails, Go и sing-box.
Умная маршрутизация, подписки, профили правил и интеграция с системой в одном приложении.

Version Wails Go React sing-box

Возможности • Руководство • Разработка • Сборка • Сайт

Русский | English

Сайт и загрузки: result-proxy.ru • Telegram-канал: @resultvpn

ResultV — подключено


О проекте

ResultV 3.5.6 — нативное настольное приложение на Wails v2. Интерфейс: React 18, Vite, Tailwind CSS; трафик обрабатывает бэкенд на Go и движок sing-box 1.14 (сборка sing-box-extended, теги сборки заданы в wails.json). Локализация через i18next (русский и английский).

Готовые сборки: в GitHub Actions публикуются артефакты Windows amd64 (portable .exe и установщик NSIS), macOS (.dmg) и Linux (.AppImage, .deb, .rpm) при push тега v*.


Установка

Готовые сборки лежат на странице Releases — собирать через Wails вручную не нужно.

Windows

Скачайте установщик *-installer.exe (или portable .exe) и запустите.

macOS

Скачайте ResultV.dmg, откройте и перетащите приложение в Applications.

Linux

Для всех дистрибутивов универсальный вариант — AppImage, отдельная установка не нужна:

chmod +x ResultV*.AppImage
./ResultV*.AppImage

Если AppImage не стартует, поставьте FUSE (fuse2): на Debian/Ubuntu — sudo apt install libfuse2, на Fedora — sudo dnf install fuse, на Arch/CachyOS — sudo pacman -S fuse2. Если в системе нет WebKitGTK 4.1, AppImage сам предложит его установить.

Arch / CachyOS (и другие Arch-based): AppImage работает нативно (нужен только fuse2, см. выше). Пакеты .deb/.rpm напрямую не ставятся — используйте AppImage.

NixOS: AppImage не запускается напрямую — в системе нет стандартного FHS-загрузчика. Запуск через обёртку:

nix-shell -p appimage-run --run "appimage-run ./ResultV*.AppImage"

Либо включите автоматический запуск AppImage в configuration.nix и пересоберите систему:

programs.appimage.enable = true;
programs.appimage.binfmt = true;

После этого AppImage запускается обычным ./ResultV*.AppImage.

Debian / Ubuntu — .deb: sudo apt install ./ResultV*.deb Fedora / RHEL / openSUSE — .rpm: sudo dnf install ./ResultV*.rpm (или sudo zypper install).

Текущие сборки — linux/amd64 (x86_64).


Возможности

Подключение

  • Режимы Прокси (системный прокси) и Туннель (TUN — весь трафик системы, включая приложения, которые игнорируют системный прокси)
  • Протоколы: HTTP(S), SOCKS5, VLESS (включая Reality), VMess, Trojan, Shadowsocks, Hysteria2, NaiveProxy, WireGuard, AmneziaWG (до версии 3.1)
  • Авто-серверы: для AUTO-групп подписки клиент сам выбирает лучший узел по задержке, UDP и пропускной способности и переключается на следующий, если узел перестал отвечать
  • Таймер сессии, скорость и объём трафика на главной в реальном времени

Маршрутизация

  • Умный режим — в ВПН идут только заблокированные ресурсы, всё остальное напрямую. Списки собираются из открытых источников (Re:filter, itdog и др.), включая подсети Telegram и голосовых серверов Discord
  • Глобальный режим — весь трафик через ВПН, с исключениями по сайтам и приложениям
  • Свои списки сайтов и приложений через ВПН или напрямую (приложения — по имени .exe или пути к файлу)
  • Профили маршрутизации (только в Глобальном режиме) — свои правила Direct / Proxy / Block по доменам и IP с поддержкой geosite: / geoip:, порядок применения и импорт профиля по ссылке; профиль может прийти и от провайдера подписки
  • Адаптивный умный режим (экспериментально) — клиент сам определяет блокировки, не полагаясь на список

Подписки и серверы

  • Добавление по ссылке подписки, share-ссылке, из буфера обмена или файла (.txt / .csv / .conf / JSON Xray и sing-box), вручную через редактор, а также по диплинку resultv://
  • Автообновление по расписанию, свой интервал для каждой подписки, передача HWID и своего User-Agent
  • Срок действия и остаток трафика подписки, переименование, скрытие подписки с главной
  • Поиск, сортировка (по стране, типу, провайдеру, пингу), избранное, перетаскивание групп
  • Пинг: авто (под протокол узла), ICMP или HTTP-запросом через сам узел; свой тестовый адрес и тайм-аут

Безопасность и система

  • Kill Switch и защита от утечки DNS
  • Выбор DNS (Google, Cloudflare, Quad9, Яндекс или свои адреса), IPv6 в туннеле, выбор стека TUN (system / gvisor)
  • Раздача прокси в локальную сеть с выбором порта
  • Зашифрованный экспорт/импорт конфигурации с паролем
  • Автозапуск, работа из системного трея (подключение, выбор сервера, отключение)
  • Встроенное обновление с проверкой целостности загруженного файла и списком изменений после обновления
  • Журнал логов с сохранением в файл для диагностики

Протоколы и ограничения

Категория Протоколы
Классический прокси HTTP, HTTPS, SOCKS5
VPN-стек (sing-box) VLESS, VMess, Trojan, Shadowsocks, Hysteria2, NaiveProxy, WireGuard, AmneziaWG
Транспорты TCP, WebSocket, HTTPUpgrade, gRPC, HTTP/2, XHTTP, mKCP; TLS и Reality; multiplex

Важно:

  • WireGuard и AmneziaWG работают только в режиме Туннель, в режиме Прокси недоступны.
  • AmneziaWG — полный набор полей обфускации: классические Jc/Jmin/Jmax, размеры S1–S4, заголовки H1–H4, signature-пакеты AWG 2.0 I1–I5 + Itime, защита заголовков и тайминги AWG 3.0, случайные хвосты и отключение cookie-ответов AWG 3.1. Поля задаются в редакторе сервера или в режиме JSON. Принимаются URI вида awg://...?Jc=5&Jmin=10&Jmax=50&S1=16&I1=...&Itime=300 (в нижнем и верхнем регистре — клиенты AmneziaVPN отдают Jc/Jmin/...).
  • Hysteria2 поддерживает port hopping (mport), Shadowsocks — плагины SIP003.
  • Подписки в JSON (Xray-формат с outbounds[] и sing-box-формат с type) разбираются для всех ключевых протоколов, включая wireguard/amneziawg с блоком amnezia. Правила маршрутизации, встроенные в подписку, подхватываются автоматически.
  • Приложения в списке «через ВПН» работают только в режиме Туннель.
  • Режим Туннель в Windows требует запуска от имени администратора. После перезапуска с правами администратора выбранный сервер подключается автоматически.
  • Kill Switch в Windows может требовать прав администратора для правил брандмауэра.
  • Если после сбоя/принудительного завершения приложения интернет остается заблокирован, выполните в PowerShell (Администратор): Get-NetFirewallRule -DisplayName 'ResultV_KillSwitch*' -ErrorAction SilentlyContinue | Remove-NetFirewallRule
  • Некоторые провайдеры подписок используют HWID-ограничение устройств; приложение передает стабильный x-hwid при загрузке подписок и показывает причину, если провайдер вернул пустой ответ по лимиту. Передачу HWID можно выключить в настройках.
  • При сбоях пишите в общий чат в Telegram — там работает техподдержка. Приложите сохранённый журнал логов.

Руководство пользователя

Скриншоты ниже показывают русский интерфейс (файлы в docs/images/readme/).

Главная

Кнопка подключения, переключатель Прокси / Туннель и текущий сервер — по стрелке раскрывается список для быстрой смены узла. Пока серверов нет, здесь же кнопка добавления.

Главная — не подключено

При активном соединении видны время сессии, задержка до узла, скорость и объём загруженного и отправленного трафика.

Главная — подключено

Добавить сервер

Импорт из файла или из буфера обмена, вставка ссылки подписки или share-ссылки нужного протокола. Конфиги WireGuard и AmneziaWG вставляются целиком. Перед добавлением подписки показывается превью: число серверов и правила маршрутизации, которые она принесёт.

Добавить сервер

Список серверов

Серверы сгруппированы по подпискам и «Моим серверам». Для каждой группы — пинг, обновление и удаление; для сервера — редактирование и избранное. Сверху — поиск, замер задержки и сортировка. Группы можно перетаскивать: зажмите карточку на секунду, и порядок сохранится и на главной.

Список серверов

Умные правила

Умный режим отправляет в ВПН только заблокированные ресурсы, остальное идёт напрямую — настраивать ничего не нужно. Если нужного сайта нет в списке, его можно добавить в «Сайты через ВПН» (вместе со всеми поддоменами), а приложения, которые ходят по голым IP (например, голос в Discord), — в «Приложения через ВПН».

В Глобальном режиме через ВПН идёт всё, а списки превращаются в исключения: «Сайты напрямую» и «Приложения напрямую».

Умные правила

Профили маршрутизации

Внизу страницы «Умные правила» — профили маршрутизации, собственные наборы правил: что пустить напрямую, что через ВПН, а что заблокировать. Профиль можно создать, импортировать по ссылке из буфера обмена или получить от провайдера подписки — он применяется сразу. Профили доступны только в Глобальном режиме.

Профили маршрутизации

В редакторе профиля задаются домены и IP для Direct, Proxy и Block (поддерживаются geosite: и geoip:), порядок обработки правил перетаскиванием и свои ссылки на базы GeoIP / GeoSite.

Изменение профиля маршрутизации

Купить серверы

Вкладка Купить ведёт на партнёрские предложения (impVPN:telegram), (impVPN:site) - Лучшие ВПН сервера по доступным ценам, а по промокоду result бонус 20% к пополнению баланса. Если у вас уже есть сервер или подписка, шаг можно пропустить.

Купить серверы

Журнал логов

Системные логи и информация о подключениях. Журнал можно сохранить в файл и приложить к сообщению о баге.

Журнал логов

Настройки

Настройки разбиты на разделы:

  • Дополнительные настройки — стек TUN, запуск при старте системы, язык интерфейса, экспорт/импорт конфигурации с паролем
  • Подписки — автообновление и его интервал, передача HWID, свой User-Agent
  • Безопасность — Kill Switch и защита от утечки DNS
  • Сеть — DNS-серверы, IPv6 в туннеле, доступ к прокси из локальной сети и локальный порт
  • Пинг — тип пробы (авто, ICMP, HTTP GET / HEAD через узел), тестовый адрес и тайм-аут
  • Экспериментально — адаптивный умный режим

Настройки


Обновления

Приложение сверяет свою версию с update.json в ветке main. Когда выходит новая версия, ResultV предлагает обновиться: скачивает сборку для своей платформы, сверяет её SHA-256 с манифестом, устанавливает и перезапускается. После обновления показывается список изменений.


Разработка

Требования

  • Go: совместимый с go.mod (директивы go и toolchain)
  • Node.js: 20+ (в CI для релизов используется 24)
  • Wails CLI v2: go install github.com/wailsapp/wails/v2/cmd/wails@latest
  • Windows: среда выполнения WebView2 (обычно уже есть в Windows 10/11)

Запуск в режиме разработки

Из корня репозитория:

wails dev

Запускается Vite с горячей перезагрузкой и связь с Go-бэкендом.


Сборка

Локальная production-сборка

wails build

На Windows при установленном NSIS можно добавить установщик:

wails build -nsis

Для macOS и Linux есть скрипты build-macos.sh и build-linux.sh. Результат в build/bin/ (см. build/README.md).

Релизы в CI

.github/workflows/release.yml по тегу v* собирает Windows, macOS и Linux, считает SHA-256 артефактов для update.json и публикует GitHub Release.


Стек технологий

Слой Технологии
Оболочка Wails v2
UI React 18, Vite, Tailwind CSS, i18next
Бэкенд Go
Прокси-ядро sing-box 1.14 (sing-box-extended), теги сборки в wails.json
Трей energye/systray, нативное меню

Лицензия

Проект распространяется под GNU General Public License v3.0 — см. LICENSE.