Turnable: VPN/прокси через TURN (обход БС)

Спасибо Вам Огромнейшее за Ваши труды! я внимательно изучил readme - все запустил все заработало. Единственное мне кажеся, может чисто субъективно, но версия 3 подключается быстрее, чем 4.

подскажите как создать свой звонок?

заходишь в Вк и создаешь звонок. там есть скопировать ссылку на звонок

Спасибо разобрался. Нихрена не работает думал свой звонок создам - не взлетело…

сыпет какие-то ошибки 486 квота исчерпана в общем не работает даже на своем свежесозданном звонке…

ну сложно сказать не видя логи. возможно че то перепутано в ключах или конфиге сервера. я помучился дня три с клодом и все же запустил. правда первое , что я запустил был сокс прокси на линукс десктоп. позже разобрался с приложением на телефон и влесс.

Привет! В РУ-документации в Настройке сервера ./turnable keygen вместо ./turnable config keygen

в общем заработало 0.4 +direct через него и пишу

но для этого пришлось -j добавить и только через config.json смогло
а через строку -по губам как не изгаляйся

далее - хорошо что я заранее наклепал
wg_calc.exe (1,7 МБ)
для AllowedIPs
turn ip совсем не те что у старого vk-turn
и пока AllowedIPs не починишь не случиться (тут бы для алёшей в ридми указать)

скорость такая же как и была на старом, не выше 2Мб в прыжке. и кол-во потоков не помогает а только ломает коннект к wg

автору респект. но есть конечно пожелания к юзабилити…

я не понял как с директом работать от слова вообще. На какой порт будет кидать туннель???

Если не сложно приведи свои конфиги (удали секреты только)

посмотри мой конфиг плиз. работает крайне неустойчиво!

 config.json
{
  "platform_id": "vk.com",
  "call_id": "...",
  "priv_key": "...",
  "pub_key": "...",
  "relay": {
    "enabled": true,
    "proto": "dtls",
    "cloak": "none",
    "public_ip": "...",
    "port": 56000
  },
  "p2p": {
    "enabled": false
  },
  "provider": {
    "type": "json",
    "path": "store.json"
  }
}

store.json
{
    "routes": [
        {
            "id": "hy2relay",
            "address": "127.0.0.1",
            "port": 404,
            "socket": "udp",
            "transport": "none",
            "encryption": "handshake",
            "name": "hy2relay"
        },
        {
            "id": "tcp59962_relay",
            "address": "127.0.0.1",
            "port": 59962,
            "socket": "tcp",
            "transport": "kcp",
            "encryption": "handshake",
            "name": "tcp59962_relay"
        },
        {
            "id": "tcp80_relay",
            "address": "127.0.0.1",
            "port": 80,
            "socket": "tcp",
            "transport": "kcp",
            "encryption": "handshake",
            "name": "tcp80_relay"
        },
        {
            "id": "warp_relay",
            "address": "162.159.192.1",
            "port": 500,
            "socket": "udp",
            "transport": "none",
            "encryption": "handshake",
            "name": "warp_relay"
        }
    ],
    
    "users": [
        {
            "uuid": "...",
            "username": "...",
            "allowed_routes": [
                "hy2relay",
                "tcp59962_relay",
                "tcp80_relay",
                "warp_relay"
            ],
            "type": "relay",
            "peers": 10
        }
	]
}


ну мне такой json дало (ручонками вставить в файл)
{"user_uuid":"INSECURE-DIRECT-RELAY","username":"probros","platform_id":"vk.com","call_id":"rwCX3yow_eSeQK7syk1Ntse0Sb8eoo","routes":[{"route_id":"direct","socket":"udp","transport":"none"}],"type":"direct","forceturn":false,"peers":1,"proto":"none","cloak":"none","gateway":"95.173.205.159:51820"}

при команде
.exe config direct vk.com rwCX3yow_eSe0jn1Ntse0Sb8eoo probros 95.173.205.159:51820 -j

остаётся лишь .exe client и в wg ковыряться
Endpoint = 127.0.0.1:1080 а AllowedIPs исключить те turn ip что покажет

root@your-vps:/etc/turnable# cat config.json
{
“platform_id”: “vk.com”,
“call_id”: “[REDACTED]”,
“priv_key”: “[REDACTED]”,
“pub_key”: “[REDACTED]”,
“relay”: {
“enabled”: true,
“proto”: “dtls”,
“cloak”: “none”,
“public_ip”: “[YOUR_PUBLIC_IP]”,
“port”: 56000
},
“p2p”: {
“enabled”: false
},
“provider”: {
“type”: “json”,
“path”: “store.json”
}
}

