https://github.com/newmcpe/tg-ws-proxy
Fast Rust rewrite of a Telegram MTProto<->WebSocket bridge proxy with DPI evasion — desktop tray (egui) and Android (Compose) apps.
https://github.com/newmcpe/tg-ws-proxy
android anti-censorship boringssl censorship-circumvention dpi-bypass egui ja3 jetpack-compose mtproto mtproto-proxy proxy rust telegram telegram-proxy tokio websocket
Last synced: about 3 hours ago
JSON representation
Fast Rust rewrite of a Telegram MTProto<->WebSocket bridge proxy with DPI evasion — desktop tray (egui) and Android (Compose) apps.
- Host: GitHub
- URL: https://github.com/newmcpe/tg-ws-proxy
- Owner: Newmcpe
- License: other
- Created: 2026-06-13T06:08:36.000Z (12 days ago)
- Default Branch: main
- Last Pushed: 2026-06-13T06:49:14.000Z (12 days ago)
- Last Synced: 2026-06-13T08:14:06.064Z (12 days ago)
- Topics: android, anti-censorship, boringssl, censorship-circumvention, dpi-bypass, egui, ja3, jetpack-compose, mtproto, mtproto-proxy, proxy, rust, telegram, telegram-proxy, tokio, websocket
- Language: Rust
- Size: 145 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 TG WS Proxy
Локальный прокси для **Telegram**, который туннелирует трафик MTProto поверх
защищённого WebSocket, замаскированного под обычный `web.telegram.org`. Помогает
Telegram работать там, где прямой доступ режут или блокируют — без сторонних
серверов и без VPN.
Полностью переписан на **Rust**: быстрое асинхронное ядро, десктопное приложение
в трее (Windows / Linux / macOS), нативное приложение для **Android** и
консольная версия для серверов.
> ⚡ Никаких внешних серверов: прокси поднимается прямо на вашем устройстве
> (`127.0.0.1`), а Telegram подключается к нему как к обычному MTProto-прокси.
## ✨ Возможности
- **Обход блокировок и DPI** — WebSocket-рукопожатие под видом браузера,
маскировка под Fake-TLS, режим через Cloudflare и опциональный
TLS-отпечаток Chrome (JA3 с GREASE).
- **Шифрование сохраняется** — MTProto перешифровывается на лету (AES-CTR),
ваш трафик остаётся защищённым.
- **Приложение в трее** — один самодостаточный `.exe` без зависимостей,
автозапуск при входе в систему, кнопка «Открыть в Telegram».
- **Приложение для Android** — то же самое ядро, работает в фоновом сервисе,
VPN не требуется.
- **Консольная версия** — для запуска на серверах и VPS.
## 📥 Установка
### Windows
1. Скачайте `tg-ws-proxy-tray.exe` из раздела [Releases](../../releases).
2. Запустите файл — иконка появится в системном трее.
3. Нажмите **«Открыть в Telegram»** — Telegram откроется с уже заполненным
прокси, останется только включить его.
### Linux / macOS
Скачайте сборку для вашей системы из [Releases](../../releases) и запустите.
Иконка появится в трее, дальше — как на Windows.
### Android
Скачайте `.apk` из [Releases](../../releases), установите и запустите:
1. Нажмите **«Запустить»** (разрешите уведомления).
2. Нажмите **«Открыть в Telegram»** — прокси подставится автоматически.
3. Секрет не меняется между запусками, так что прокси добавляется один раз.
### Сборка из исходников
Нужен установленный [Rust](https://rustup.rs/):
```sh
cargo build --release # консольное ядро + трей (rustls)
cargo build --release --features tray # десктопное приложение в трее
# TLS-отпечаток Chrome (нужен тулчейн BoringSSL: cmake + C-компилятор):
cargo build --release --features tray,chrome-tls
```
Сборка Android описана в [`android/README.md`](android/README.md),
упаковка дистрибутивов — в [`PACKAGING.md`](PACKAGING.md).
## ⚙️ Как это работает
```
Telegram ──► локальный MTProto-прокси (127.0.0.1:<порт>)
│
tg-ws-proxy (Rust)
│
TLS-WebSocket под видом web.telegram.org
│
серверы Telegram
```
Telegram думает, что подключается к обычному MTProto-прокси на вашем устройстве.
На самом деле трафик заворачивается в защищённый WebSocket, который для систем
фильтрации выглядит как штатное обращение к веб-версии Telegram.
## 🛠️ Если что-то не работает
- **Telegram не подключается** — убедитесь, что приложение запущено (иконка в
трее), и что прокси в Telegram включён.
- **Прокси не добавился сам** — добавьте его вручную: тип **MTProto**, адрес
`127.0.0.1`, порт из приложения, секрет из приложения.
- **Соединение режется в особо враждебных сетях** — соберите версию с
TLS-отпечатком Chrome (`--features tray,chrome-tls`).
## 📄 Лицензия
[WTFPL](LICENSE) — делайте что хотите.
## 🙏 Благодарности
В основе лежит идея и оригинальная Python-реализация
**[tg-ws-proxy от Flowseal](https://github.com/Flowseal/tg-ws-proxy)** (MIT).
Этот репозиторий — независимая версия, переписанная на Rust; вся заслуга за
исходную концепцию и работу над протоколом принадлежит Flowseal.