Skip to main content
VK TURN Proxy (also called Good TURN) tunnels WireGuard UDP traffic through the TURN relay servers used by VK Calls and Yandex Telemost video conferencing. On the wire your traffic looks like ordinary WebRTC media — DTLS 1.2 handshake, STUN ChannelData framing — so network-level blocks aimed at WireGuard do not apply.
This project is for educational purposes only. Use it responsibly and in compliance with applicable laws and the terms of service of VK and Yandex.

Who it’s for

VK TURN Proxy is for users whose ISP or network operator blocks WireGuard UDP but permits WebRTC traffic. Because it reuses the TURN infrastructure of existing, high-traffic video-calling services, it requires no dedicated relay server beyond the VPS running your WireGuard server.

Key features

  • DTLS 1.2 obfuscation — WireGuard packets are encrypted inside DTLS 1.2 using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 before reaching the TURN server, making them indistinguishable from WebRTC media to a passive observer.
  • Parallel TURN connections — The client opens up to 16 simultaneous TURN channels by default (VK) to maximise throughput. You can tune this with the -n flag.
  • Automatic credential extraction — You provide a call link; the client fetches short-lived TURN credentials automatically. No manual registration or API keys required.
  • TCP and UDP transport — Connect to the TURN server over TCP (default) or switch to UDP with -udp for environments where TCP is throttled.
  • Cross-platform — Native binaries for Linux, Windows, macOS, and Android (via Termux or the dedicated Android app).

Supported providers

ProviderLink formatStatus
VK Callshttps://vk.com/call/join/<id>Active
Yandex Telemosthttps://telemost.yandex.ru/j/<id>Closed (Telemost shut down)

Next steps

How it works

Understand the DTLS and TURN tunneling architecture before you deploy.

Prerequisites

Everything you need on both the server and client before you start.

Build docs developers (and LLMs) love