REGSTAR
← Все проекты
Иконка WDTT GatewayСтабильная версия · v1.0.0

> windows / домашний сетевой шлюз

WDTT Windows Home Gateway

Домашний qWDTT-шлюз на Windows 10/11 через Docker Desktop с Direct-маршрутом, серверным DNS-over-HTTPS и отдельным маршрутом Cloudflare WARP.

Проект упаковывает совместимый с qWDTT сервер для домашнего Windows-сценария, создаёт Android-профили, подготавливает данные для проброса порта на роутере и предоставляет единый интерфейс управления через service.cmd. Telegram Proxy подключается отдельно и не зависит от основного шлюза.

Windows 10/11Docker DesktopGoPowerShellqWDTTGPL-3.0
AndroidqWDTT profile
РоутерUDP :56000
Windows 10/11Docker Desktop · service.cmd
Docker ComposeCore / CoreDns / Full
corewdtt-serverqWDTT · DTLS · WireGuard
dns profilewdtt-dnsDNS → DoH
warp profilewdtt-warp-gatewayCloudflare WARP
optionalwdtt-telegram-proxyFlowseal/tg-ws-proxy
DIRECT
домашний IP
DNS / DoH
резолвер
WARP
fail-closed
ПлатформаWindows 10/11 x64
Релизv1.0.0
Опубликован9 августа 2026
СредаDocker Desktop
ЛицензияGPL-3.0-only

> контекст

Домашний шлюз на базе уже существующего Windows-ПК

WDTT — не системный VPN-клиент для Windows. Компьютер выступает серверной точкой для qWDTT на Android и публикует наружу только те сетевые точки входа, которые пользователь настроил явно.

01 / проблема

Домашний маршрут состоит из нескольких систем

Рабочая удалённая схема qWDTT включает Windows-хост, Docker, доступный порт на роутере, Android-профили, DNS-политику, дополнительную маршрутизацию, диагностику, резервные копии и секреты. Ручное управление всеми слоями быстро становится хрупким.

02 / подход

Единый управляемый пакет для Windows

Docker Desktop остаётся явной предварительной зависимостью, а проект управляет только собственными ресурсами WDTT. service.cmd объединяет установку, запуск/остановку, Doctor, данные для роутера, профили, ресурсы, backup/update, Telegram Proxy и экспериментальные возможности.

> режимы

Три поддерживаемых режима шлюза

Режим определяет набор активных Docker-сервисов. Direct и WARP — отдельные политики маршрутизации, а не автоматические fallback-маршруты.

CORE

Core

Только основной сервер WDTT.

  • Home - Direct
  • Минимальный набор контейнеров
  • Без серверного DoH и WARP
COREDNS

CoreDns

Основной сервер + серверный DNS-over-HTTPS.

  • Home - Direct
  • Перехват обычного DNS внутри туннеля
  • Поддерживается собственный DoH endpoint

$ маршруты

Маршруты остаются явными

DNS может менять способ разрешения имён, не меняя внешний IP. WARP меняет маршрут только для клиентов, которым назначена WARP-политика.

Direct
qWDTTwdtt-serverWireGuard wdtt0домашний uplink

Используется домашний внешний IP. Это штатный маршрут профиля Home - Direct.

DNS / DoH
DNS клиентатуннельwdtt-dnsHTTPS-резолвер

Доступно в CoreDns и Full. Android Private DNS и DoH внутри приложения или браузера могут обходить серверный DNS.

WARP
qWDTTwdtt0policy routingwdtt-warp-gateway

Доступно в Full. При отказе WARP-шлюза профиль WARP должен потерять доступ, а не незаметно вернуться на Direct.

Telegram Proxy
Telegramприватный адрес WDTTwdtt-telegram-proxy

Необязательный Flowseal/tg-ws-proxy внутри сетевого пространства WDTT. Сбой прокси не должен ломать основной сервер.

> service.cmd

service.cmd — основной интерфейс управления

Windows-пакет намеренно использует текстовую панель управления вместо отдельного GUI, скрывающего состояние Docker и сети.

C:\WDTT\service.cmd
Пароли и готовые qwdtt:// ссылки скрыты, пока пользователь явно не запросит их показ.

> установка

От ZIP до рабочего профиля на телефоне

Штатный сценарий отдельно рассматривает зависимости Windows, роутер и реальную внешнюю доступность.

01

Подготовить Windows

Вручную установить и запустить Docker Desktop. Если Docker использует WSL 2, подготовить WSL вне WDTT.

02

Запустить service.cmd

Выбрать установку, режим Core/CoreDns/Full, порт, DNS, лимиты ресурсов и сетевой адаптер.

03

Настроить роутер

По ROUTER-SETUP.txt закрепить LAN-адрес ПК и пробросить выбранный UDP-порт.

04

Импортировать профиль

Раскрыть Direct/WARP credentials только при необходимости и импортировать сгенерированные qwdtt:// данные.

05

Проверить извне

Выполнить Status/Doctor локально, затем проверить подключение телефона через мобильную сеть: локальная диагностика не доказывает доступность входящего UDP у провайдера/роутера.

$ архитектура

Архитектура Docker и маршрутизации

