百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
V

vk-turn-proxy

> 编程语言
开源

Good TURN 通过 TURN 服务器将 WireGuard/Hysteria 流量传输到 VK 通话或 Yandex 电话桥。数据包先经过 DTLS 1.2 加密,然后通过 TURN 服务器进行传输。

3.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Good TURN 通过 TURN 服务器将 WireGuard/Hysteria 流量传输到 VK 通话或 Yandex 电话桥。数据包先经过 DTLS 1.2 加密,然后通过 TURN 服务器进行传输。

Good TURN

Проброс трафика WireGuard/Hysteria через TURN сервера VK звонков или Яндекс телемоста. Пакеты шифруются DTLS 1.2, затем параллельными потоками через TCP или UDP отправляются на TURN сервер по протоколу STUN ChannelData. Оттуда по UDP отправляются на ваш сервер, где расшифровываются и передаются в WireGuard. Логин/пароль от TURN генерируются из ссылки на звонок.

Только для учебных целей!

Похожие проекты

[!WARNING]
Авторы данного репозитория не несут ответственности за другие похожие проекты.

Server

  • https://github.com/Urtyom-Alyanov/turn-proxy - реализация на Rust
  • https://github.com/jaykaiperson/lionheart - аналог для https://stream.wb.ru (статья: https://habr.com/ru/articles/1017410/)
  • https://github.com/kulikov0/whitelist-bypass - проброс через медиасервер SFU ВК и Яндекс Телемоста
  • https://github.com/NedgNDG/vk-proxy-auto-installer - автоустановщик VK TURN Proxy (TUI)

Android

Мои любимые
  • https://github.com/samosvalishe/turn-proxy-android - клиент для андроида c Material 3 UI и автоапдейтами (Kotlin)
  • https://github.com/MYSOREZ/vk-turn-proxy-android - клиент для андроида
  • https://github.com/kiper292/wireguard-turn-android - клиент для андроида интегрированный в WireGuard
Ещё
  • https://github.com/WINGS-N/WINGSV - клиент для андроида с One UI, WireGuard, раздачей VPN с root
  • https://github.com/oxsidee/vkpn - клиент для андроида (кроссплатформенный Flutter)
  • https://github.com/amurcanov/proxy-turn-vk-android - клиент для андроида с WireGuard

iOS

  • https://github.com/nullcstring/turnbridge - клиент для iOS

macOS

  • https://github.com/denny4-user/vk-turn-proxy-macos-gui - клиент для macOS

Настройка

Нам понадобится:

  1. Ссылка на действующий ВК звонок: создаём свой (нужен аккаунт вк), или гуглим "https://vk.com/call/join/". Ссылка действительна вечно, если не нажимать "завершить звонок для всех"
  2. Или ссылка на звонок Яндекс телемоста: "https://telemost.yandex.ru/j/". Её лучше не гуглить, так как видно подключение к конференции
  3. VPS с установленным WireGuard
  4. Для андроида: скачать Termux из F-Droid

Сервер

Рекомендуется tmux

На сервере запустить tmux:

# Создание сессии tmux
tmux new -s vkturn

Внутри сессии tmux запустить команду сервера ниже. Далее нажать Ctrl+B D, чтобы свернуть сессию, не завершая её. Прокси процесс останется запущенным, сервер будет доступен для новых команд или безопасного выхода из него.

# Войти в ранее созданную сессию tmux
tmux a -t vkturn

Скачать бинарник, в данном примере используется самый популярный сервер server-linux-amd64:

# Скачать бинарник
curl -L -o server https://github.com/cacggghp/vk-turn-proxy/releases/latest/download/server-linux-amd64 && chmod +x server
# Запуск сервера
./server -listen 0.0.0.0:56000 -connect 127.0.0.1:<порт wg>

Установка демона

На сервере в файле /etc/systemd/system/vk-turn-proxy.service

[Unit]
Description=VK Turn Proxy Service
After=network.target

