Skip to main content
The client binary accepts the following flags. Pass them on the command line when invoking client, client-linux, client-android, or client.exe.

Required flags

-peer
string
required
Address of the vk-turn-proxy server in host:port form. The client resolves this as a UDP address and sends DTLS-wrapped packets to it.Example: -peer 203.0.113.10:56000
VK call invite link. Provide the full URL (https://vk.com/call/join/<id>) or just the ID segment. Exactly one of -vk-link or -yandex-link must be given.
Yandex Telemost invite link. Provide the full URL (https://telemost.yandex.ru/j/<id>) or just the ID segment. Exactly one of -vk-link or -yandex-link must be given.
You must supply exactly one of -vk-link or -yandex-link. If both are provided, or neither is provided, the client will panic and exit immediately.

Connection flags

-listen
string
default:"127.0.0.1:9000"
Local UDP address the client binds and listens on. Your WireGuard (or other UDP-based VPN) client must point its peer endpoint at this address.Example: -listen 127.0.0.1:9000
-turn
string
Override the TURN server IP discovered from the call link credentials. Useful when auto-discovery returns a non-working address. Must be a valid IP address; the port from credentials is retained unless -port is also set.Example: -turn 5.255.211.241
-port
string
Override the TURN server port discovered from the call link credentials. Used together with -turn when you need to specify the full TURN server endpoint manually.Example: -port 3478
-udp
boolean
default:"false"
Connect to the TURN server over UDP instead of the default TCP. TCP is used by default because it traverses more firewalls. Enable this flag if TCP does not work or if you need higher throughput (Yandex servers in particular tend to perform better over UDP).
-n
integer
default:"16 (VK) / 1 (Yandex)"
Number of parallel TURN allocations (connections) to open.
  • VK (-vk-link): defaults to 16. VK’s TURN infrastructure caps each allocation at approximately 5 Mbps. Opening multiple allocations aggregates bandwidth up to that limit.
  • Yandex (-yandex-link): defaults to 1. Yandex servers impose no per-allocation speed cap, but each allocation joins the conference as a fake participant. Raising this value risks a temporary IP ban due to conference flooding.
Pass any positive integer to override, e.g. -n 1 for a stable single-stream connection under VK’s 5 Mbps limit.
-no-dtls
boolean
default:"false"
Disable DTLS obfuscation and send raw WireGuard packets directly through TURN without wrapping them in a DTLS session. In this mode the client also skips the separate vk-turn-proxy server and connects directly to your WireGuard endpoint via TURN relay.
Raw WireGuard packets are identifiable by VK and Yandex infrastructure. Using -no-dtls may result in your IP being banned. Use only for testing or when connecting to a server that does not run the vk-turn-proxy server component.

Example commands

./client-linux \
  -peer 203.0.113.10:56000 \
  -vk-link "https://vk.com/call/join/AbCdEfGhIjKl" \
  -listen 127.0.0.1:9000 | sudo bash routes.sh
Set the WireGuard client peer endpoint to 127.0.0.1:9000 (or whichever address you pass to -listen) and set the interface MTU to 1280.

Build docs developers (and LLMs) love