routes.ps1 script reads the TURN server IP from stdout and installs a host route via your default gateway using New-NetRoute.
Prerequisites
- A VK Calls invite link (
https://vk.com/call/join/...) or a Yandex Telemost link (https://telemost.yandex.ru/j/...) - The
client.exebinary from the releases page routes.ps1from the repository, placed in the same directory asclient.exe
Setup
Edit your WireGuard client config
In the WireGuard Windows app, edit your tunnel configuration. Change the Save the config but do not activate the tunnel yet.
Endpoint to the local proxy listener and set the MTU:Open PowerShell as Administrator
The
routes.ps1 script calls New-NetRoute to add host routes, which requires elevated privileges.Right-click the Start menu, select Windows Terminal (Admin) or PowerShell (Admin), and confirm the UAC prompt.Run the client and pipe routes
Navigate to the directory containing Using a VK link with UDP transport:Using a Yandex Telemost link (specify a working TURN IP explicitly):Wait for
client.exe and routes.ps1, then run one of the following commands.Using a VK link (TCP, default):Established DTLS connection! in the output before enabling the VPN.How routes.ps1 works
The script reads your default gateway using Get-NetRoute, then reads IP addresses line by line from stdin. For each address it adds a /32 host route via the gateway using New-NetRoute with ActiveStore (the route is not persisted across reboots):
Additional flags
| Flag | Description |
|---|---|
-turn <ip> | Override the TURN server IP. Use this when automatic discovery fails. |
-udp | Connect to the TURN server over UDP instead of TCP. Try this if TCP does not work. |
-n <count> | Number of parallel TURN connections (default 16 for VK, 1 for Yandex). Use -n 1 for more stable throughput (capped at ~5 Mbit/s on VK). |
-port <port> | Override the TURN server port. |