Skip to content

Repository files navigation

WireTurn Logo

WireTurn — Android WebRTC & WebDAV Tunnel

Android-клиент для Turnable, olcRTC, WebDAV, FreeTurn, qWDTT и OpenFlux — туннелирование трафика через WebRTC и WebDAV.

Disclaimer: Проект предназначен исключительно для образовательных и исследовательских целей.

Принцип работы

WireTurn упаковывает трафик в стандартные протоколы WebRTC (DTLS/SRTP) или передаёт его через облачные хранилища, в зависимости от выбранного ядра.

Turnable

Туннелирование TCP/UDP через TURN-серверы или SFU-платформы: несколько параллельных пиров (Multi-Peer) для пропускной способности и стабильности, мультиплексирование потоков, опциональная имитация видеотрафика (SRTP/DTLS поверх VP8) для работы через SFU в режиме Relay, сквозное шифрование рукопожатия.

olcRTC

Туннелирование через платформы видеоконференций с SOCKS5-прокси на клиенте. Транспорты: DataChannel (SCTP, низкая задержка), VP8Channel (стеганография в видеопотоке через KCP), SEIChannel (упаковка в SEI-метаданные H.264), VideoChannel (визуальная стеганография — QR-коды/графические тайлы).

WebDAV

Туннелирование через любое WebDAV-совместимое облачное хранилище: передача данных поллингом, трафик неотличим от обычной работы с облачным диском по HTTPS.

FreeTurn

Туннелирование через WebRTC поверх UDP с подпиской на список серверов (поддерживаются как обычные, так и Base64-закодированные подписки), гибкой настройкой обфускации/транспорта до TURN-relay и ручным решением капчи через встроенный браузер при необходимости.

qWDTT

Ещё одно туннелирование через TURN-инфраструктуру звонков VK: WireGuard поверх DTLS-релея, локальный SOCKS5-прокси на клиенте. Ссылки и QR-коды в формате qWDTT (включая устаревшую схему wdtt://) распознаются напрямую.

OpenFlux

Туннелирование через легитимные сторонние сервисы: Yandex.Docs (курсор совместного редактирования как канал передачи данных) или MAX (WebRTC DataChannel внутри голосового звонка) — серверная часть подключается к тому же документу/звонку вместо прямого адреса. Локальный SOCKS5-прокси на клиенте, без поддержки авторизации на нём (ограничение самого ядра).

Возможности

  • Xray-core — встроенный движок для VLESS/Trojan/Hysteria2 и WireGuard в режиме локального SOCKS5/HTTP-прокси.
  • Dual-route — автоматическое переключение на прямой адрес сервера при его доступности, минуя WebRTC-туннель, для снижения задержек.
  • SOCKS5 Chain — для SOCKS5-нативных ядер (olcRTC, WebDAV, qWDTT, OpenFlux) подключается к VLESS/Trojan-серверу через локальный SOCKS5 ядра вместо прямого соединения (недоступно для Hysteria2).
  • VPN-режим и Split Tunneling — полноценный TUN-режим с исключением (Bypass) или включением (Include) конкретных приложений.
  • Профили и подписки — независимые конфигурации, массовый импорт, автообновление по расписанию с учётом квоты трафика; импорт по диплинкам wireturn:// и wt://. Подробности — в спецификации подписок и профилей.
  • Быстрое управление — смена профиля из уведомления, Quick Settings Tile и Intent API.
  • Умное ожидание сети — восстановление туннеля при появлении интернета без лишних уведомлений об ошибках.
  • Material 3 Expressive — динамические цвета и expressive motion анимации.

Автоматизация (Intent API)

Управление туннелем из сторонних приложений (например, Tasker):

  • Запуск: com.wireturn.app.START_CORE
  • Остановка: com.wireturn.app.STOP_CORE

Скриншоты

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6

Быстрый старт

Требования

  • Android 8.0+ (API 26), архитектуры arm64-v8a, armeabi-v7a, x86_64, x86.
  • VPS для серверной части (Turnable, olcRTC, WebDAV, FreeTurn, qWDTT или OpenFlux).

Настройка

Стек технологий

Kotlin + Jetpack Compose (Material 3 Expressive). Нативные компоненты (C/Go) собираются из исходников через Git-субмодули:

Для разработчиков

Сборка нативных библиотек (.so) автоматизирована через Gradle-задачи; рекомендуется Linux (Ubuntu/Debian) или Windows + WSL2.

Зависимости: build-essential, pkg-config, golang (1.23+), openjdk-21-jdk, python3, git, curl.

sudo apt update && sudo apt install -y build-essential pkg-config git curl golang-go openjdk-21-jdk python3

git clone --recursive https://github.com/spkprsnts/WireTurn.git
./gradlew buildCBinaries buildGoBinaries   # нативные компоненты
./gradlew assembleDebug                    # APK

Упоминания

Лицензия

GPL-3.0

About

Android-клиент для Turnable, olcRTC, FreeTurn, WebDAV-tunnel и OpenFlux. Проброс любого трафика (SOCKS5, VLESS, WireGuard) через WebRTC

Topics

Resources

Stars

161 stars

Watchers

6 watching

Forks

Releases

Contributors

Languages