Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 3.53 KB

File metadata and controls

57 lines (41 loc) · 3.53 KB

Архитектура

Документ описывает целевую (планируемую) архитектуру Wisp VPN. По мере разработки будет обновляться.

Компоненты

┌─────────────────┐        WireGuard         ┌──────────────────┐
│  Windows-клиент  │  ◄────────────────────►  │  VPN-серверы     │
│  (client/)       │        (UDP, шифр.)       │  (не в этом репо)│
└─────────────────┘                           └──────────────────┘
        │
        ├── GUI — интерфейс подключения, выбор сервера, настройки
        ├── Core — управление туннелем, конфигурацией, ключами
        └── Kill Switch — блокировка трафика при обрыве туннеля

Клиент (client/)

Технологический стек: C# / .NET 8, WPF, MVVM.

Windows-приложение, отвечающее за:

  • установку и настройку туннеля WireGuard;
  • хранение конфигураций подключения локально (без отправки на сторонние серверы);
  • UI: список серверов, статус подключения, статистика трафика;
  • kill switch — правила брандмауэра, блокирующие трафик при разрыве VPN.

Структура решения:

client/
├── src/WispVpn.App/    # WPF UI — Views + ViewModels (MVVM)
├── src/WispVpn.Core/   # платформонезависимая логика:
│   ├── Networking/     #   разбор WireGuard-конфига, измерение пинга
│   ├── Security/       #   генерация ключей (X25519) — пока заглушка
│   ├── Servers/        #   каталог серверов
│   └── Tunnel/         #   ITunnelService — поднятие/остановка туннеля
└── tests/WispVpn.Core.Tests/  # xUnit-тесты на WispVpn.Core

WispVpn.Core не зависит от WPF и может переиспользоваться (например, если позже появится CLI или другой UI-слой). Подробный статус реализации каждого компонента — в client/README.md.

Конфигурация (configs/)

Формат конфигурации соответствует стандартному .conf WireGuard ([Interface] / [Peer]). Пример без реальных ключей — configs/sample.conf.

Принципы

  1. Прозрачность — весь код клиента открыт и проверяем.
  2. Минимум данных — клиент не собирает телеметрию и не хранит логи активности.
  3. Простота — минимум шагов от скачивания до подключения.

Дальнейшее чтение

  • ROADMAP.md — что и в каком порядке реализуется
  • SECURITY.md — модель угроз и процесс раскрытия уязвимостей