ПРИЛОЖЕНИЕ · ПОДКЛЮЧЕНИЕ · ДИАГНОСТИКА
VPN-клиент для компьютера
OTVPN Client
Приложение для подключения к VPN-сервису с компьютера. В нём собраны аккаунт, подписки, выбор профиля и диагностика соединения. Версии для Windows и macOS находятся в разработке.
В разработке
Аккаунт, VPN-подписка, подключение и диагностика в одном приложении.
Задача
Сделать приложение, в котором пользователь входит в аккаунт и подключается по своей подписке. Предусмотреть управление сетью, проверку проблем и установку обновлений.
Из чего состоит
- Интерфейс приложения
- Аккаунт, подписки, профили, состояние соединения и настройки. Версии используют общие экраны на Avalonia.
- Сетевой сервис
- Отдельный системный сервис управляет VPN-туннелем. Интерфейс передаёт команды и показывает состояние подключения.
- Аккаунт и API
- Авторизация, второй фактор, получение подписок и настроек. Сессия хранится средствами операционной системы: DPAPI в Windows и Keychain в macOS.
- Правила подключения
- Выбор профиля, обновляемые правила маршрутизации и исключения для приложений. Возможности зависят от версии и платформы.
- Диагностика сети
- Проверки DNS и сетевых соединений, экран результатов и журнал. Эти данные помогают выяснить, почему подключение не работает.
- Установка и обновления
- Установщик Windows, загрузка обновлений с проверкой подписи манифеста и целостности файла. Версия для macOS пока обновляется вручную.
Моя работа
Разрабатываю интерфейс и системный сервис, связываю приложение с API аккаунтов и подписок. Делаю диагностику, установщик и обновления. Адаптирую общие части под macOS.
Технологии
- C#
- .NET
- Avalonia
- sing-box
- WiX
- Python
- FastAPI
Как работает
Работа сетевого сервиса отделена от интерфейса. Окно приложения показывает состояние и отправляет команды, а подключение обслуживает системный процесс.
Сессия хранится в защищённом хранилище операционной системы. Для обновлений Windows предусмотрены проверка подписи манифеста и хеша файла.
Windows и macOS используют общие части проекта, но развиваются отдельно. Поддержка одинаковых функций на обеих платформах ещё не завершена.
Результат
VPN-клиент с интерфейсом, системным сервисом, API и диагностикой. Версии для Windows и macOS остаются в разработке и тестировании.
Следующий проект
Модератор Telegram-чатов