Привет, Хабр. Несколько недель назад начал писать собственный VPN-клиент на Flutter — просто потому что хотел разобраться как это работает изнутри. Получилось приложение To the Max, которое я сейчас выкладываю в открытый доступ и ищу первых пользователей для обратной связи.

Что это такое

VPN-клиент для Windows на Flutter, работающий поверх xray-ядра. Протокол — VLESS с транспортом Reality (XTLS-rprx-vision). Reality — это современный транспортный протокол, в котором клиент и сервер обмениваются данными поверх стандартного TLS-соединения. Меня привлёк именно технический аспект: как устроен handshake, как xray-ядро управляет соединениями, как это всё интегрируется в нативное Windows-приложение.

Что реализовано

  • Два режима работы — System Proxy (браузер и большинство приложений) и TUN tunnel через tun2socks (весь трафик ОС)

  • Иконка в системном трее с индикацией статуса подключения

  • Защита от запуска второго экземпляра приложения

  • Автоматическая очистка зависших процессов xray при перезапуске

  • Подключение через стандартную vless:// ссылку из любой панели (3x-ui, Marzban и др.)

  • Отображение типа защиты транспорта (VLESS+Reality / VLESS+TLS) прямо в интерфейсе

  • Логи с цветовой подсветкой внутри приложения

  • Валидация Reality-параметров при сохранении конфига

Архитектура

Приложение построено на абстракции VpnBackend — платформенная реализация скрыта за единым интерфейсом, UI работает только с VpnService. Это позволяет в будущем добавить поддержку других платформ не трогая логику.

Для меня это был хороший способ разобраться с управлением дочерними процессами в Dart, сетевым роутингом на уровне ОС, работой TUN-адаптера на Windows и тонкостями xray-конфигурации.

Хочу попробовать, но нет сервера

Для работы нужен собственный VPS с установленным xray (например через 3x-ui). Если у вас нет сервера — напишите в комментариях, я дам временный доступ к своему на 48 часов первым желающим, чтобы можно было попробовать приложение без лишних настроек.

Что хочу получить от вас

Приложение рабочее, но сырое. Буду рад любой обратной связи:

  • Работает ли у вас подключение и насколько стабильно

  • Что непонятно или неудобно в интерфейсе

  • Баги, которые поймаете

  • Предложения по функциям

Исходники и сборки для Windows здесь: https://github.com/vedomyyy/To-the-Max-VPN

Заранее спасибо всем, кто попробует и напишет что думает — для меня это первый публичный проект такого рода и любая обратная связь ценна.