[Service]
Type=simple
ExecStart=/opt/vk-turn-proxy/server-linux-amd64 -listen 0.0.0.0:56000 -connect 127.0.0.1:<wg_port>
KillMode=process
Restart=always
RestartSec=5
User=nobody
Group=nogroup
StandardOutput=append:/var/log/vk-turn-proxy/vk-turn-proxy.log
StandardError=append:/var/log/vk-turn-proxy/vk-turn-proxy_error.log
SyslogIdentifier=vk-turn-proxy

[Install]
WantedBy=multi-user.target

Где /opt/vk-turn-proxy/server-linux-amd64 - путь к файлу, <wg_port> - порт сервера wg

systemctl daemon-reload
systemctl enable vk-turn-proxy.service
systemctl start vk-turn-proxy.service

Docker

Образ Docker публикуется в GitHub Container Registry:

docker pull ghcr.io/cacggghp/vk-turn-proxy:latest
docker tag ghcr.io/cacggghp/vk-turn-proxy:latest vkt

Для Linux-сервера, где xray или WireGuard слушает локально, удобнее запускать через host network:

docker run --rm --network host -e CONNECT_ADDR=127.0.0.1:<порт wg> vkt

Если нужен bridge mode:

docker run --rm -p 56000:56000/udp -e CONNECT_ADDR=<ip хоста>:<порт wg> vkt

Сборка образа вручную:

git clone https://github.com/cacggghp/vk-turn-proxy.git
cd vk-turn-proxy
docker build -t vk-turn-proxy .

Переменная окружения CONNECT_ADDR — адрес WireGuard (обязательный), например 192.168.1.10:51820.

Пример запуска:

docker run -p 56000:56000/udp -e CONNECT_ADDR=192.168.1.10:51820 vk-turn-proxy

Клиент

Android

См. клиенты.

Альтернативный способ (через Termux):

  • В клиентском конфиге WireGuard меняем адрес сервера на 127.0.0.1:9000, ставим MTU 1280
  • Добавляем Termux в исключения WireGuard. Нажимаем "сохранить". В Termux:
termux-wake-lock

Телефон не будет уходить в глубокий сон, так что на ночь ставьте на зарядку. Чтобы отключить:

termux-wake-unlock

Скачиваем бинарник в локальную папку, даём права на исполнение, в команде указана самая популярная архитектура client-android-arm64:

curl -L -o client https://github.com/cacggghp/vk-turn-proxy/releases/latest/download/client-android-arm64 && chmod +x client

Запускаем:

./client -listen 127.0.0.1:9000 -peer <ip сервера wg>:56000 -vk-link <VK ссылка>

Или

./client -udp -turn 5.255.211.241 -peer <ip сервера wg>:56000 -yandex-link <Ya ссылка> -listen 127.0.0.1:9000

Если после включения VPN в терминале вылезают ошибки DNS, попробуйте в Wireguard включить VPN только для нужных приложений.

iOS

См. клиенты.

Альтернативный способ (через iSH Shell):

Скачать приложение iSH Shell:

# Установить curl, если его нет
apk update
apk add curl
# Скачать бинарник и дать права на запуск
curl -L -o client https://github.com/cacggghp/vk-turn-proxy/releases/latest/download/client-linux-386 && chmod +x client
# Запустить клиент
./client -listen 127.0.0.1:9000 -peer <ip сервера wg>:56000 -vk-link <VK ссылка>

В конфиге WireGuard (WG) есть строка

AllowedIPs = 0.0.0.0/0, ::0

Что означает разрешить весь интернет.

Для данной утилиты, нужно исключить IP адреса ВК, т.к. для звонков он подключается к диапазону 155.212.192.0/20, то можно исключить этот диапазон.

В конфиге WG, замените строку AllowedIPs:

