qWDTT is an Android VPN application that routes WireGuard traffic through VK’s TURN relay infrastructure, disguising every packet as WebRTC call media. Instead of establishing a recognisable VPN connection, the app opens a DTLS channel to a VK group-call relay and wraps all WireGuard UDP datagrams in RTP frames encrypted with ChaCha20-Poly1305 — making the entire flow look like an OPUS audio or H.264 video stream to any deep-packet inspection system on the path. It is aimed at developers who self-host theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/SpaceNeuroX/proxy-turn-vk-android/llms.txt
Use this file to discover all available pages before exploring further.
wdtt-server binary on a VPS and at end-users who need a reliable tunnel on mobile networks that block conventional VPN protocols while whitelisting VK call traffic.
qWDTT vs Base WDTT
qWDTT and the original WDTT share the same protocol and server. Thewdtt-server binary, wdtt:// import links, WRAP/RTP framing, and the Telegram bot are all fully interchangeable — you can deploy the original server and connect with qWDTT without any changes. What differs is the Android client: qWDTT adds a substantially richer UI and workflow on top of the shared foundation.
| Feature | qWDTT | Base WDTT |
|---|---|---|
| Profiles — multiple configs, folders, drag-to-reorder, quick-select on Tunnel tab | ✓ | ✗ (single settings screen) |
Import links — qwdtt://, .qwdtt file, batch JSON, QR export | ✓ | wdtt:// and manual entry only |
| Global VK hashes — shared hash pool across multiple profiles | ✓ | ✗ |
| Ping — latency measurement per profile, sort by RTT | ✓ | ✗ |
| Subscriptions — HTTPS JSON profiles with auto-refresh, traffic display on card | ✓ | ✗ |
| Password status shown on profile card | ✓ | ✗ |
| VK account auth — sign in to VK account, intercept TURN credentials from WebView | ✓ | Anonymous API only |
| Widget — home-screen tunnel toggle | ✓ | ✗ |
| Quick Settings tile | ✓ | ✗ |
| Theme / palette panel | ✓ | ✗ |
Key Features
Multi-Profile Management
Store and organise multiple server configurations in folders. Drag to reorder, switch profiles from the Tunnel tab without navigating away, and batch-import via JSON or QR code.
WRAP Obfuscation
Every WireGuard packet is encrypted with ChaCha20-Poly1305 and wrapped in an RTP v2 header, making traffic indistinguishable from a live OPUS audio or H.264 video stream to DPI systems.
Subscription Profiles
Point the app at an HTTPS JSON endpoint and let it automatically refresh profiles on a schedule. Traffic usage, expiry, and description are surfaced directly on the subscription card.
In-App Server Deploy
Install
wdtt-server on any Linux VPS directly from the Deploy tab — fill in the IP, SSH credentials, and a main password; the app runs the bundled deploy script over SSH without needing a computer.VK Account Mode
Optionally authenticate with a VK account via an embedded WebView to intercept live TURN credentials, bypassing anonymous API rate limits. The session cookie (
remixsid) is long-lived; TURN credentials are cached and renewed automatically every ~9 minutes.Home-Screen Widget & QS Tile
Toggle the tunnel from a home-screen widget or Android Quick Settings tile without opening the app. A foreground service with a watchdog handles network changes and automatic reconnection.
Protocol Compatibility
qWDTT is a fork of amurcanov/proxy-turn-vk-android and uses the same wire protocol as the original WDTT. Both apps connect to the samewdtt-server binary, import the same wdtt:// links issued by the server’s Telegram bot, and produce identical WRAP/RTP framing on the wire. Servers and user passwords are fully interchangeable — if you already run a WDTT server, you can switch to qWDTT on Android with no server-side changes.