mirror of
https://github.com/by-sonic/tglock.git
synced 2026-05-22 23:41:43 +03:00
v1.0.0: Clean rewrite — cross-platform, dark UI, stable WS tunnel
Made-with: Cursor:
This commit is contained in:
191
README.md
191
README.md
@@ -1,40 +1,65 @@
|
||||
<p align="center">
|
||||
<h1 align="center">TG Unblock</h1>
|
||||
<h1 align="center">TGLock</h1>
|
||||
<p align="center"><b>Обход блокировки Telegram через WebSocket-туннель</b></p>
|
||||
<p align="center">Без VPN. Без серверов. Без абонентки. Один клик.</p>
|
||||
<p align="center">
|
||||
<b>Обход блокировки Telegram через WebSocket-туннель</b><br>
|
||||
Без VPN. Без серверов. Без абонентки. Один клик.
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/by-sonic/tglock/releases"><img src="https://img.shields.io/github/v/release/by-sonic/tglock?style=for-the-badge&color=blue" alt="Release"></a>
|
||||
<a href="https://github.com/by-sonic/tglock/blob/main/LICENSE"><img src="https://img.shields.io/github/license/by-sonic/tglock?style=for-the-badge" alt="License"></a>
|
||||
<a href="https://github.com/by-sonic/tglock/stargazers"><img src="https://img.shields.io/github/stars/by-sonic/tglock?style=for-the-badge&color=yellow" alt="Stars"></a>
|
||||
<img src="https://img.shields.io/badge/rust-1.70%2B-orange?style=for-the-badge&logo=rust" alt="Rust">
|
||||
<img src="https://img.shields.io/badge/platform-Windows-0078D6?style=for-the-badge&logo=windows" alt="Windows">
|
||||
<a href="https://github.com/by-sonic/tglock/releases/latest"><img src="https://img.shields.io/github/v/release/by-sonic/tglock?style=flat-square&color=blue" alt="Release"></a>
|
||||
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-333?style=flat-square" alt="Platform">
|
||||
<img src="https://img.shields.io/badge/rust-stable-orange?style=flat-square&logo=rust" alt="Rust">
|
||||
<a href="LICENSE"><img src="https://img.shields.io/github/license/by-sonic/tglock?style=flat-square" alt="MIT"></a>
|
||||
</p>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Что это?
|
||||
|
||||
**TG Unblock** — десктопное приложение на Rust, которое обходит блокировку Telegram через локальный WebSocket-прокси. Провайдер видит обычный HTTPS к `web.telegram.org`, а не MTProto — DPI не может обнаружить и заблокировать трафик.
|
||||
|
||||
### Почему не GoodbyeDPI / Zapret?
|
||||
|
||||
| | GoodbyeDPI | Zapret | **TG Unblock** |
|
||||
|---|---|---|---|
|
||||
| Метод | Фрагментация пакетов | Desync пакетов | WebSocket-туннель |
|
||||
| DPI видит MTProto? | Нет (обфускация) | Нет (desync) | **Нет (обычный HTTPS)** |
|
||||
| IP-шейпинг обходит? | Нет | Нет | **Да** |
|
||||
| Скорость | Зависит от DPI | Зависит от DPI | **Полная** |
|
||||
| Переподключения | Возможны | Возможны | **Нет** |
|
||||
| Настройка | Много параметров | Стратегии | **Один клик** |
|
||||
|
||||
## Скачать
|
||||
|
||||
> **[Скачать последний релиз](https://github.com/by-sonic/tglock/releases)**
|
||||
**[Последний релиз](https://github.com/by-sonic/tglock/releases/latest)**
|
||||
|
||||
Или собрать из исходников:
|
||||
| Файл | Платформа |
|
||||
|---|---|
|
||||
| `tglock.exe` | Windows x64 |
|
||||
| `tglock-macos-arm64` | macOS Apple Silicon (M1–M4) |
|
||||
| `tglock-macos-x64` | macOS Intel |
|
||||
| `tglock-linux-x64` | Linux x64 |
|
||||
|
||||
## Как пользоваться
|
||||
|
||||
1. Скачай и запусти
|
||||
2. Нажми **ПОДКЛЮЧИТЬ**
|
||||
3. Нажми **Настроить автоматически** → в Telegram нажми «Подключить»
|
||||
4. Готово
|
||||
|
||||
Ручная настройка: Telegram → Настройки → Продвинутые → Тип соединения → SOCKS5 → `127.0.0.1:1080`
|
||||
|
||||
## Как это работает
|
||||
|
||||
```
|
||||
Telegram Desktop → SOCKS5 (127.0.0.1:1080) → TGLock → WSS (web.telegram.org) → DC
|
||||
```
|
||||
|
||||
1. Локальный SOCKS5-прокси перехватывает соединения Telegram
|
||||
2. Из MTProto init-пакета извлекается номер DC (AES-256-CTR)
|
||||
3. Трафик заворачивается в WebSocket через `kws{dc}.web.telegram.org`
|
||||
4. Провайдер видит обычный HTTPS к `web.telegram.org`
|
||||
5. Остальной трафик проходит напрямую
|
||||
|
||||
## Почему не GoodbyeDPI / Zapret?
|
||||
|
||||
GoodbyeDPI и Zapret фрагментируют пакеты чтобы обмануть DPI. Но если провайдер **шейпит по IP** — они бесполезны.
|
||||
|
||||
TGLock маскирует трафик под обычный HTTPS. DPI не видит MTProto. IP-шейпинг не работает — `web.telegram.org` не блокируется.
|
||||
|
||||
## Стек
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Rust | Один бинарник, нативная скорость |
|
||||
| egui | GUI без браузера и Electron |
|
||||
| tokio | Async I/O |
|
||||
| tokio-tungstenite | WebSocket + TLS |
|
||||
|
||||
## Сборка
|
||||
|
||||
```bash
|
||||
git clone https://github.com/by-sonic/tglock.git
|
||||
@@ -42,118 +67,14 @@ cd tglock
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
Готовый `.exe` будет в `target/release/tg_unblock.exe`.
|
||||
## VPN
|
||||
|
||||
## Как пользоваться
|
||||
|
||||
1. Запустите `tg_unblock.exe`
|
||||
2. Нажмите **"Запустить обход"**
|
||||
3. Нажмите **"Настроить автоматически"** — откроется Telegram, нажмите "Подключить"
|
||||
4. Готово. Telegram работает на полной скорости.
|
||||
|
||||
### Ручная настройка прокси
|
||||
|
||||
Если автонастройка не сработала:
|
||||
|
||||
**Telegram Desktop** → Настройки → Продвинутые → Тип соединения → **Использовать SOCKS5-прокси**
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| Сервер | `127.0.0.1` |
|
||||
| Порт | `1080` |
|
||||
| Логин | *пусто* |
|
||||
| Пароль | *пусто* |
|
||||
|
||||
## Как это работает
|
||||
|
||||
```
|
||||
Telegram Desktop
|
||||
│
|
||||
▼ (SOCKS5)
|
||||
┌──────────────────┐
|
||||
│ TG Unblock │ 127.0.0.1:1080
|
||||
│ WS-прокси │
|
||||
└──────┬───────────┘
|
||||
│
|
||||
▼ (определяет DC по IP)
|
||||
│
|
||||
├── Telegram IP? ──► WSS-туннель к {dc}.web.telegram.org/apiws
|
||||
│ (провайдер видит обычный HTTPS)
|
||||
│
|
||||
└── Другой IP? ────► Прямое TCP-соединение (без изменений)
|
||||
```
|
||||
|
||||
### DC-маппинг
|
||||
|
||||
Приложение автоматически определяет Data Center по IP-адресу и маршрутизирует через правильный WebSocket-эндпоинт:
|
||||
|
||||
| DC | Подсеть | WebSocket |
|
||||
|---|---|---|
|
||||
| DC1 | `149.154.160.0/22` | `wss://pluto.web.telegram.org/apiws` |
|
||||
| DC2 | `149.154.164.0/22` | `wss://venus.web.telegram.org/apiws` |
|
||||
| DC3 | `149.154.168.0/22` | `wss://aurora.web.telegram.org/apiws` |
|
||||
| DC4 | `91.108.12.0/22` | `wss://vesta.web.telegram.org/apiws` |
|
||||
| DC5 | `91.108.56.0/22` | `wss://flora.web.telegram.org/apiws` |
|
||||
|
||||
Имена DC (`pluto`, `venus`, `aurora`, `vesta`, `flora`) — из [официальной документации MTProto](https://core.telegram.org/mtproto/transports).
|
||||
|
||||
## Стек
|
||||
|
||||
| Что | Зачем |
|
||||
|---|---|
|
||||
| **Rust** | Скорость, безопасность, один бинарник без зависимостей |
|
||||
| **egui / eframe** | Нативный GUI без Electron, без браузера |
|
||||
| **tokio** | Async I/O для высокопроизводительного проксирования |
|
||||
| **tokio-tungstenite** | WebSocket-клиент с TLS |
|
||||
| **native-tls** | TLS через системные сертификаты Windows |
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
tglock/
|
||||
├── Cargo.toml # Зависимости
|
||||
├── src/
|
||||
│ ├── main.rs # GUI + управление прокси
|
||||
│ ├── ws_proxy.rs # SOCKS5-сервер + WebSocket-туннель
|
||||
│ ├── bypass.rs # DNS-настройка, утилиты Windows
|
||||
│ └── network.rs # Сетевая диагностика
|
||||
└── tg_blacklist.txt # IP-подсети и домены Telegram
|
||||
```
|
||||
|
||||
## Требования
|
||||
|
||||
- Windows 10/11
|
||||
- [Rust 1.70+](https://rustup.rs/) (для сборки из исходников)
|
||||
- Права администратора (для смены DNS, опционально)
|
||||
|
||||
## FAQ
|
||||
|
||||
**Q: Это VPN?**
|
||||
A: Нет. Трафик не идёт через сторонние серверы. Прокси работает локально и туннелирует только Telegram-трафик через WebSocket к официальным серверам Telegram.
|
||||
|
||||
**Q: Это безопасно?**
|
||||
A: Весь код открыт. Никакой телеметрии. Никаких данных не отправляется. Соединение с Telegram остаётся end-to-end зашифрованным (MTProto).
|
||||
|
||||
**Q: Будет ли работать с мобильным Telegram?**
|
||||
A: Пока только Telegram Desktop. Для мобильных устройств рекомендуем [by sonic VPN](https://t.me/bysonicvpn_bot).
|
||||
|
||||
**Q: Замедляется ли интернет?**
|
||||
A: Нет. Проксируется только трафик к серверам Telegram. Весь остальной трафик идёт напрямую.
|
||||
|
||||
## VPN для полного обхода
|
||||
|
||||
Если нужен обход блокировок для **всех** приложений (YouTube, Discord, Instagram и др.) — попробуйте **[by sonic VPN](https://t.me/bysonicvpn_bot)**. Быстрый, без ограничений скорости.
|
||||
Для обхода блокировок **всех** приложений — **[by sonic VPN](https://t.me/bysonicvpn_bot)**
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT — делайте что хотите.
|
||||
|
||||
## Автор
|
||||
|
||||
**by sonic** — [@bysonicvpn_bot](https://t.me/bysonicvpn_bot)
|
||||
MIT
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<b>Если пригодилось — поставьте ⭐ на GitHub</b>
|
||||
</p>
|
||||
<p align="center"><b>by sonic</b></p>
|
||||
|
||||
Reference in New Issue
Block a user