Android-клиент для Turnable и olcRTC. Проброс любого трафика (SOCKS5, VLESS, WireGuard) через WebRTC
  • Kotlin 99.3%
  • Shell 0.7%
Find a file
spkprsnts da7151c7bf build: обновление версии приложения до 6.4.12
- **Версионирование**: значение `project.versionName` в файле `gradle.properties` изменено с `6.4.11` на `6.4.12`.
2026-06-30 04:07:23 +05:00
.github/workflows ci: оптимизация кеширования нативных компонентов в GitHub Actions 2026-05-28 02:09:08 +05:00
app fix(turnable): обновление сабмодуля до 0.5.1 и формата клиентских ссылок 2026-06-30 03:43:10 +05:00
docs fix(turnable): обновление сабмодуля до 0.5.1 и формата клиентских ссылок 2026-06-30 03:43:10 +05:00
external build(hev-socks5-tunnel): обновление сабмодуля 2026-06-30 03:56:50 +05:00
gradle build: обновление версий Compose BOM, Material 3 и Lifecycle 2026-06-30 04:04:28 +05:00
.gitattributes build: переход на сборку Go-бинарников из исходного кода через субмодули 2026-04-27 02:47:26 +05:00
.gitignore feat: интеграция FFmpeg и обновление ядра olcrtc 2026-05-11 04:11:37 +05:00
.gitmodules feat: интеграция нового ядра туннелирования WebDAV 2026-05-26 07:17:21 +05:00
build.gradle.kts Initial commit: Android-клиент для TURN-прокси с интегрированными wireproxy и tun2socks 2026-04-14 02:22:47 +05:00
build.sh fix(ci): принудительная пересборка Go бинарников при обновлении сабмодулей 2026-06-08 05:14:23 +05:00
gradle.properties build: обновление версии приложения до 6.4.12 2026-06-30 04:07:23 +05:00
gradlew Initial commit: Android-клиент для TURN-прокси с интегрированными wireproxy и tun2socks 2026-04-14 02:22:47 +05:00
gradlew.bat Initial commit: Android-клиент для TURN-прокси с интегрированными wireproxy и tun2socks 2026-04-14 02:22:47 +05:00
LICENSE Initial commit: Android-клиент для TURN-прокси с интегрированными wireproxy и tun2socks 2026-04-14 02:22:47 +05:00
README.md docs: добавление спецификации для генерации JSON-профилей 2026-05-28 01:51:58 +05:00
settings.gradle.kts Initial commit: Android-клиент для TURN-прокси с интегрированными wireproxy и tun2socks 2026-04-14 02:22:47 +05:00

WireTurn Logo

WireTurn — Android WebRTC & WebDAV Tunnel

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

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

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

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

Turnable

Обеспечивает туннелирование TCP/UDP трафика через TURN-серверы или SFU-платформы.

  • Multi-Peer: Распределяет трафик по нескольким параллельным WebRTC-соединениям (пирам) для повышения пропускной способности и стабильности.
  • Мультиплексирование: Позволяет эффективно передавать множество независимых потоков данных внутри установленных сессий.
  • Имитация медиа-трафика: Опционально использует SRTP (Secure RTP) с DTLS-рукопожатием, маскируя пакеты под зашифрованный видеопоток (VP8). Это необходимо для работы через SFU-платформы в режиме Relay.
  • Шифрование: Обязательное сквозное шифрование для рукопожатия и настраиваемое шифрование для передаваемых данных.

olcRTC

Туннелирование через платформы видеоконференций с использованием различных WebRTC-транспортов. Реализует SOCKS5-прокси для подключения:

  • DataChannel: Передача через стандартные каналы данных WebRTC (SCTP). Обеспечивает высокую скорость и низкие задержки.
  • VP8Channel: Стеганография внутри видеопотока VP8. Пакеты маскируются под валидные ключевые кадры видео и передаются с использованием надежного протокола KCP поверх них.
  • SEIChannel: Упаковка данных в метаданные видеопотока H.264. Использует Supplemental Enhancement Information (SEI) сообщения для скрытой передачи пакетов.
  • VideoChannel: Визуальная стеганография. Данные кодируются в QR-коды или специальные графические тайлы и транслируются как реальный видеопоток.

WebDAV

Туннелирование трафика через любое WebDAV-совместимое облачное хранилище.

  • Polling: Работает через периодические запросы к серверу для получения и отправки данных.
  • Скрытность: Трафик полностью имитирует работу с облачным диском по протоколу HTTPS.
  • Универсальность: Поддержка большинства популярных WebDAV-провайдеров.

Возможности

  • Xray-core — встроенный прокси-движок для работы с VLESS и WireGuard в режиме локального SOCKS5/HTTP прокси.
  • Dual-route (VLESS) — интеллектуальная маршрутизация: автоматическое переключение на прямой адрес сервера при его доступности, минуя WebRTC-туннель для снижения задержек.
  • VPN Mode & Split Tunneling — полноценный VPN-режим (TUN) с поддержкой исключения (Bypass) и включения (Include) конкретных приложений.
  • Система профилей — создание независимых конфигураций, поддержка массового импорта и удобное управление.
  • Быстрое управление — смена профиля из уведомления, 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, x86_64
  • VPS для размещения серверной части (сервер Turnable, olcRTC или WebDAV) или аккаунт в облачном сервисе с поддержкой WebDAV.

Настройка

Подробные инструкции по настройке серверной части и клиента WireTurn доступны в следующих руководствах:

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

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

Проект поддерживает автоматизированную сборку нативных компонентов через Gradle-задачи.

Требования к окружению

Для сборки нативных библиотек (.so) рекомендуется использовать Linux (Ubuntu/Debian) или Windows + WSL2.

В системе должны быть установлены следующие зависимости:

  • Инструменты сборки: build-essential, cmake, ninja-build, meson, pkg-config.
  • Ассемблеры: nasm, yasm (необходимы для FFmpeg, x264, libvpx).
  • Автоматизация: autoconf, automake, libtool.
  • Языки и окружение: golang (1.23+), openjdk-21-jdk, python3, git, curl.

Команда для установки всех зависимостей в Ubuntu/Debian:

sudo apt update && sudo apt install -y build-essential cmake ninja-build meson nasm yasm pkg-config git curl autoconf automake libtool golang-go openjdk-21-jdk python3

Сборка

git clone --recursive https://github.com/spkprsnts/WireTurn.git
# Сборка всех нативных компонентов (займет время)
./gradlew buildCBinaries buildGoBinaries buildFfmpegBinaries
# Сборка APK
./gradlew assembleDebug

Упоминания

Лицензия

GPL-3.0