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.

Profiles are the core configuration unit in qWDTT. Each profile stores everything needed to connect to a specific 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:
FieldDescriptionDefault
NameHuman-readable label shown in the list
PeerServer address in IP:port format. The port is the DTLS port (56000 unless overridden)
VK HashesUp to 4 VK call hashes, comma-separated. Each hash maps to one active call that supplies TURN relay credentials
Workers per hashConcurrent Go client worker threads per hash16
Listen portLocal UDP port WireGuard binds on the device9000
PasswordConnection password that must match wdtt-server
When manual port override is enabled (Settings → Connection), you can also configure:
FieldDescriptionDefault
serverDtlsPortDTLS port on the VPS56000
serverWgPortInternal WireGuard port on the VPS56001
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

1

Open the Profiles tab

Tap the Profiles tab at the bottom of the screen.
2

Tap +

Tap the + floating action button in the bottom-right corner.
3

Choose Manually

Select Вручную (Manually) from the bottom sheet to open the profile editor.
4

Fill in the fields

Enter the Name, Peer (IP:port), VK Hashes (one per line or comma-separated), Workers, Listen Port, and Password, then tap Save.
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://<server_ip>:<dtls_port>:<wg_port>:<local_port>:<password>:<vk_hash>
Example:
wdtt://203.0.113.10:56000:56001:9000:MySecretPass16:8UkewARpV0aJoWheFZlR942el6unTZvhneulo-eU8gA
When imported from a wdtt:// link, workers are set to 16 (the original WDTT default), and peer is set to IP:dtls_port. qWDTT’s extended link format supports a name, multiple hashes, and a configurable worker count:
qwdtt://config?name=Home&peer=203.0.113.10:56000&hashes=hash1,hash2&workers=18&port=9000&pass=MySecret
ParameterDescription
nameProfile display name
peerServer address (IP:port)
hashesComma-separated VK hashes
workersWorkers per hash (default 18 when importing via this scheme)
portLocal listen port (default 9000)
pass or passwordConnection password
You can also supply 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:
{
  "name": "Home Server",
  "peer": "203.0.113.10:56000",
  "hashes": "vk_hash_1,vk_hash_2",
  "workers": 18,
  "port": 9000,
  "password": "MySecretPass16"
}
Alternative accepted key names: vkHashes, workersPerHash, listenPort, pass.

Import from clipboard

Tap +From clipboard to read a wdtt://, 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 a wdtt:// 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.
1

Open group management

Tap the (overflow) menu on the Profiles tab, then choose Manage folders.
2

Create a group

Tap + in the folder management dialog and enter a name.
3

Move a profile

On any profile card, tap the folder icon to open the Move to Group dialog and select the target folder.
4

Delete a group

In the folder management dialog, tap Delete next to the group. All profiles inside it are removed.
Filter chips above the profile list let you switch between “All”, “No folder”, and individual group views.
Subscription folders are locked. You cannot move profiles into them manually — only the subscription auto-refresh can update profiles in those folders.

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
Tap the signal icon in the top toolbar to ping all profiles at once. The 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 own vkHashes 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:
1

Open folder management

Manage folders
2

Export the group

Tap Export next to the group. Choose a save location. The resulting JSON file has the structure {"subscriptionName": "…", "profiles": […]} and can be hosted on HTTPS and used as a subscription URL.

Bulk ZIP export / import

From the menu you can:
  • Export all profiles (ZIP) — writes a profiles.json inside a .zip archive, 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.

Build docs developers (and LLMs) love