root@your-vps:/etc/turnable# cat store.json
{
“routes”: [
{
“id”: “socks”,
“address”: “127.0.0.1”,
“port”: 10800,
“socket”: “tcp”,
“transport”: “kcp”,
“client_prefs”: {
“username”: “Turnable Relay”,
“type”: “relay”,
“encryption”: “handshake”,
“name”: “My SOCKS Server”,
“peers”: 12
}
},
{
“id”: “vless”,
“address”: “127.0.0.1”,
“port”: 443,
“socket”: “tcp”,
“transport”: “kcp”,
“client_prefs”: {
“username”: “Turnable VLESS”,
“type”: “relay”,
“encryption”: “handshake”,
“name”: “My VLESS Server”,
“peers”: 12
}
}
],
“users”: [
{
“uuid”: “[YOUR_USER_UUID]”,
“allowed_routes”: [“wg”, “socks”, “vless”]
}
]
} конфиг с сервера. все работает на ура.

Попробуй еще на досуге мой скрипт шелл, написал для упрощения установки …

turnable.txt (5,4 КБ)

я проверил, у меня на третий сервер версия 0.4.0 встала. конфиги генерирует

Значит так. Есть 4 VPS. Есть ноутбук и смарт. Ноут и смарт оба в домашней сети на wifi.

Директ на свой сервер UDP порт 404 (там истерия2 обфусцированная) - проходит несколько пакетов и все. Как будто 16к блок

вот лог с ноута:

C:\APP\turnable>turnable.exe client -c nl_404.json -l 127.0.0.1:5555
2026-05-06 08:27:55.022 [INFO] starting turnable client connection_type=direct
2026-05-06 08:27:55.045 [WARN] using a direct connection is dangerous, please reconsider!
2026-05-06 08:27:55.308 [INFO] vk captcha challenge received request_attempt=1 max_attempts=3
2026-05-06 08:27:55.428 [WARN] vk captcha script version changed last_known=1.1.1324 latest=1.1.1327
2026-05-06 08:27:55.735 [INFO] vk captcha solving show_type=checkbox
2026-05-06 08:27:56.377 [INFO] vk captcha solved duration_ms=1068 request_attempt=1
2026-05-06 08:27:56.723 [INFO] vk authorize completed turn_servers=91.231.135.87:19302,193.203.43.21:19302
2026-05-06 08:27:56.764 [INFO] vk signaling connected endpoint_host=videowebrtc.okcdn.ru
2026-05-06 08:27:56.764 [WARN] vk signaling error message bytes=97 response=
2026-05-06 08:27:56.764 [INFO] direct session connected gateway=*.*.*.*:404 peers=12
2026-05-06 08:27:56.764 [INFO] local udp listener started addr=127.0.0.1:5555
2026-05-06 08:27:56.764 [INFO] turnable client started routes=1 connection_type=direct listen=[127.0.0.1:5555]
2026-05-06 08:27:56.883 [WARN] vk signaling loop terminated error=websocket: close 1000 (normal): Bye
2026-05-06 08:27:56.888 [WARN] turn candidate failed peer_idx=5 proto=none index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 08:27:56.889 [WARN] turn candidate failed peer_idx=3 proto=none index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 08:27:56.893 [INFO] peer online peer_idx=0 online=1 total=1
2026-05-06 08:27:56.895 [INFO] peer online peer_idx=1 online=2 total=2
2026-05-06 08:27:56.896 [INFO] peer online peer_idx=2 online=3 total=3
2026-05-06 08:27:56.897 [INFO] peer online peer_idx=3 online=4 total=4
2026-05-06 08:27:56.898 [INFO] peer online peer_idx=4 online=5 total=5
2026-05-06 08:27:56.899 [INFO] peer online peer_idx=5 online=6 total=6
2026-05-06 08:27:56.899 [INFO] peer online peer_idx=6 online=7 total=7
2026-05-06 08:27:56.899 [INFO] peer online peer_idx=7 online=8 total=8
2026-05-06 08:27:56.900 [INFO] peer online peer_idx=8 online=9 total=9
2026-05-06 08:27:56.900 [INFO] peer online peer_idx=9 online=10 total=10
2026-05-06 08:27:56.951 [INFO] peer online peer_idx=10 online=11 total=11
2026-05-06 08:27:56.952 [INFO] peer online peer_idx=11 online=12 total=12

