Profiles are the core configuration unit in qWDTT. Each profile stores everything needed to connect to a specificDocumentation 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 instance: the server address, one or more VK call hashes that supply TURN credentials, worker settings, and a password. Keeping multiple profiles lets you switch between different servers, rotate VK hashes when one goes stale, or maintain separate setups for different networks—all without re-entering data each time.
Profile fields
Each profile contains the following fields:| Field | Description | Default |
|---|---|---|
| Name | Human-readable label shown in the list | — |
| Peer | Server address in IP:port format. The port is the DTLS port (56000 unless overridden) | — |
| VK Hashes | Up to 4 VK call hashes, comma-separated. Each hash maps to one active call that supplies TURN relay credentials | — |
| Workers per hash | Concurrent Go client worker threads per hash | 16 |
| Listen port | Local UDP port WireGuard binds on the device | 9000 |
| Password | Connection password that must match wdtt-server | — |
| Field | Description | Default |
|---|---|---|
serverDtlsPort | DTLS port on the VPS | 56000 |
serverWgPort | Internal WireGuard port on the VPS | 56001 |
Anonymous mode allows up to 27 workers per hash (9 workers per group × 3 groups). Account mode is capped at 4 workers per hash due to VK TURN relay per-call limits.
Creating a profile
Manual creation
Import via wdtt:// link
The original WDTT link format is fully supported. You can import it from the clipboard, a QR code, or a Telegram bot /list output.
wdtt:// link, workers are set to 16 (the original WDTT default), and peer is set to IP:dtls_port.
Import via qwdtt:// link
qWDTT’s extended link format supports a name, multiple hashes, and a configurable worker count:
| Parameter | Description |
|---|---|
name | Profile display name |
peer | Server address (IP:port) |
hashes | Comma-separated VK hashes |
workers | Workers per hash (default 18 when importing via this scheme) |
port | Local listen port (default 9000) |
pass or password | Connection password |
dtls_port / server_port separately if peer has no port.
Import via .qwdtt file or raw JSON
Tap + → From file to open the system file picker. The file can contain a qwdtt:// URI or a JSON object:
vkHashes, workersPerHash, listenPort, pass.
Import from clipboard
Tap + → From clipboard to read awdtt://, qwdtt://, or JSON configuration directly from the Android clipboard. A preview dialog confirms the profile before saving.
Import via QR code
Tap + → Scan QR. The QR can encode awdtt:// URI, a qwdtt:// URI, raw JSON, or Base64-encoded JSON.
Profile groups (folders)
Profiles can be organized into named folders to keep servers by location, owner, or subscription.Move a profile
On any profile card, tap the folder icon to open the Move to Group dialog and select the target folder.
Ping display
Each profile card has a ping button (signal-bars icon). Tapping it runs the Go client in-ping-only mode, which fetches TURN credentials and performs a DTLS handshake to measure end-to-end latency (up to 20 s timeout).
- Green dot — latency below 700 ms
- Yellow dot — 700–1000 ms
- Red dot / Fail — above 1000 ms or unreachable
sortProfilesByPing setting (Settings → Behaviour) automatically reorders the profile list by ascending latency after each measurement. When ping-sort is active, manual drag-and-drop reordering is disabled.
Global VK hashes
Global hashes are a shared hash pool available to all profiles. When a profile has Use global hashes enabled (the default), it reads hashes from the global pool instead of its ownvkHashes field. This means you only need to update the hash in one place when it changes.
Manage global hashes from the main Settings tab under VK Hashes.
If the global pool is empty and a profile is set to use global hashes, the profile falls back to its own stored hashes.
Exporting profiles
Single profile
Tap the share icon on a profile card to open the export sheet:QR Code
Displays a scannable QR that encodes the
qwdtt:// link. Other qWDTT users can scan it directly.Link
Copies a
qwdtt://config?… link to the clipboard or shares it via the system share sheet..qwdtt file
Saves a
.qwdtt file containing the profile JSON to the device.Group export
To export all profiles in a group as a subscription-compatible JSON:Bulk ZIP export / import
From the ⋮ menu you can:- Export all profiles (ZIP) — writes a
profiles.jsoninside a.ziparchive, preserving group names. - Import profiles (ZIP) — imports profiles from a previously exported ZIP, restoring groups.
App shortcuts
On Android 7.1 and newer, qWDTT registers launcher shortcuts. When the app starts or the tunnel changes state, stale shortcuts are automatically cleaned up so your home screen stays tidy.Shortcut cleanup runs automatically whenever the app starts or the tunnel state changes.