Дополнительные функции по возможности вынесены в отдельные Compose-сервисы и profiles, чтобы ограничить область отказа и сохранить понятным основной серверный путь.

Windows host

Windows 10/11 x64, Docker Desktop, Windows PowerShell 5.1, service.cmd и управляющие скрипты.

wdtt-server

Привилегированный Go-сервер, совместимый с qWDTT: TUN, WireGuard wdtt0, Direct-политика и опубликованный WDTT-порт.

wdtt-dns

Необязательный dnsproxy в сетевом пространстве wdtt-server; обычный DNS внутри маршрута перенаправляется на настроенный DoH upstream.

wdtt-warp-gateway

Необязательный Linux-клиент Cloudflare WARP в отдельной Docker-сети; policy routing отправляет через него только WARP-клиентов WDTT.

wdtt-telegram-proxy

Необязательный Flowseal/tg-ws-proxy в сетевом пространстве WDTT; по умолчанию не требует отдельной публикации Docker-порта.

Состояние и инструменты

Локальные .env/data, setup-output, backup/restore, resource profiles, Status/Doctor, update и uninstall.

> инженерные решения

Инженерные решения

Проект сознательно избегает нескольких удобных на первый взгляд сокращений, которые сделали бы домашний шлюз менее предсказуемым или безопасным.

Зависимости

Не настраивать Windows автоматически

WDTT не устанавливает Docker Desktop, WSL, winget, Virtual Machine Platform и не меняет BIOS/UEFI. Недостающие зависимости выявляются отдельной диагностикой.

Маршрутизация

WARP должен быть fail-closed

Профиль WARP не должен незаметно раскрывать домашний Direct IP, если Cloudflare WARP недоступен.

Секреты

Не сохранять пароли профилей в памятках

ANDROID-PROFILES.txt сохраняется без паролей; реальные пароли и qwdtt:// ссылки показываются только после явного подтверждения.

Сетевая поверхность

Публиковать только необходимое

Обычной установке нужен выбранный UDP endpoint WDTT. DNS-порты, внутренний WireGuard, Docker API и административные интерфейсы не предназначены для публикации в интернет.

Необязательный прокси

Telegram Proxy имеет отдельный lifecycle

Enable/update/rollback/health изолированы так, чтобы сбой прокси не останавливал основной стек WDTT.

Экспериментальный транспорт

No-DTLS включается только вручную

Отдельный no-DTLS listener выключен по умолчанию и не является частью штатной работы Core/CoreDns/Full.

> технологии

Технологический стек

Goсервер, совместимый с qWDTT
PowerShell 5.1управление Windows
Docker Composeоркестрация сервисов
Docker Desktopсреда Windows
WireGuardвнутренний туннель
dnsproxyсерверный DoH
Cloudflare WARPнеобязательный маршрут
Flowseal/tg-ws-proxyнеобязательный Telegram Proxy
Pester + Go testsпроверка

> безопасность

ЛОКАЛЬНЫЕ СЕКРЕТЫ

Состояние шлюза нужно считать чувствительной конфигурацией.

Backup, .env, приватные ключи, WARP state, Telegram secret, пароли профилей и import links могут давать доступ к шлюзу. Для логов, сгенерированных файлов и опубликованных портов в проекте заданы отдельные границы.

  • ANDROID-PROFILES.txt сохраняется без реальных паролей
  • Памятка роутера содержит сетевые данные, но не пароли профилей
  • Backup-архив нужно хранить как секрет
  • Не публикуйте docker compose config после подстановки переменных
  • Проверяйте логи перед публикацией
  • Не публикуйте DNS-порты, Docker API и внутренние административные порты

> происхождение

Происхождение проекта

Шлюз содержит модифицированную серверную часть qWDTT, производную от SpaceNeuroX/proxy-turn-vk-android. Это не официальный релиз qWDTT/SpaceNeuroX. Интеграция Telegram Proxy отдельно использует Flowseal/tg-ws-proxy как необязательный компонент.

> ограничения

ЯВНЫЕ ПРЕДПОСЫЛКИ

Домашняя сеть всё равно имеет внешние ограничения.

Для обычного подключения нужен достижимый UDP endpoint. CGNAT или двойной NAT могут потребовать изменений у провайдера или другой сетевой схемы. WARP зависит от Cloudflare, а локальный Doctor не может доказать, что входящий UDP реально проходит из интернета.

$ стабильный_релиз

WDTT Windows Home Gateway v1.0.0

v1.0.0 — первый стабильный публичный выпуск. Windows ZIP собирается по allowlist, PowerShell и shell-файлы проверяются, а готовый архив после создания распаковывается во временную папку и валидируется повторно.

Windows ZIP SHA-25654CDD3BAE5EC4369DEE442D31E832014821047FD21A3CD72E341F9C42B459516
Версия1.0.0
ПлатформаWindows 10/11 x64
Пакет279 651 байт
ФорматWindows ZIP
Основной UIservice.cmd
КаналСтабильный

> ссылки проекта

Ресурсы проекта

GitHub остаётся источником истины для релизов, пользовательских гайдов, безопасности, совместимости с upstream и задач.