CosVPN.

Собственный VPN-протокол с DPI-обфускацией: TLS 1.3 на 443, кроссплатформенные клиенты, веб-дашборд администратора

Ключевые тезисы.

01Собственный VPN-протокол на базе WireGuard с трёхслойной обфускацией: XOR-заголовки + random padding + junk injection — DPI не детектирует
02TLS 1.3 транспортная обёртка на порту 443 — снаружи трафик неотличим от обычного HTTPS, прохождение через любые блокировки
03Три режима работы (auto / direct / tls) с автоматическим fallback за 3 секунды — пользователь не должен думать о настройках
04Кроссплатформенные клиенты для всех ОС: Android (Kotlin/gomobile), iOS+macOS (Swift), Windows (WireGuardNT-форк), Linux + варианты для роутеров Ubiquiti
05Встроенный веб-дашборд администратора на HTTPS:8443: статистика, управление клиентами с QR-кодами, настройки обфускации, логи — без отдельной admin-панели
06Сохранена криптография WireGuard (ChaCha20-Poly1305, Curve25519, BLAKE2s, Noise IKpsk2) — никаких ослаблений безопасности ради обфускации
07v2 в продакшене с веб-дашбордом и SaaS-моделью на cos-vpn.tech, v4 в активной разработке с миграцией на Xray-core REALITY-протокол

10+.

платформ клиентов

3.

слоя обфускации

443.

порт UDP/TLS

Статус

Beta

Год

2025

Категория

DevOps

Стек

Go 1.23Next.js 15React 19TypeScriptTailwind CSS 4Radix UIgvisorWireGuard forkXray-core REALITY

Теги

VPNDPI BypassОбфускацияPrivacyGoWireGuardXray-coreSelf-hostedSaaSКроссплатформа

CosVPN — собственный VPN-протокол с трёхслойной обфускацией, не детектируемый системами DPI (Deep Packet Inspection) провайдеров. Архитектурно — форк WireGuard, полностью ребрендированный и расширенный: XOR-шифрование заголовков, случайный padding (0–64 байт), инъекция мусорных пакетов (вероятность 30%) и обёртка в TLS 1.3 на порту 443 — снаружи трафик выглядит как обычный HTTPS. Сервер на Go, кроссплатформенные клиенты для Android, iOS, macOS, Windows, Linux, встроенный веб-дашборд администратора.

Проблема и контекст

Стандартный WireGuard легко блокируется на уровне DPI по трём сигнатурам: первые 4 байта пакета — Message Type (01/02/03/04), фиксированные размеры пакетов (handshake initiation — 148 байт, response — 92), UDP на нестандартных портах. OpenVPN детектируется ещё проще. В российских реалиях это означает, что любой стандартный VPN перестаёт работать через несколько часов после развёртывания. CosVPN решает эту задачу не на уровне «купим прокси и помолимся», а на уровне самого протокола: переписан wire-format, добавлена многоуровневая обфускация, есть TLS-fallback на 443-м порту.

Трёхслойная обфускация

Слой 1: XOR-обфускация заголовков ключом `obfs_key` (128 бит), случайный padding 0–64 байта с длиной в последнем байте, инъекция мусорных пакетов 64–1264 байт с маркером 0xFF (отбрасываются на приёме). Результат: размеры пакетов всегда разные, нет фиксированных сигнатур, DPI не ловит по шаблонам. Слой 2: TLS 1.3 транспортная обёртка на порту 443. Клиент устанавливает стандартный TLS-handshake, снаружи виден обычный HTTPS-трафик, внутри TLS-канала идут уже обфусцированные CosVPN-пакеты. Слой 3: режим работы (auto/direct/tls): direct — обфусцированный UDP на 443 (быстро если не блокируется), tls — принудительный TLS 1.3 (медленнее но всегда проходит), auto — fallback за 3 секунды.

Архитектура сервера

CosVPN-Go — один бинарник, компилируется на Linux, macOS, FreeBSD, OpenBSD, Windows. Создаёт TUN-интерфейс `cosvpn0`, слушает на UDP:443 (VPN-трафик) и HTTPS:8443 (админ-дашборд) одновременно: TLS ClientHello → принимает как TLS, UDP-пакет → обрабатывает в direct-режиме. Встроенный Go `net/http` веб-сервер с фронтендом через `embed`. Обращается к ОС напрямую: exec wg, конфиги через `/etc/cosvpn/`, генерация ключей через crypto/rand. Криптография остаётся неизменной от WireGuard: ChaCha20-Poly1305, Curve25519, BLAKE2s, Noise IKpsk2 handshake — изменены только идентификаторы протокола.

Кроссплатформенные клиенты

  • CosVPN-Android — Kotlin/Gradle, использует gomobile-связку с CosVPN-Go, поддержка Android TV
  • CosVPN-Apple — Swift/iOS+macOS со встроенным Go-бриджем и VPN Extension API
  • CosVPN-MacBar — macOS status bar для быстрого доступа и переключения режимов
  • CosVPN-Windows — WireGuardNT-форк с интеграцией протокола и Wintun-драйвером
  • CosVPN-Linux — стандартный дистрибутив, CosVPN-Linux-Compat для старых систем
  • CosVPN-Vyatta-Ubnt — для маршрутизаторов Ubiquiti
  • Все клиенты компилируются из CosVPN-Go через gomobile bind, наследуют обфускацию и режимы

Веб-дашборд администратора

Встроенный в CosVPN-Go веб-интерфейс на HTTPS:8443. Главная — статистика сервера (аптайм, CPU, RAM, диск, статус VPN, число клиентов, режим обфускации, суммарный трафик). Управление клиентами — таблица с IP, статусом, последним handshake, трафиком, кнопка «Добавить», QR-код для мобильных, скачивание .conf, удаление. Настройки — обфускационный ключ (маскировка, регенерация), режим работы, порт VPN, DNS-серверы, MTU, подсеть. Логи — последние 100 событий (подключение/отключение/ошибки). Безопасность: HTTPS с самоподписанным сертификатом, пароль из env `COSVPN_ADMIN_PASSWORD`, JWT-токен (HS256, 24h) в httpOnly cookie, rate limiting на логине (5 попыток/мин).

Маркетинговый сайт и SaaS-модель

Маркетинг-фронт на cos-vpn.tech — Next.js 15 + React 19 + TypeScript + Tailwind 4 + Radix UI + MDX. Hero, фичи, тарифы, FAQ, регистрация, вход. Модель: B2C SaaS с тарифами Free / Pro / Business (лимиты по трафику и одновременным подключениям), B2B (корпоративные пакеты, white-label, API-доступ), self-hosted (внутренний дашборд клиента). Версия v2 — стабильна, в продакшене (тестовый сервер 72.56.26.254, дашборд cosvpn.cos-it.ru). v3-v4 в активной разработке — миграция на Xray-core с REALITY-режимом (имитация под конкретный веб-сайт), DE-сервер с REALITY-ключами и UUID для cos/son/relay узлов.

Статус

v2 (текущая стабильная) с архитектурой Popover UI, proxy-архитектурой, полной обфускацией и веб-дашбордом. v4 — Xray-core REALITY-протокол в активной разработке. Последние коммиты май 2026: миграция MacBar на xray-core, 18 фиксов по безопасности (race conditions, утечки ресурсов), Popover UI. Поддержка более 10 платформ и вариантов клиентов.

Лучший VPN — это VPN, которого провайдер не видит.
Открыть проект

Поделиться

следующая
CosVoice