Та-же самая истерия через релей:

{
    "user_uuid": "....",
    "username": "tvbox",
    "platform_id": "vk.com",
    "call_id": "....",
    "routes": [{
            "route_id": "hy2relay",
            "socket": "udp",
            "transport": "none"
        }
    ],
    "type": "relay",
    "forceturn": false,
    "peers": 10,
    "proto": "dtls",
    "cloak": "none",
    "gateway": "*.*.*.*:56000",
    "pub_key": "....",
    "encryption": "handshake",
    "name": "hy2relay"
}

На ноуте скорость меньше мегабита

На телефоне такое чувство что 16к блок - пару пакетов и все, вот логи с телефона


2026-05-06 06:02:11.356 [WARN] turn candidate failed peer_idx=7 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.356 [WARN] turn candidate failed peer_idx=2 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.362 [WARN] turn candidate failed peer_idx=8 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.362 [WARN] turn candidate failed peer_idx=6 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.365 [WARN] turn candidate failed peer_idx=0 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.366 [WARN] turn candidate failed peer_idx=1 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.366 [WARN] turn candidate failed peer_idx=5 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.373 [WARN] turn candidate failed peer_idx=9 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.378 [WARN] turn candidate failed peer_idx=4 proto=dtls index=1 count=2 server=91.231.135.87:19302 error=failed to allocate turn relay: Allocate error response (error 486: Allocation Quota Reached)
2026-05-06 06:02:11.442 [WARN] vk signaling loop

версия на клиенте сервере и ноутбуке одинаковая 4.1, чтобы исключить ошибки один и тотже файл клиентский json использовал. на телефоне опять-же идентичная командная строка вместо вспомогательного run.sh напрямую ./turnable client -l 127.0.0.1:5555 -c client.json

UPD: для директа уменьшил пиров до 1, поменял порт хистерии до 40404 (вдруг слишком низкий не нравится) - ничего не поменялось.

UPD2 direct - на ноутбуке работает!

Выяснил причину “подвисания” соединения. В husi/v2rayng и прочих клиентах есть функция “проверить задержку профиля”. Заключается обычно в замере времени на выполнении запроса к https://8.8.8.8/generate_204 + получение “внешнего” IP через какой-нибудь ipfy.me

Оказывается 2-3 таких запроса подряд приводят к “зависанию” коннекта! Но убить и заново запустить клиент лечит проблему. То есть можно встроить в turnable диагностику такого зависшего соединения и автоматический рестарт или переинициализацию - что-то такое…

На 12 пирах поставил в истерии 10m в обе стороны и получил Speedtest by Ookla - The Global Broadband Speed Test

relay на ноутбуке работает!

Скорость по сравнению с direct просела ужасно, особенно учитывая что сервер хистерии и сервер на котором крутится turnable - один и тот-же сервер. Вот все что удалось выжать на 10 пирах Speedtest by Ookla - The Global Broadband Speed Test

Я не особо понимаю, каким образом это вообще убивает коннект. Да и Turnable каждую секунду (!) отправляет пинг на сервер, и если сервер не ответил в течении 5 секунд принудительно переподключается.

насколько сильно? ты одну и ту же ссылку прикрепил

могу продемонстрировать например по телеге созвониться экран показать… если нужно какие логи собрать с каким ключом запустить или отладочную сборку запустить тоже без проблем. Могу свой файл конфигурации прислать. Стукнуться к тебе в профиль на гитхабе?

Значит так на direct на 12 пирах протокол TUIC разогнался до 12-13 мегабит

Через relay меньше мегабита. Протоколы - Hysteria, TUIC, VMess TCP, VMess WS. не думаю что смена протокола что-то сделает…

С телефоном - просто так не завелось. Ну я сам программист понимаю что чудес не бывает - выставил наружу через -l 0.0.0.0:55551 и с ноута подцепился. Сами тунннели работают, но скорость ниже чем на ноуте хз почему.

Я так понимаю что VPN клиент на телефоне какой-то запрос делает который блокирует соединение

вот кстати лог когда соединение “не рабочее”