AllowedIPs = 0.0.0.0/1, 128.0.0.0/4, 144.0.0.0/5, 152.0.0.0/7, 154.0.0.0/8, 155.0.0.0/9, 155.128.0.0/10, 155.192.0.0/12, 155.208.0.0/14, 155.212.0.0/17, 155.212.128.0/18, 155.212.208.0/20, 155.212.224.0/19, 155.213.0.0/16, 155.214.0.0/15, 155.216.0.0/13, 155.224.0.0/11, 156.0.0.0/6, 160.0.0.0/3, 192.0.0.0/2

Строка со всеми исключёнными адресами ВК:

…

Утилита, где самому можно добавить ещё свои адреса в исключения: https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/

Конфиг WG с изменённым полем AllowedIPs добавить в любом клиенте WG и запустить.

Linux

В клиентском конфиге WireGuard меняем адрес сервера на 127.0.0.1:9000, ставим MTU 1280

Скрипт будет добавлять маршруты к нужным ip:

./client-linux -peer <ip сервера wg>:56000 -vk-link <VK ссылка> -listen 127.0.0.1:9000 | sudo routes.sh
./client-linux -udp -turn 5.255.211.241 -peer <ip сервера wg>:56000 -yandex-link <Ya ссылка> -listen 127.0.0.1:9000 | sudo routes.sh

Не включайте впн, пока программа не установит соединение! В отличие от андроида, здесь часть запросов будет идти через впн (dns и запрос подключения к turn)

macOS

См. клиенты.

Альтернативный способ (через Terminal):

  • В клиентском конфиге WireGuard меняем адрес сервера на 127.0.0.1:9000, ставим MTU 1280.
  • Добавляем Terminal в исключения WireGuard. Нажимаем "сохранить".

В Terminal:

Скачать бинарник (Apple Silicon):

curl -L -o client https://github.com/cacggghp/vk-turn-proxy/releases/latest/download/client-darwin-arm64 && chmod +x client

Скачать бинарник (Intel):

curl -L -o client https://github.com/cacggghp/vk-turn-proxy/releases/latest/download/client-darwin-amd64 && chmod +x client

Запустить клиент

./client -listen 127.0.0.1:9000 -peer <ip сервера wg>:56000 -vk-link <VK ссылка>

Windows

В клиентском конфиге WireGuard меняем адрес сервера на 127.0.0.1:9000, ставим MTU 1280

В PowerShell от Администратора (чтобы скрипт прописывал маршруты):

./client.exe -peer <ip сервера wg>:56000 -vk-link <VK ссылка> -listen 127.0.0.1:9000 | routes.ps1
./client.exe -udp -turn 5.255.211.241 -peer <ip сервера wg>:56000 -yandex-link <Ya ссылка> -listen 127.0.0.1:9000 | routes.ps1

Не включайте впн, пока программа не установит соединение! В отличие от андроида, здесь часть запросов будет идти через впн (dns и запрос подключения к turn)

Если не работает

С помощью опции -turn можно указать адрес TURN сервера вручную. Это должен быть сервер ВК, Макса или Одноклассников (ссылка вк) или Яндекса (ссылка яндекса). Возможно потом составлю список.

Если не работает TCP, попробуйте добавить флаг -udp.

Добавьте флаг -n 1 для более стабильного подключения в 1 поток (ограничение 5 МБит/с для ВК)

Для прохождения капчи вручную - -manual-captcha.

По умолчанию капча теперь проходит так: обычная автопопытка, затем автопопытка через пазл-слайдер POC, и только потом ручной режим.

Яндекс телемост

UPD. ТЕЛЕМОСТ ЗАКРЫЛИ

В отличие от ВК, сервера яндекса не ограничивают скорость, так что по умолчанию стоит -n 1. Увеличение этого числа может привести к временной блокировке по IP из-за переполнения конференции фейковыми участниками.

В режиме -udp скорость обычно больше

Большинство диапазонов IP TURN серверов Яндекса не работают, указывайте вручную через -turn

Рабочие IP
5.255.211.241
5.255.211.242
5.255.211.243
5.255.211.245
5.255.211.246
Спасибо https://github.com/KillTheCensorship/Turnel за часть кода :)

