Skip to main content
Before you start, gather the components below. You need items from both the server and client sections.

Server

VPS with WireGuard

A Linux VPS with WireGuard installed and a working WireGuard configuration. Any distribution works. Note the UDP port WireGuard listens on — you will pass it to the proxy server with -connect 127.0.0.1:<port>.

Proxy server binary

Download the server binary for your VPS architecture from the releases page and place it on your VPS. The server listens on 0.0.0.0:56000 by default.
You need a live call link to derive TURN credentials from. The client calls the provider API on your behalf — no manual credential management is required.

VK call link

Create a VK call from your account and copy the invite link. It follows the format https://vk.com/call/join/<id>. The link remains valid indefinitely as long as you do not press End call for everyone. You can also find existing open calls by searching for "https://vk.com/call/join/".

Yandex Telemost link

Telemost links follow the format https://telemost.yandex.ru/j/<id>. Note: Yandex Telemost has been shut down. Existing links no longer work and the Yandex provider is non-functional.

Client

Choose the platform you are running the client on.

Linux

Download client-linux. Run the binary as your normal user and pipe output to routes.sh with sudo to add the necessary routes. Root access is required for route management only.Do not enable your WireGuard VPN until the proxy reports a successful connection — unlike Android, some requests (DNS and the initial TURN connection) travel through the default route before the tunnel is up.

Windows

Download client.exe and the routes.ps1 script. Open PowerShell as Administrator so the script can add routes to the routing table, then run the client from that session.Do not enable WireGuard until the proxy reports a successful connection.

macOS

Download the macOS binary. Pipe output to routes-macos.sh with sudo to add routes. Root access is required for route management only.

Android

Recommended: Install the native Android app at github.com/MYSOREZ/vk-turn-proxy-android and add the app to WireGuard’s exclusion list.Alternative: Install Termux from F-Droid, copy client-android into Termux, grant execute permission, and add Termux to WireGuard’s exclusion list. Run termux-wake-lock to prevent the device from sleeping during use.

WireGuard client configuration

Regardless of platform, update your WireGuard client config before enabling the VPN:
[Peer]
# Set the endpoint to the local proxy listener instead of the real VPS address
Endpoint = 127.0.0.1:9000
# Lower MTU to account for DTLS + TURN overhead
MTU = 1280
The proxy client listens on 127.0.0.1:9000 by default. You can change this with the -listen flag.

Summary checklist

Before you proceed to setup, confirm you have:
  • A VPS with WireGuard running and its UDP port noted
  • The server binary on your VPS
  • A valid VK call link (https://vk.com/call/join/<id>)
  • The correct client binary for your platform
  • WireGuard client config updated to Endpoint = 127.0.0.1:9000 and MTU = 1280
  • On Linux/macOS: routes.sh / routes-macos.sh available and sudo access
  • On Windows: PowerShell open as Administrator with routes.ps1 in the same directory
  • On Android: the native app or Termux installed, and Termux/app added to WireGuard exclusions

Build docs developers (and LLMs) love