TG Unblock
Обход блокировки Telegram через WebSocket-туннель
Без VPN. Без серверов. Без абонентки. CLI + GUI.
---
## Что это?
**TG Unblock** — кроссплатформенное приложение на Rust, которое обходит блокировку Telegram через локальный WebSocket-прокси. Провайдер видит обычный HTTPS к `web.telegram.org`, а не MTProto — DPI не может обнаружить и заблокировать трафик.
Доступно в двух вариантах:
- **CLI** — кроссплатформенный (Linux, macOS, Windows), работает в терминале
- **GUI** — графический интерфейс для Windows
### Почему не GoodbyeDPI / Zapret?
| | GoodbyeDPI | Zapret | **TG Unblock** |
|---|---|---|---|
| Метод | Фрагментация пакетов | Desync пакетов | WebSocket-туннель |
| DPI видит MTProto? | Нет (обфускация) | Нет (desync) | **Нет (обычный HTTPS)** |
| IP-шейпинг обходит? | Нет | Нет | **Да** |
| Скорость | Зависит от DPI | Зависит от DPI | **Полная** |
| Переподключения | Возможны | Возможны | **Нет** |
| Настройка | Много параметров | Стратегии | **Один клик / одна команда** |
## Скачать
> **[Скачать последний релиз](https://github.com/by-sonic/tglock/releases)**
Или собрать из исходников:
```bash
git clone https://github.com/by-sonic/tglock.git
cd tglock
# CLI (Linux / macOS / Windows):
cargo build --release --bin tg_unblock
# GUI (Windows):
cargo build --release --bin tg_unblock_gui --features gui
```
Готовый бинарник будет в `target/release/`.
## Как пользоваться
### CLI (Linux / macOS / Windows)
```bash
# Запустить прокси на порту по умолчанию (1080):
tg_unblock
# Указать порт:
tg_unblock --port 9050
# Со сменой DNS на Cloudflare (нужен root/admin):
sudo tg_unblock --dns
```
Остановка — `Ctrl+C` (DNS автоматически сбросится).
```
$ tg_unblock --help
Обход блокировки Telegram через WebSocket-туннель
Usage: tg_unblock [OPTIONS]
Options:
-p, --port Порт SOCKS5-прокси [default: 1080]
-b, --bind Адрес привязки [default: 127.0.0.1]
--dns Сменить DNS на Cloudflare 1.1.1.1 (нужен root/admin)
-h, --help Print help
-V, --version Print version
```
### GUI (Windows)
1. Запустите `tg_unblock_gui.exe`
2. Нажмите **"Запустить обход"**
3. Нажмите **"Настроить автоматически"** — откроется Telegram, нажмите "Подключить"
4. Готово. Telegram работает на полной скорости.
### Настройка прокси в Telegram
**Telegram Desktop** → Настройки → Продвинутые → Тип соединения → **Использовать SOCKS5-прокси**
| Параметр | Значение |
|---|---|
| Сервер | `127.0.0.1` |
| Порт | `1080` (или тот, что указали в `--port`) |
| Логин | *пусто* |
| Пароль | *пусто* |
## Как это работает
```
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://kws1.web.telegram.org/apiws` |
| DC2 | `149.154.164.0/22` | `wss://kws2.web.telegram.org/apiws` |
| DC3 | `149.154.168.0/22` | `wss://kws3.web.telegram.org/apiws` |
| DC4 | `91.108.12.0/22` | `wss://kws4.web.telegram.org/apiws` |
| DC5 | `91.108.56.0/22` | `wss://kws5.web.telegram.org/apiws` |
## Стек
| Что | Зачем |
|---|---|
| **Rust** | Скорость, безопасность, один бинарник без зависимостей |
| **tokio** | Async I/O для высокопроизводительного проксирования |
| **tokio-tungstenite** | WebSocket-клиент с TLS |
| **native-tls** | TLS через системные сертификаты |
| **clap** | Парсинг аргументов CLI |
| **egui / eframe** | Нативный GUI (опционально, Windows) |
## Структура проекта
```
tglock/
├── Cargo.toml # Зависимости и таргеты
├── src/
│ ├── lib.rs # Библиотечный крейт
│ ├── ws_proxy.rs # SOCKS5-сервер + WebSocket-туннель
│ ├── bypass.rs # DNS-настройка (Linux + Windows)
│ ├── network.rs # Сетевая диагностика (Linux + Windows)
│ └── bin/
│ ├── cli.rs # CLI-интерфейс (кроссплатформенный)
│ └── gui.rs # GUI-интерфейс (Windows)
└── tg_blacklist.txt # IP-подсети и домены Telegram
```
## Требования
### CLI (Linux / macOS)
- [Rust 1.70+](https://rustup.rs/) (для сборки из исходников)
- Права root (для смены DNS с флагом `--dns`, опционально)
### GUI (Windows)
- 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. Весь остальной трафик идёт напрямую.
**Q: Работает ли на Linux?**
A: Да. CLI-версия полностью кроссплатформенная. На Linux для смены DNS используется `resolvectl` (systemd-resolved) или прямая запись в `/etc/resolv.conf`.
## VPN для полного обхода
Если нужен обход блокировок для **всех** приложений (YouTube, Discord, Instagram и др.) — попробуйте **[by sonic VPN](https://t.me/bysonicvpn_bot)**. Быстрый, без ограничений скорости.
## Лицензия
MIT — делайте что хотите.
## Автор
**by sonic** — [@bysonicvpn_bot](https://t.me/bysonicvpn_bot)
---
Если пригодилось — поставьте ⭐ на GitHub