Thymus

Verified safeOpen sourceExclusive
—
No reviews reviews
—
downloads
8.0
android

AI summary

Native Android MTProto proxy client that routes Telegram traffic through WebSocket, Cloudflare, or TCP, with optional experimental DPI bypass. Version 1.0.2 fixes a startup route check that could make the app unresponsive.

Generated by AI. May contain inaccuracies.

About this app

Нативный Android-клиент MTProto-прокси с обходом DPI без root

Нативное Android-приложение: локальный MTProto-прокси, который гоняет трафик Telegram через WebSocket к серверам Telegram.

Telegram (на телефоне) → 127.0.0.1:1443 → WebSocket (TLS) → DC Telegram Приложение поднимает прокси только на loopback-интерфейсе, поэтому:

не нужен VPN, root и сторонние серверы; трафик не выходит за пределы устройства иначе как в Telegram; данные остаются в том же шифровании MTProto — прокси лишь меняет транспорт.

Возможности Нативный Kotlin/Compose, без Python. Сам MTProto-прокси работает без VPN. Отдельный необязательный режим обхода DPI использует локальный VpnService и помогает только при поверхностной фильтрации — см. раздел ниже. Главный экран — крупная кнопка Включить/Выключить, кнопка Подключить с иконкой Telegram, шестерёнка настроек и карточка трафика ↓/↑ внизу. MTProto-прокси на 127.0.0.1:1443 (порт и секрет настраиваются). Три маршрута до DC: WebSocket напрямую, WebSocket через Cloudflare-домены, обычный TCP. Первое подключение к DC запускает прямой и Cloudflare-маршрут одновременно и берёт тот, что ответил раньше; рабочий маршрут запоминается отдельно для каждого DC. Пул готовых соединений: после подключения приложение заранее открывает запасной TLS+WS-туннель (TTL 20 с), поэтому следующее переподключение Telegram не платит 0.5–1.8 с за рукопожатие. На замерах первое подключение 390 мс, из пула — 110 мс. Если сервер закрывает такой туннель, пул автоматически отключается на минуту. Прогрев маршрутов при запуске идёт в фоне и не блокирует интерфейс. Cloudflare-домены: параллельный перебор, «мёртвые» (503) уходят в карантин на 5 минут, список автоматически обновляется с GitHub при запуске. DNS с защитой от подмены: если адрес CF-домена не принадлежит Cloudflare, имя переразрешается через DNS-over-HTTPS (1.1.1.1 / Cloudflare / Google / Quad9). Слушает и 127.0.0.1, и ::1 (на случай, если клиент открывает localhost). Разбор obfuscated-handshake, AES-CTR перешифровка потоков, разбиение на WS-фреймы по пакетам. Foreground-сервис без уведомления: приложение не запрашивает разрешение на уведомления, поэтому на Android 13+ в шторке нет ни строки, ни иконки. Сервис виден только в системном «Диспетчере задач» (свёрнутые приложения). Встроенный лог, статистика и проверка маршрутов с замерами времени и локальным тестом пинга. Экспериментальный обход DPI без root: локальный VPN, переупаковка TLS-рукопожатия внутри SNI, ретрансляция QUIC и выбор конфига, как в zapret. Не помогает против глубокой инспекции. Автоподбор конфига обхода: проверяет каждый конфиг реальным TLS-рукопожатием с YouTube и Discord и оставляет тот, что получил ответ.

Если не подключается Откройте Настройки → раздел «Лог» и нажмите Проверить маршруты. Через ~20 секунд появится строка на каждый DC и результат локального теста:

DC2: WS ✓ kws2.web.telegram.org@149.154.167.220 480 мс · CF ✓ kws2.offshor.co.uk 650 мс · TCP ✗ ... DC1: WS ✗ timeout · CF ✓ kws1.offshor.co.uk 700 мс · TCP ✗ ... Локальный тест DC2: ответ за 1.2 с, пинг 140 мс WS ✓ — прямой маршрут до DC работает (самый короткий путь); CF ✓ — работает обход через Cloudflare (нужен, если прямой заблокирован); TCP ✗ timeout — обычный TCP до DC закрыт (это нормально, если работает CF); ответ за … — сколько ждёт Telegram при новом подключении (выбор маршрута + TLS); пинг … — установившееся время отклика, именно его показывает Telegram в настройках прокси. Если пинг в Telegram сильно больше локального теста — дело не в маршруте: проверьте, что прокси в Telegram добавлен с текущим секретом, и что приложение не выгружается системой.

Если оба маршрута ✗, сеть блокирует и Telegram, и Cloudflare. Попробуйте другую сеть или свои CF-домены в настройках.

Неверный handshake в логе и красная карточка — Telegram подключается со старым секретом. Удалите лишнюю запись 127.0.0.1:1443 в настройках прокси Telegram, оставьте одну.

В Telegram не должно быть двух записей 127.0.0.1:1443. Если одна из них висит в статусе «Проверка…», удалите её: Telegram будет бросать подключения то на рабочий прокси, то на запись со старым секретом, и соединение будет рваться. Оставьте одну запись с текущим секретом. Автопереключение прокси при этом лучше выключить.

Если Android показывал «Приложение не отвечает» — это исправлено в 1.0.2: проверка маршрутов при старте больше не выполняется на главном потоке.

«Скопировать лог» — копирует последние строки, удобно приложить к описанию проблемы.

Если фото/видео не грузятся В настройках прокси в Telegram (DC → IP) оставьте только 4:149.154.167.220 либо очистите поле. Поле «DC → IP» в настройках приложения задаёт, какие DC идут через WebSocket; остальные уходят в TCP/CF-резерв. Если оставить это поле пустым, прямой WebSocket не используется вовсе — работают только Cloudflare и TCP.

Ограничения Не реализовано: HTTP/2-мультиплексирование для медиа, Cloudflare Worker, Fake TLS (на loopback не нужен — клиент и прокси на одном устройстве), PROXY protocol. Список CF-доменов обновляется с GitHub при запуске (если поле не переопределено вручную).

Проект не связан с Telegram. Используйте на свой риск и в рамках закона.

Лицензия MIT

About this version

Version
1.0.2 (3)
Size
9.11 MB
Requires Android
8.0
Target SDK
26
Architecture
armeabi-v7a, x86, x86_64, arm64-v8a
Downloads
0
Updated
Nov 6, 2026
Package
com.thymus.tgwsproxy
Languages2
EnglishRussian

Similar apps

Ratings & reviews

—
0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app