qWDTT: VPN-туннель через VK TURN
Автор: GGseq
Что такое qWDTT?
qWDTT - это Android-клиент для создания VPN-туннеля между устройством и собственным VPS через TURN-релеи VK.
Проект основан на протоколе WDTT и использует инфраструктуру VK Calls как транспорт. Снаружи соединение выглядит не как классическое подключение к WireGuard-серверу, а как медиатрафик WebRTC. (GitHub)
Упрощённая схема:
┌──────────────┐
│ Android │
│ qWDTT │
└──────┬───────┘
│
│ RTP / WRAP / DTLS
▼
┌──────────────┐
│ VK TURN │
│ Relay │
└──────┬───────┘
│
│ DTLS
▼
┌──────────────┐
│ Ваш VPS │
│ wdtt-server │
└──────┬───────┘
│
│ WireGuard
▼
Интернет
Как это работает
qWDTT поднимает системный VPN на Android через VpnService.
Далее трафик передаётся через TURN-релей VK. На VPS работает серверная часть WDTT, которая принимает туннель и передаёт трафик дальше через WireGuard.
В репозитории qWDTT описана следующая цепочка:
Android
↓
WireGuard
↓
WRAP
↓
RTP
↓
DTLS
↓
VK TURN
↓
VPS
↓
Internet
WRAP используется для дополнительного шифрования транспортируемых данных, а DTLS обеспечивает защищённый транспорт до TURN-релея. (GitHub)
⸻
Почему qWDTT интересен
Главная особенность qWDTT заключается именно в транспортном уровне.
Обычный WireGuard:
Телефон ───────────────► VPS
WireGuard
qWDTT:
Телефон ──► VK TURN ──► VPS
WebRTC
То есть VPS не является непосредственным первым узлом для клиента.
Это может быть полезно в сетях, где прямое подключение к собственному серверу ограничивается или где используется фильтрация по IP/портам и разрешённым направлениям трафика.
При этом qWDTT не делает WireGuard «невидимым» магическим образом. Это отдельный транспортный слой, который переносит туннель через TURN.
⸻
Что такое WDTT
WDTT - серверная и клиентская часть протокола, на котором основан qWDTT.
Современная реализация WDTT включает:
* WireGuard;
* DTLS;
* TURN;
* WRAP/RTP;
* web-панель;
* пользователей;
* конфигурации;
* ссылки wdtt://;
* интеграцию с Xray.
Серверный проект также поддерживает несколько клиентов: Android WDTT, qWDTT, Windows PWDTT и iOS VK Turn Proxy. (GitHub)
⸻
qWDTT и WDTT
Несмотря на похожие названия, это не одно и то же.
WDTT - протокол и серверная инфраструктура.
qWDTT - расширенный Android-клиент.
Основные возможности qWDTT:
Возможность qWDTT
Android VPN ✅
WireGuard ✅
VK TURN ✅
DTLS ✅
Несколько профилей ✅
QR-импорт ✅
qwdtt:// ✅
wdtt:// ✅
Подписки JSON ✅
Несколько VK hash ✅
VK Account Auth ✅
SOCKS5-режим В некоторых версиях/форках
В официальном репозитории qWDTT указано, что клиент совместим с сервером WDTT и может использовать существующий wdtt-server. (GitHub)
⸻
Профили
Одно из удобств qWDTT - возможность хранить несколько серверов.
Например:
qWDTT
│
├── Дом
│ └── Германия
│
├── VPS 1
│ └── Нидерланды
│
└── VPS 2
└── Финляндия
Для профиля используется специальный URI:
qwdtt://config?name=Дом&peer=1.2.3.4:56000&hashes=HASH&workers=18&port=9000&pass=PASSWORD
Также поддерживается обычный формат:
wdtt://
и импорт через QR-код. (GitHub)
⸻
VK Hash
Для работы схемы используется идентификатор звонка VK, который в проектах называется VK hash.
Идея заключается в том, что клиент получает параметры TURN-соединения, связанные со звонком, и использует их для построения транспорта.
В qWDTT предусмотрено несколько вариантов получения TURN-параметров, включая анонимный режим и авторизацию через VK WebView. (GitHub)
Важно учитывать, что такие параметры могут быть временными. Поэтому отсутствие подключения не всегда означает проблему с VPS или WireGuard.
⸻
Серверная часть
На VPS используется wdtt-server либо современная объединённая реализация WDTT.
Типичная схема портов:
56000/UDP
│
└── DTLS
56001/UDP
│
└── WireGuard
9000/UDP
│
└── локальный транспорт
Конкретные порты зависят от конфигурации сервера. В документации проекта также описывается подсеть клиентов 10.66.0.0/16. (GitHub)
⸻
Панель управления
Современный WDTT может работать не только как сервер, но и как панель управления.
В проекте доступны:
* управление пользователями;
* создание подключений;
* конфигурации;
* VK Calls;
* статистика;
* Xray;
* подписки;
* управление параметрами туннеля.
Репозиторий WDTT описывает единую реализацию wdtt-app, которая объединяет сервер и панель. (GitHub)
⸻
Установка
Для современных реализаций WDTT существует автоматический установщик:
bash <(curl -Ls https://raw.githubusercontent.com/ildarmaga/wdtt-install/main/install.sh)
После установки серверная часть может использовать веб-панель для дальнейшей настройки. (GitHub)
Перед использованием установочных скриптов обязательно проверяйте исходный код и репозиторий, особенно если сервер будет использоваться для реального трафика.
⸻
qWDTT против обычного WireGuard
Обычный WireGuard:
Client
│
│ UDP
▼
VPS
│
▼
Internet
qWDTT:
Client
│
│ VPN
▼
qWDTT
│
│ WRAP/RTP/DTLS
▼
VK TURN
│
▼
VPS
│
▼
Internet
Второй вариант добавляет несколько дополнительных компонентов и поэтому становится сложнее в настройке и диагностике.
Зато появляется возможность использовать TURN как промежуточный транспорт.
⸻
Ограничения
У qWDTT есть и недостатки.
1. Зависимость от VK
Схема зависит от доступности и поведения инфраструктуры VK TURN.
Если VK изменит API, авторизацию или TURN-механику, конкретная версия клиента может перестать работать.
2. Дополнительная задержка
Трафик идёт не напрямую:
Client → VPS
а через промежуточный узел:
Client → TURN → VPS
Поэтому задержка может увеличиваться.
3. Ограничения TURN
TURN изначально предназначен для WebRTC-релирования, а не для постоянной передачи большого VPN-трафика.
4. Изменения клиентов
qWDTT и WDTT активно развиваются. Например, в GitHub встречаются новые форки и клиенты, совместимые с протоколом WDTT. (GitHub)
Поэтому инструкции для старой версии могут отличаться от актуальной.
⸻
Безопасность
Важно разделять несколько вещей.
qWDTT не означает, что VK получает расшифрованный содержимое VPN-трафика.
При корректной реализации транспорт используется для передачи зашифрованных данных между клиентом и вашим сервером.
Однако VK TURN является промежуточным транспортным узлом и видит метаданные своего соединения.
Также безопасность всей системы зависит от:
* qWDTT;
* WDTT-сервера;
* WireGuard;
* конфигурации VPS;
* используемой авторизации;
* безопасности VK-аккаунта;
* актуальности программного обеспечения.
Поэтому не стоит воспринимать qWDTT как «абсолютно анонимный» или «невидимый» VPN.
⸻
Где искать исходники
Основной экосистемой являются GitHub-репозитории WDTT/qWDTT.
qWDTT на GitHub
WDTT Server + Panel
Также существуют другие форки qWDTT и совместимые клиенты. (GitHub)
⸻
Итог
qWDTT представляет собой интересную архитектуру:
┌─────────────┐
│ Android │
│ qWDTT │
└──────┬──────┘
│
▼
WireGuard
│
▼
WRAP / RTP
│
▼
DTLS
│
▼
┌─────────────┐
│ VK TURN │
│ Relay │
└──────┬──────┘
│
▼
┌─────────────┐
│ VPS │
│ WDTT │
└──────┬──────┘
│
▼
Интернет
Главная идея qWDTT - не заменять WireGuard, а использовать VK TURN как транспорт для доставки туннеля до собственного сервера.
Именно поэтому проект интересен с точки зрения сетевой инженерии: здесь объединяются WireGuard, WebRTC TURN, DTLS, RTP и собственный транспортный протокол в одну систему. 🚀
Автор: GGseq
Автор: GGseq
Что такое qWDTT?
qWDTT - это Android-клиент для создания VPN-туннеля между устройством и собственным VPS через TURN-релеи VK.
Проект основан на протоколе WDTT и использует инфраструктуру VK Calls как транспорт. Снаружи соединение выглядит не как классическое подключение к WireGuard-серверу, а как медиатрафик WebRTC. (GitHub)
Упрощённая схема:
┌──────────────┐
│ Android │
│ qWDTT │
└──────┬───────┘
│
│ RTP / WRAP / DTLS
▼
┌──────────────┐
│ VK TURN │
│ Relay │
└──────┬───────┘
│
│ DTLS
▼
┌──────────────┐
│ Ваш VPS │
│ wdtt-server │
└──────┬───────┘
│
│ WireGuard
▼
Интернет
Как это работает
qWDTT поднимает системный VPN на Android через VpnService.
Далее трафик передаётся через TURN-релей VK. На VPS работает серверная часть WDTT, которая принимает туннель и передаёт трафик дальше через WireGuard.
В репозитории qWDTT описана следующая цепочка:
Android
↓
WireGuard
↓
WRAP
↓
RTP
↓
DTLS
↓
VK TURN
↓
VPS
↓
Internet
WRAP используется для дополнительного шифрования транспортируемых данных, а DTLS обеспечивает защищённый транспорт до TURN-релея. (GitHub)
⸻
Почему qWDTT интересен
Главная особенность qWDTT заключается именно в транспортном уровне.
Обычный WireGuard:
Телефон ───────────────► VPS
WireGuard
qWDTT:
Телефон ──► VK TURN ──► VPS
WebRTC
То есть VPS не является непосредственным первым узлом для клиента.
Это может быть полезно в сетях, где прямое подключение к собственному серверу ограничивается или где используется фильтрация по IP/портам и разрешённым направлениям трафика.
При этом qWDTT не делает WireGuard «невидимым» магическим образом. Это отдельный транспортный слой, который переносит туннель через TURN.
⸻
Что такое WDTT
WDTT - серверная и клиентская часть протокола, на котором основан qWDTT.
Современная реализация WDTT включает:
* WireGuard;
* DTLS;
* TURN;
* WRAP/RTP;
* web-панель;
* пользователей;
* конфигурации;
* ссылки wdtt://;
* интеграцию с Xray.
Серверный проект также поддерживает несколько клиентов: Android WDTT, qWDTT, Windows PWDTT и iOS VK Turn Proxy. (GitHub)
⸻
qWDTT и WDTT
Несмотря на похожие названия, это не одно и то же.
WDTT - протокол и серверная инфраструктура.
qWDTT - расширенный Android-клиент.
Основные возможности qWDTT:
Возможность qWDTT
Android VPN ✅
WireGuard ✅
VK TURN ✅
DTLS ✅
Несколько профилей ✅
QR-импорт ✅
qwdtt:// ✅
wdtt:// ✅
Подписки JSON ✅
Несколько VK hash ✅
VK Account Auth ✅
SOCKS5-режим В некоторых версиях/форках
В официальном репозитории qWDTT указано, что клиент совместим с сервером WDTT и может использовать существующий wdtt-server. (GitHub)
⸻
Профили
Одно из удобств qWDTT - возможность хранить несколько серверов.
Например:
qWDTT
│
├── Дом
│ └── Германия
│
├── VPS 1
│ └── Нидерланды
│
└── VPS 2
└── Финляндия
Для профиля используется специальный URI:
qwdtt://config?name=Дом&peer=1.2.3.4:56000&hashes=HASH&workers=18&port=9000&pass=PASSWORD
Также поддерживается обычный формат:
wdtt://
и импорт через QR-код. (GitHub)
⸻
VK Hash
Для работы схемы используется идентификатор звонка VK, который в проектах называется VK hash.
Идея заключается в том, что клиент получает параметры TURN-соединения, связанные со звонком, и использует их для построения транспорта.
В qWDTT предусмотрено несколько вариантов получения TURN-параметров, включая анонимный режим и авторизацию через VK WebView. (GitHub)
Важно учитывать, что такие параметры могут быть временными. Поэтому отсутствие подключения не всегда означает проблему с VPS или WireGuard.
⸻
Серверная часть
На VPS используется wdtt-server либо современная объединённая реализация WDTT.
Типичная схема портов:
56000/UDP
│
└── DTLS
56001/UDP
│
└── WireGuard
9000/UDP
│
└── локальный транспорт
Конкретные порты зависят от конфигурации сервера. В документации проекта также описывается подсеть клиентов 10.66.0.0/16. (GitHub)
⸻
Панель управления
Современный WDTT может работать не только как сервер, но и как панель управления.
В проекте доступны:
* управление пользователями;
* создание подключений;
* конфигурации;
* VK Calls;
* статистика;
* Xray;
* подписки;
* управление параметрами туннеля.
Репозиторий WDTT описывает единую реализацию wdtt-app, которая объединяет сервер и панель. (GitHub)
⸻
Установка
Для современных реализаций WDTT существует автоматический установщик:
bash <(curl -Ls https://raw.githubusercontent.com/ildarmaga/wdtt-install/main/install.sh)
После установки серверная часть может использовать веб-панель для дальнейшей настройки. (GitHub)
Перед использованием установочных скриптов обязательно проверяйте исходный код и репозиторий, особенно если сервер будет использоваться для реального трафика.
⸻
qWDTT против обычного WireGuard
Обычный WireGuard:
Client
│
│ UDP
▼
VPS
│
▼
Internet
qWDTT:
Client
│
│ VPN
▼
qWDTT
│
│ WRAP/RTP/DTLS
▼
VK TURN
│
▼
VPS
│
▼
Internet
Второй вариант добавляет несколько дополнительных компонентов и поэтому становится сложнее в настройке и диагностике.
Зато появляется возможность использовать TURN как промежуточный транспорт.
⸻
Ограничения
У qWDTT есть и недостатки.
1. Зависимость от VK
Схема зависит от доступности и поведения инфраструктуры VK TURN.
Если VK изменит API, авторизацию или TURN-механику, конкретная версия клиента может перестать работать.
2. Дополнительная задержка
Трафик идёт не напрямую:
Client → VPS
а через промежуточный узел:
Client → TURN → VPS
Поэтому задержка может увеличиваться.
3. Ограничения TURN
TURN изначально предназначен для WebRTC-релирования, а не для постоянной передачи большого VPN-трафика.
4. Изменения клиентов
qWDTT и WDTT активно развиваются. Например, в GitHub встречаются новые форки и клиенты, совместимые с протоколом WDTT. (GitHub)
Поэтому инструкции для старой версии могут отличаться от актуальной.
⸻
Безопасность
Важно разделять несколько вещей.
qWDTT не означает, что VK получает расшифрованный содержимое VPN-трафика.
При корректной реализации транспорт используется для передачи зашифрованных данных между клиентом и вашим сервером.
Однако VK TURN является промежуточным транспортным узлом и видит метаданные своего соединения.
Также безопасность всей системы зависит от:
* qWDTT;
* WDTT-сервера;
* WireGuard;
* конфигурации VPS;
* используемой авторизации;
* безопасности VK-аккаунта;
* актуальности программного обеспечения.
Поэтому не стоит воспринимать qWDTT как «абсолютно анонимный» или «невидимый» VPN.
⸻
Где искать исходники
Основной экосистемой являются GitHub-репозитории WDTT/qWDTT.
qWDTT на GitHub
WDTT Server + Panel
Также существуют другие форки qWDTT и совместимые клиенты. (GitHub)
⸻
Итог
qWDTT представляет собой интересную архитектуру:
┌─────────────┐
│ Android │
│ qWDTT │
└──────┬──────┘
│
▼
WireGuard
│
▼
WRAP / RTP
│
▼
DTLS
│
▼
┌─────────────┐
│ VK TURN │
│ Relay │
└──────┬──────┘
│
▼
┌─────────────┐
│ VPS │
│ WDTT │
└──────┬──────┘
│
▼
Интернет
Главная идея qWDTT - не заменять WireGuard, а использовать VK TURN как транспорт для доставки туннеля до собственного сервера.
Именно поэтому проект интересен с точки зрения сетевой инженерии: здесь объединяются WireGuard, WebRTC TURN, DTLS, RTP и собственный транспортный протокол в одну систему. 🚀
Автор: GGseq

