Skip to main content

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.

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.
1

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.
2

Prepare Your VPS

You need a Linux VPS with a public IPv4 address. Two UDP ports must be reachable from the internet:
PortPurpose
56000/udpDTLS listener — clients connect here
56001/udpInternal WireGuard port on the server
Open both ports in your firewall or security group before deploying. The following distributions are supported:
  • Debian 11+
  • Ubuntu 20.04+
  • CentOS / RHEL / Fedora / AlmaLinux / Rocky Linux
No manual software installation is needed on the VPS; the deploy step handles everything.
3

Deploy the Server

Open the Deploy tab in qWDTT and fill in the fields:
FieldDescription
Server IPPublic IPv4 address of your VPS
SSH loginUsually root or your sudo-capable user
SSH password or keyPassword auth or paste a private key
Main passwordThe 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
Tap Deploy. The app connects to your VPS over SSH and runs the bundled 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.
4

Get a VK Call Hash

The tunnel rides inside a VK group call, so you need an active call with a join link.
  1. Open VK and start a group call in any community or chat.
  2. Tap InviteCopy link. The link looks like:
    https://vk.com/call/join/AbCdEfGhIjKl
    
  3. The hash is everything after /join/ — in this example: AbCdEfGhIjKl.
When you are done using the hash and want to leave the call, always choose “Just leave” — never “End for everyone”. Ending the call for everyone destroys the hash permanently and disconnects all users relying on it.
You can use up to 4 hashes in a single profile to distribute load across multiple calls.
5

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.

A wdtt:// link encodes all connection parameters in a single string:
wdtt://203.0.113.10:56000:56001:9000:MySecretPass:AbCdEfGhIjKlHash
FieldExample valueDescription
Server IP203.0.113.10Public IP of your VPS
dtls_port56000UDP port for DTLS (client-facing)
wg_port56001Internal WireGuard port on the server
local_port9000Local UDP port on the Android device
passwordMySecretPassConnection password (WRAP key + auth)
vk_hashAbCdEfGhIjKlHashVK call join hash
When a 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.
After deploying the server, send /new to your server’s Telegram bot to generate a per-user password with a configurable expiry date and device limit. The bot replies with a ready-made wdtt:// link you can share with users or import directly. Use /list to see all active passwords and their status.

Build docs developers (and LLMs) love