Turnable - альтернатива vk-turn-proxy и других подобных проектов, написанная с нуля.
Через него гнать сколько угодно соединений т.к. есть мультиплесирование, а также TCP если включить транспортный протокол KCP. Сверху ещё управление несколькими маршрутами и пользователями с рабочей авторизацией, чтобы свой сервер можно было шерить с друзьями, а также опциональное сквозное шифрование.
Архитектура модульная, в целом ничего не мешает добавить поддержку любой другой платформы. Все удобненько раскидано по папочкам. Клиент не крашится по неведомым/глупым причинам и следит за работой туннеля, и если что шустро реконнектится.
Также дополнительно есть ещё пару идей, как можно было бы получить канал по-больше, но её реализации пока нет. Основной метод который сейчас абузят работает стабильно с 99.9% успешным авторешением капчи ВК.
а надо наеборот. серверная часть должна создавать комнату и т.п.. а после оставаться в этой комнате и ждать клиента. у клиента только адрес ссылки без кредов, а сервак как “организатор” встречи может\должен “впускать” клиента и начинать передачу данных
P2P правильно расписан, и задумывается именно то, что ты сейчас описываешь. Слово “Peer“ в “Server - Main Peer“ написано не просто так) он сидит ждет клиента, подключается к звонку ещё N раз и сообщает о выделенных пирах клиенту.
И если что креды нужно и серверу, и клиенту чтобы подключится к звонку, если ты имел ввиду креды ВК. Если ты имеешь ввиду требование полного конфига а не только ссылки на комнату, то тут ничего не поделать - Turnable специально делался с модульной архитектурой, и один вариант конфигурации может быть полностью несовместим с другим. Да и как авторизацию тогда делать-то?)
Аргументы командной строки на все 100% отличаются от того, что у vk-turn-proxy. Если есть мазохисты, то думаю чуток переделать существующий Android клиент к vk-turn-proxy под Turnable не будет уж сильно затруднительным.
Планируется официальный клиент, и для этого я пилю режим сервиса - Turnable создаст unix/tcp сокет, к которому можно будет потом подключится и удобно “общаться“ с ним без необходимости в C interop или костылей через аргументы командной строки, полностью отслеживая текущее состояние и давая возможность изменять настройки в рантайме. Таким образом я убью сразу несколько зайцев - думаю, есть люди котором подобная система сильно пригодится, особенно тем кто собирается ставить сия чудо на роутеры.
P.S. Скорее всего в GUI клиент и сам Turnable будет встроена поддержка WireGuard напрямую, но только для удобства и в основном для десктопа. Я бы не рекомендовал использовать её 24/7 когда она будет реализована, особенно на телефонах когда все кому не лень уже добавили жучок РКН. Мне не сильно хочется делать систему роутинга как у NekoBox самому, и я не думаю что открывать два приложения вместо одгого будет уж совсем неюзабельным)
может мы про разные креды? вк учётка нужна только 1 раз чтоб создать встречу\звонок
на текущий момент и вовсе можно левой комнатой пользоваться когда ни клиент ни сервер ничего не знают про вк учётку а знают только ссылку звонка\комнаты
Да, я говорил про анонимные креды (токен), которые можно запросить у ВК вместо того чтобы входить в реальный аккаунт. Сервер НЕ будет создавать комнату, в этом попросту нет смысла т.к. ВК быстро все это дело подбанит. И клиент, и сервер будут подключатся к уже существующей комнате.
это тоже легко попятить…
на телемосте уже сейчас только “организатор” с активным акком должен впустить гостей без акка чтоб они хоть чтото увидели или начали вещать
Думаю, самый логичный следующий шаг это добавить MAX.
Есть даже библиотека для инициализации звонков, несколько месяцев назад проверял – GitHub - icyfalc0n/maxcalls · GitHub
в целом да, он изначально планировался т.к. зависит от ВК, только там обязательна авторизация, а там аккаунты исключительно по номеру телефона. так что если подбанят аккаунт, будет плохо если не регал на левый номер(
а левый номер в РФ хрен достанешь. мб монголия и т.д. можно будет.
Поэтому следует сделать обфускацию под такой же паттерн трафика как у обычных видеозвонков в FullHD качестве.
Там используется обычный WebRTC, поэтому тестируйте не на их инфраструктуре, а на своей. До тех пор, пока сами не найдете способов отличить.
У вас уже есть поддержка мультиплексирования соединений вроде как, поэтому для увеличения пропускной способности сети она и будет использоваться. Отлично для этого подходят “групповые звонки”. Лимит участников и продолжительность не ограничены.
Думаю, можно закупиться и зарегистрироваться с eSIM у местных ОПСОСов 40 стран.
я правильно понимаю что он туннелирует udp? то есть на той стороне можно указать сервер истерии а у себя в на клиенте указать 127.0.0.1 ? и пользоваться всякими xray/singbox ядрами нв клиенте со всеми роутингами и прочими вкусностями