norogamiDEVНаписать в Telegram
Все проекты

ПРИЛОЖЕНИЕ · ПОДКЛЮЧЕНИЕ · ДИАГНОСТИКА

VPN-клиент для компьютера

OTVPN Client

Приложение для подключения к VPN-сервису с компьютера. В нём собраны аккаунт, подписки, выбор профиля и диагностика соединения. Версии для Windows и macOS находятся в разработке.

В разработке

Продукт
Приложение для Windows и macOS
Мой вклад
Интерфейс, сетевой сервис, клиентский API и установщик
Формат
Собственный проект
OTVPN

Аккаунт, 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-чатов

Обсудим
ваш проект.

Напишите, что хотите разработать и кому это нужно. Обсудим функции, сроки и бюджет, затем запуск и дальнейшую поддержку.

Написать в Telegram