This guide walks you from a fresh Android device and a bare VPS to a working WireGuard tunnel that travels through VK’s TURN relay infrastructure — disguised as WebRTC call media. The entire setup, including server deployment, is done from the phone.Documentation 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.
Install the App
Download the latest APK from the GitHub releases page:https://github.com/SpaceNeuroX/proxy-turn-vk-android/releasesInstall the APK directly (allow installation from unknown sources if prompted). qWDTT requires Android with
VpnService support. Version 1.4.0 or later is recommended to access all features described in this documentation, including the subscription system and Quick Settings tile.Prepare Your VPS
You need a Linux VPS with a public IPv4 address. Two UDP ports must be reachable from the internet:
Open both ports in your firewall or security group before deploying. The following distributions are supported:
| Port | Purpose |
|---|---|
56000/udp | DTLS listener — clients connect here |
56001/udp | Internal WireGuard port on the server |
- Debian 11+
- Ubuntu 20.04+
- CentOS / RHEL / Fedora / AlmaLinux / Rocky Linux
Deploy the Server
Open the Deploy tab in qWDTT and fill in the fields:
Tap Deploy. The app connects to your VPS over SSH and runs the bundled
| Field | Description |
|---|---|
| Server IP | Public IPv4 address of your VPS |
| SSH login | Usually root or your sudo-capable user |
| SSH password or key | Password auth or paste a private key |
| Main password | The primary WRAP + auth password for the tunnel |
| Telegram bot token | (Optional) Token from @BotFather for the server’s Telegram bot |
| Telegram admin ID | (Optional) Your Telegram user ID — makes you the bot admin |
deploy.sh script, which compiles and installs wdtt-server as a systemd service. Deployment logs appear in real time in the Deploy tab.If you already have a running
wdtt-server (original WDTT deploy), skip this step — qWDTT is fully compatible with the existing server.Get a VK Call Hash
The tunnel rides inside a VK group call, so you need an active call with a join link.
- Open VK and start a group call in any community or chat.
- Tap Invite → Copy link. The link looks like:
- The hash is everything after
/join/— in this example:AbCdEfGhIjKl.
Import and Connect
You have three ways to create a profile:Option A — Paste a link
Copy a
wdtt:// or qwdtt:// link (e.g. from your server’s Telegram bot) and tap the clipboard import button on the Profiles tab. qWDTT automatically parses both formats.Option B — Scan a QR code
Tap the QR icon on the Profiles tab and scan a QR code generated by the server bot or another qWDTT device.Option C — Manual entry
Tap + → New profile and fill in server address, DTLS port, WireGuard port, local port, password, and one or more VK hashes.Once the profile is saved, switch to the Tunnel tab, select the profile, and tap Connect. Grant the VPN permission when Android prompts you. The connection pipeline indicator shows each step — VK credentials, DTLS handshake, worker readiness — as it progresses.Minimal wdtt:// Link Format
A wdtt:// link encodes all connection parameters in a single string:
| Field | Example value | Description |
|---|---|---|
| Server IP | 203.0.113.10 | Public IP of your VPS |
dtls_port | 56000 | UDP port for DTLS (client-facing) |
wg_port | 56001 | Internal WireGuard port on the server |
local_port | 9000 | Local UDP port on the Android device |
password | MySecretPass | Connection password (WRAP key + auth) |
vk_hash | AbCdEfGhIjKlHash | VK call join hash |
wdtt:// link is imported, the worker count defaults to 16 (matching the original WDTT client behaviour).
Keep the VK call alive for as long as you need the tunnel. The hash becomes invalid if the call is ended for all participants. For long-running deployments, consider running a call in a dedicated VK community and never ending it — the hash will stay valid indefinitely as long as at least one participant remains.