Skip to content
spkprsntsPublic

About

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

Topics

Resources

Stars

170 stars

Watchers

6 watching

Forks

Repository files navigation

WireTurn Logo

WireTurn — Android WebRTC & WebDAV Tunnel

Android-клиент для Turnable, olcRTC, WebDAV, FreeTurn, qWDTT, OpenFlux и CSQTT — туннелирование трафика через 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://) распознаются напрямую. Если на сервере включён raw-режим (-listen-raw) и в профиле указан его порт, VPN без Xray работает напрямую через TUN ядра.

OpenFlux

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

CSQTT

Сырые IP-пакеты через TURN-релеи звонков VK, замаскированные под медиатрафик звонка. Само ядро работает только с TUN: в VPN-режиме без Xray оно получает TUN устройства напрямую, в остальных случаях рядом запускается socks2tun и даёт обычный локальный SOCKS5 с авторизацией. Ссылки csqtt:// официального приложения и серверных панелей распознаются напрямую. Недоступно на x86.

Возможности

  • Xray-core — встроенный движок для VLESS/Trojan/Hysteria2 и WireGuard в режиме локального SOCKS5/HTTP-прокси.
  • Dual-route — автоматическое переключение на прямой адрес сервера при его доступности, минуя WebRTC-туннель, для снижения задержек.
  • SOCKS5 Chain — для SOCKS5-нативных ядер (olcRTC, WebDAV, qWDTT, OpenFlux, CSQTT) подключается к VLESS/Trojan-серверу через локальный SOCKS5 ядра вместо прямого соединения (недоступно для Hysteria2).
  • VPN-режим и Split Tunneling — полноценный TUN-режим с исключением (Bypass) или включением (Include) конкретных приложений. Ядра, которые умеют работать с TUN сами (CSQTT, qWDTT с raw-портом), без Xray получают TUN напрямую, минуя SOCKS5; такие профили помечены тегом «TUN».
  • Профили и подписки — независимые конфигурации, массовый импорт, автообновление по расписанию с учётом квоты трафика; импорт по диплинкам 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 (CSQTT — без x86).
  • VPS для серверной части (Turnable, olcRTC, WebDAV, FreeTurn, qWDTT, OpenFlux или CSQTT).

Настройка

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

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

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

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

Зависимости: build-essential, pkg-config, cmake, golang (1.23+), openjdk-21-jdk, python3, git, curl, а для CSQTT — Rust (через rustup) с Android-таргетами и cargo-ndk.

sudo apt update && sudo apt install -y build-essential pkg-config cmake git curl golang-go openjdk-21-jdk python3
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android
cargo install cargo-ndk --locked

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

Упоминания

Лицензия

GPL-3.0

About

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

Topics

Resources

Stars

170 stars

Watchers

6 watching

Forks

Releases

Contributors

Languages