mirror of
https://github.com/necronicle/z2k.git
synced 2026-04-28 03:20:25 +00:00
feat(mtproxy): прозрачный Telegram прокси через Cloudflare WebSocket
Transparent proxy для Telegram — работает без настройки клиентов. iptables REDIRECT перехватывает трафик к Telegram DC и пробрасывает через Cloudflare WebSocket (pclead.co.uk). Реализовано: - Прозрачный режим: все устройства в сети работают автоматически - MTProxy режим (опционально): tg://proxy ссылка для ручной настройки - DNS кеш с stale fallback при DNS сбоях - Retry (3 попытки) на каждое WS подключение - Init script S97tg-mtproxy с автоперезапуском и conntrack flush - Меню [T] с автоскачиванием бинарника для текущей архитектуры - Бинарники для всех архитектур в GitHub releases - Instagram DNS redirect при установке (ip host через ndmc) - Сохранение пользовательских настроек при переустановке [1] - LICENSE (MIT), README обновлён Архитектура: Telegram → роутер(:9443) → WSS → Cloudflare CDN → Telegram DC Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
32da02314e
commit
2a84fd6f1c
16 changed files with 1222 additions and 553 deletions
36
README.md
36
README.md
|
|
@ -6,7 +6,9 @@
|
|||
- USDT (ERC20): `0xA1D6d7d339f05C1560ecAF0c5CB8c4dc80Dc46A9`
|
||||
|
||||
|
||||
**Важно:** после установки применяются autocircular стратегии. Им нужно время и несколько попыток, чтобы подстроиться под DPI. Если сайт не открывается сразу — дайте странице несколько раз перезагрузиться. Параметры перебираются автоматически, после чего сайт обычно начинает открываться.
|
||||
**Важно:** после установки применяются autocircular стратегии. Им нужно время и несколько попыток, чтобы подстроиться под сетевую среду. Если сайт не открывается сразу — дайте странице несколько раз перезагрузиться. Параметры перебираются автоматически, после чего соединение обычно стабилизируется.
|
||||
|
||||
> Данный проект предназначен для исследования сетевых протоколов и изучения работы систем анализа трафика. Используется исключительно в учебных целях.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -14,7 +16,7 @@
|
|||
|
||||
z2k — модульный установщик zapret2 для роутеров Keenetic с Entware.
|
||||
|
||||
Цель проекта: максимально упростить установку zapret2 на Keenetic и дать рабочий набор стратегий с автоподбором (autocircular) и поддержкой IPv6 там, где это возможно.
|
||||
Цель проекта: упростить установку zapret2 на Keenetic и предоставить набор сетевых стратегий с автоподбором (autocircular) и поддержкой IPv6.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -22,14 +24,15 @@ z2k — модульный установщик zapret2 для роутеров
|
|||
|
||||
- Установка zapret2 (openwrt-embedded релиз) без компиляции, с проверкой работоспособности `nfqws2`
|
||||
- Три TCP autocircular профиля с разными стратегиями:
|
||||
- **RKN** — заблокированные сайты (TCP/TLS + HTTP) — 45 стратегий
|
||||
- **RKN** — список ресурсов (TCP/TLS + HTTP) — 45 стратегий
|
||||
- **YouTube TCP** — youtube.com и связанные домены — 22 стратегии
|
||||
- **YouTube GV** — googlevideo CDN (стриминг) — 22 стратегии
|
||||
- QUIC autocircular профиль: YouTube QUIC (UDP/443) — 12 стратегий с z2k morph
|
||||
- Discord профили:
|
||||
- TCP: hostlist Discord включён в RKN-профиль
|
||||
- UDP voice/video: `circular_locked` (стратегия закрепляется per-domain)
|
||||
- Hostlist режим: стратегии применяются только к доменам из списков (не "на весь интернет")
|
||||
- Telegram: прозрачное проксирование через Cloudflare WebSocket (тестовая функция)
|
||||
- Hostlist режим: стратегии применяются только к доменам из списков
|
||||
- Whitelist: домены-исключения (госуслуги, Steam, VK, Яндекс и др.) не обрабатываются
|
||||
- IPv6: автоопределение и включение правил если поддерживается
|
||||
- Списки доменов устанавливаются автоматически
|
||||
|
|
@ -84,8 +87,9 @@ curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k.sh | sh
|
|||
| **[5]** | Удалить zapret2 |
|
||||
| **[A]** | Режим без хостлистов (Austerus) — обработка всего TLS-трафика |
|
||||
| **[W]** | Whitelist — управление списком исключений |
|
||||
| **[R]** | RST-фильтр — блокировка поддельных TCP RST от ТСПУ |
|
||||
| **[F]** | Silent fallback для РКН — ускоренная ротация при тихих блокировках |
|
||||
| **[R]** | RST-фильтр — фильтрация аномальных TCP RST |
|
||||
| **[F]** | Silent fallback — ускоренная ротация при отсутствии ответа |
|
||||
| **[T]** | Telegram прокси — прозрачное проксирование через WebSocket |
|
||||
| **[S]** | Скрипты custom.d |
|
||||
|
||||
---
|
||||
|
|
@ -96,9 +100,9 @@ curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k.sh | sh
|
|||
|
||||
### Детекция неудач
|
||||
|
||||
- **Стандартный детектор** — TCP ретрансмиссии (сервер не отвечает) и RST от DPI
|
||||
- **TLS alert детектор** (`z2k_tls_alert_fatal`) — ловит TLS fatal alert от ТСПУ. Включён по умолчанию для РКН
|
||||
- **Silent fallback** — детектор тихих чёрных дыр: если несколько ClientHello подряд без ответа, принудительно ротирует стратегию. Включается через меню [F]
|
||||
- **Стандартный детектор** — TCP ретрансмиссии и аномальные RST
|
||||
- **TLS alert детектор** (`z2k_tls_alert_fatal`) — анализирует TLS alert. Включён по умолчанию для РКН
|
||||
- **Silent fallback** — детектор отсутствия ответа: если несколько запросов подряд без ответа, принудительно ротирует стратегию. Включается через меню [F]
|
||||
|
||||
### Персистентность
|
||||
|
||||
|
|
@ -106,6 +110,14 @@ curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k.sh | sh
|
|||
|
||||
---
|
||||
|
||||
## Telegram прокси
|
||||
|
||||
Прозрачное проксирование Telegram через Cloudflare WebSocket. Не требует настройки на устройствах — работает автоматически для всех устройств в сети.
|
||||
|
||||
Включается через меню `[T]`.
|
||||
|
||||
---
|
||||
|
||||
## Управление сервисом
|
||||
|
||||
```bash
|
||||
|
|
@ -119,14 +131,14 @@ curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k.sh | sh
|
|||
|
||||
## Полная зачистка (z2k_cleanup)
|
||||
|
||||
Если zapret или zapret2 были удалены некорректно, остались зависшие процессы `nfqws`/`nfqws2`, мусорные iptables правила или директории — используйте скрипт полной зачистки:
|
||||
Если zapret или zapret2 были удалены некорректно, остались зависшие процессы или мусорные правила — используйте скрипт полной зачистки:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k_cleanup.sh | sh
|
||||
```
|
||||
|
||||
**ВНИМАНИЕ:** Скрипт удаляет ВСЁ связанное с zapret и zapret2:
|
||||
- Убивает все процессы `nfqws` и `nfqws2` (kill -9)
|
||||
- Останавливает все процессы `nfqws` и `nfqws2`
|
||||
- Удаляет init-скрипты, netfilter хуки, iptables цепочки
|
||||
- **Полностью удаляет директории `/opt/zapret` и `/opt/zapret2`** (включая конфиги, списки, стратегии)
|
||||
- Очищает ipset и временные файлы
|
||||
|
|
@ -157,7 +169,7 @@ curl -fsSL https://raw.githubusercontent.com/necronicle/z2k/master/z2k_cleanup.s
|
|||
|
||||
- Если вы используете IPv6 в сети, убедитесь что он включён в прошивке (см. требования выше).
|
||||
- Если в системе нет `cron`, автообновление списков может быть недоступно — обновляйте списки вручную.
|
||||
- Если многие РКН-сайты не открываются — попробуйте включить Silent fallback через меню [F].
|
||||
- Если многие сайты не открываются — попробуйте включить Silent fallback через меню [F].
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue