Repository navigation
Releases: NullCoreDeveloper/turnp2p
Release list
v1.0.1
🚀 Анонс открытой беты TurnP2P — виртуальная P2P-сеть через VK Звонки (Windows / Linux)
Выкатываю в открытую бету новый проект — TurnP2P. Это опенсорсная утилита для создания виртуальных локальных сетей (L3 VPN) между компьютерами за NAT (аналог Hamachi, Radmin VPN или ZeroTier).
Главная идея проекта — использование общедоступной инфраструктуры медиа-релеев (TURN) VK Звонков в качестве бесплатного и устойчивого к блокировкам транспорта с маскировкой трафика.
Приложение позволяет играть в сетевые игры, подключаться по SSH/RDP или поднимать веб-серверы между машинами без необходимости иметь белый IP-адрес и без регистрации аккаунтов.
📌 Что умеет текущая бета:
• Полноценный TUN-адаптер: На Linux поднимается нативный tun, на Windows используется высокопроизводительный драйвер Wintun. Каждому узлу выделяется виртуальный IP из подсети 10.42.0.0/16 и внутренний домен (ник.vkturn, прописывается в hosts).
• Автоматический вход без логина: Сеть привязывается к анонимной ссылке группового звонка VK. Встроен headless-резолвер капчи, который в фоне через установленный браузер (Chromium/Edge) проходит проверку робота и вытягивает TURN-токены.
• Обфускация rtpopus3: Пакеты шифруются общим ключом комнаты и упаковываются в структуру RTP-пакетов голосового кодека Opus. Для ТСПУ и DPI-систем провайдера трафик выглядит как обычный голосовой звонок.
• Мультистриминг: Трафик распараллеливается по 5–10 независимым TURN-потокам к разным IP-адресам серверов VK, что снижает джиттер и повышает общую скорость передачи.
• Встроенный брандмауэр портов: Защита открытых локальных служб (Whitelist / Block All / Allow All) с отслеживанием исходящих сессий (stateful UDP conntrack для работы голосовых модов в играх).
📖 Как подключиться (Инструкция):
- Создайте ссылку на звонок: Зайдите на calls.vk.com(или в приложении ВK), нажмите «Создать звонок» и скопируйте полученную ссылку вида https://vk.com/call/join/..., после можно выйти из звонка (и не нажимать кнопку "Завершить для всех").
- Скопируйте ссылку и ключ: Вставьте ссылку в TurnP2P. Скопируйте ссылку на звонок и ваш ключ шифрования (кнопка копирования есть прямо рядом с полем ключа после создания комнаты, либо можете самостоятельно скопировать до создания).
- Передайте данные друзьям: Друзья должны вставить к себе ту же самую ссылку на звонок И тот же самый ключ шифрования (ключ у всех в одной комнате должен совпадать!).
- Нажмите «Подключиться»: Приложение в фоне пройдёт проверку капчи и поднимет виртуальный сетевой адаптер.
- Готово: В окне появится список участников. Каждый получает свой виртуальный IP (10.42.X.Y) и домен (ник.vkturn), по которым компьютеры связываются напрямую.
Дополнительное: Для проброса портов нужно зайти в "Брандмауэр / Доступ ", в поле ввести нужный для открытия порт и открыть его.
🔬 Как это устроено под капотом:
- При создании комнаты приложение стучится в API звонков VK и генерирует сессию.
- В фоне через headless-браузер решается PoW-капча и получаются временные учетные данные TURN-серверов (
95.163.34.x). - Координация узлов (обмен адресами релеев и виртуальными IP) происходит через публичный MQTT-сигналинг.
- Сырые L3 IP-пакеты из виртуального интерфейса забираются роутером, шифруются и транслируются через TURN на удаленный узел.
• Задержка (пинг): Это не прямое соединение. Трафик всегда идёт через релейные серверы VK (в основном Москва и Санкт-Петербург). Если вы с другом живёте в одном городе далеко от центральной РФ, пинг будет идти через Москву (обычно 30–60 мс, при нестабильной сети до 100+ мс, проверенно).
• Ограничения по скорости: Поскольку это инфраструктура голосовых звонков, выжимать сотни мегабит не получится. Для игр, SSH и удаленного стола скорости хватает с головой, но перекачивать торренты через сеть не стоит.
• UDP-транспорт и потери пакетов: Трафик передается поверх UDP. Если у одного из участников нестабильный Wi-Fi или мобильная сеть с потерями пакетов могут ловить задержки на время повторной отправки потерянных пакетов.
• SmartScreen и антивирусы на Windows: У приложения пока нет платного цифрового сертификата разработчика (EV-подписи), поэтому Windows SmartScreen при первом запуске может ругаться («Неизвестный издатель»). Драйвер Wintun и исходный код полностью открыты.
• Необходимость прав администратора: Для создания сетевого адаптера и добавления маршрутов приложению требуются права root (Linux) или подтверждение UAC (Windows).
Для скачивания (Бета v1.0.2):
🟣 Ссылка на страницу релизов