v2ray

Вместо WireGuard можно использовать любое V2Ray-ядро, которое его поддерживает (например, xray или sing-box) и любой V2Ray-клиент, который использует это ядро (например, v2rayN или v2rayNG). С помощью их вы сможете добавить больше входящих интерфейсов (например, SOCKS) и реализовать точечный роутинг.

Пример конфигов:

Клиент
…
Сервер
{
  "inbounds": [
    {
      "protocol": "wireguard",
      "listen": "0.0.0.0",
      "port": 51820,
      "settings": {
        "secretKey": "<server secret key>",
        "peers": [
          {
            "publicKey": "<client public key>"
          }
        ],
        "mtu": 1280
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {
        "domainStrategy": "UseIPv4"
      }
    }
  ]
}

VLESS-режим

Можно использовать VLESS через флаг -vless. В этом режиме вместо UDP-пакетов пробрасываются TCP-соединения через TURN-туннель с помощью KCP и smux.

Настройка

  1. На VPS установить Xray с VLESS inbound
  2. Запустить server с флагом -vless
  3. На клиенте запустить client с флагом -vless
  4. Настроить Xray/v2rayN клиент с VLESS outbound на 127.0.0.1:9000

Сервер (VPS)

./server -listen 0.0.0.0:56000 -connect 127.0.0.1:443 -vless

Docker

docker run -p 56000:56000/udp -e CONNECT_ADDR=127.0.0.1:443 -e VLESS_MODE=true vk-turn-proxy

Клиент

./client -peer <ip сервера>:56000 -vk-link <VK ссылка> -listen 127.0.0.1:9000 -vless
Xray клиент (config.json)
…
Xray сервер (config.json)
{
    "inbounds": [
        {
            "protocol": "vless",
            "listen": "127.0.0.1",
            "port": 443,
            "settings": {
                "clients": [
                    {

GitHub Issues· 18 开放

在 GitHub 查看全部
  • #176

    Настройка vless 3x-ui

    Stale更新于 2026年9月16日
  • #170

    Каких скоростей удавалось добиваться?

    Stale更新于 2026年9月16日
  • #187

    Сервер на windows

    更新于 2026年9月13日
  • #186

    В «Похожие проекты»: OpenFlux и WhiteTransport

    更新于 2026年9月10日
  • #27

    Инструкция для openwrt

    更新于 2026年7月26日
  • #182

    Появилось требование ещё капчи в другом месте

    更新于 2026年7月7日
  • #180

    Vk turn proxy

    更新于 2026年6月2日
  • #164

    Замедление скорости

    更新于 2026年5月29日
  • #158

    ㅤ

    更新于 2026年5月25日
  • #175

    ㅤ

    更新于 2026年5月25日

核心特点

  • •https://github.com/Urtyom-Alyanov/turn-proxy - реализация на Rust
  • •https://github.com/jaykaiperson/lionheart - аналог для https://stream.wb.ru (статья: https://habr.com/ru/articles/1017410/)
  • •https://github.com/kulikov0/whitelist-bypass - проброс через медиасервер SFU ВК и Яндекс Телемоста
  • •https://github.com/NedgNDG/vk-proxy-auto-installer - автоустановщик VK TURN Proxy (TUI)
  • •https://github.com/samosvalishe/turn-proxy-android - клиент для андроида c Material 3 UI и автоапдейтами (Kotlin)
  • •https://github.com/MYSOREZ/vk-turn-proxy-android - клиент для андроида
  • •https://github.com/kiper292/wireguard-turn-android - клиент для андроида интегрированный в WireGuard
  • •https://github.com/WINGS-N/WINGSV - клиент для андроида с One UI, WireGuard, раздачей VPN с root
  • •https://github.com/oxsidee/vkpn - клиент для андроида (кроссплатформенный Flutter)
  • •https://github.com/amurcanov/proxy-turn-vk-android - клиент для андроида с WireGuard

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言