2026-05-06 16:26:29.786 [DEBUG] pipe copy done direction=a->b bytes=7599 error=read udp 127.0.0.1:54310: i/o timeout
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=b->a bytes=3737 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=b->a bytes=38327845 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=b->a bytes=190092 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=b->a bytes=188190 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=b->a bytes=17437 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=a->b bytes=6667 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=a->b bytes=24483684 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=a->b bytes=16448 error=EOF
2026-05-06 16:26:29.787 [DEBUG] pipe copy done direction=a->b bytes=8593 error=EOF
2026-05-06 16:26:29.971 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:29.971 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:29.971 [DEBUG] pipe copy done direction=a->b bytes=1600 error=EOF
2026-05-06 16:26:30.646 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:30.646 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:30.647 [DEBUG] pipe copy done direction=a->b bytes=1600 error=EOF
2026-05-06 16:26:31.994 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:31.994 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:31.994 [DEBUG] pipe copy done direction=a->b bytes=1600 error=EOF
2026-05-06 16:26:34.690 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:34.690 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:34.691 [DEBUG] pipe copy done direction=a->b bytes=1600 error=EOF
2026-05-06 16:26:36.268 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:36.269 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:36.269 [DEBUG] pipe copy done direction=a->b bytes=27 error=EOF
2026-05-06 16:26:39.465 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:39.465 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:39.466 [DEBUG] pipe copy done direction=a->b bytes=32 error=EOF
2026-05-06 16:26:44.280 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:44.280 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:44.280 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:26:44.481 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:44.481 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:44.481 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:26:44.857 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:44.857 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:44.857 [DEBUG] pipe copy done direction=a->b bytes=1600 error=EOF
2026-05-06 16:26:44.881 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:44.881 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:44.881 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:26:45.681 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:45.681 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:45.682 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:26:46.268 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:46.268 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:46.268 [DEBUG] pipe copy done direction=a->b bytes=27 error=EOF
2026-05-06 16:26:46.680 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:46.680 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:46.680 [DEBUG] pipe copy done direction=a->b bytes=32 error=EOF
2026-05-06 16:26:47.282 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:47.282 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:47.282 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:26:54.008 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:54.008 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:54.008 [DEBUG] pipe copy done direction=a->b bytes=1054 error=EOF
2026-05-06 16:26:56.268 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:56.268 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:56.268 [DEBUG] pipe copy done direction=a->b bytes=27 error=EOF
2026-05-06 16:26:57.921 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:57.921 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:57.921 [DEBUG] pipe copy done direction=a->b bytes=178 error=EOF
2026-05-06 16:26:57.923 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:26:57.923 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:26:57.923 [DEBUG] pipe copy done direction=a->b bytes=2195 error=EOF
2026-05-06 16:27:04.020 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:04.020 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:04.020 [DEBUG] pipe copy done direction=a->b bytes=81 error=EOF
2026-05-06 16:27:04.022 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:04.022 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:04.022 [DEBUG] pipe copy done direction=a->b bytes=1441 error=EOF
2026-05-06 16:27:06.274 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:06.274 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:06.274 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:06.474 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:06.474 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:06.475 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:06.874 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:06.874 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:06.875 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:07.674 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:07.674 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:07.675 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:09.275 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:09.276 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:09.276 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:11.279 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:11.279 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:11.279 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:11.479 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:11.479 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:11.480 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:11.880 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:11.880 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:11.880 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:12.680 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:12.680 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:12.680 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:14.280 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:14.281 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:14.282 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:16.285 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:16.285 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:16.285 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:16.485 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:16.485 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:16.485 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:16.886 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:16.886 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:16.886 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:17.686 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:17.686 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:17.687 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:19.287 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:19.287 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:19.287 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:21.291 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:21.292 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:21.292 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:21.492 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:21.492 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:21.493 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:21.892 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:21.892 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:21.893 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:22.692 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:22.692 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:22.693 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:24.293 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:24.293 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:24.293 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:26.296 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:26.296 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:26.297 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:26.497 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:26.498 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:26.498 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:26.897 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:26.897 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:26.897 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF
2026-05-06 16:27:27.698 [DEBUG] piping local client to channel route_idx=0
2026-05-06 16:27:27.698 [DEBUG] pipe copy done direction=b->a bytes=0 error=EOF
2026-05-06 16:27:27.699 [DEBUG] pipe copy done direction=a->b bytes=2560 error=EOF

что за туик? и насколько директ? т.е. кто из известных\халявных его использует?
wg обыкновенный при пирах 1+ перестаёт работать вовсе, что и немудрено ибо пир2пир

а если это собственная поделка\впс то необходимость директ вызывает вопросы…

по крайней мере старый vk-turn скорость линейно растёт от кол-ва пиров для режима с обфускацией

у меня свой мультипротокольный vpn на арендованном vps.