Гайд по установке telemt (Rust MTProxy для Telegram) с нуля на Ubuntu, с настройкой нескольких инстансов, systemd-сервисов и защиты от DPI на уровне фаервола.
👉 https://assyoucandy.github.io/telemt-server-guide/telemt-install-guide.html
🛠️ https://assyoucandy.github.io/telemt-server-guide/telemt-keepalive-guide.html
🛠️ https://assyoucandy.github.io/telemt-server-guide/telemt-selfmask-guide.html
🛠️ assdpicheck.py — проверяет конкретный IP или домен на актуальные методы ТСПУ-блокировки.
Набор материалов по разворачиванию и поддержке telemt-прокси, обходу DPI и диагностике блокировок:
-
Гайд по установке telemt с нуля — пошаговая инструкция (11 разделов) с копируемыми блоками команд: что такое telemt, подготовка системы, установка бинарника, генерация секретов, конфиги инстансов, systemd-сервисы, UFW (порты + защита от зондирования), сетевой тюнинг ядра (keepalive + BBR), запуск и проверка, ссылки для клиентов, управление и обновление.
-
Фикс зависаний на iOS (keepalive) — мини-гайд: как через sysctl-keepalive вылечить отвал прокси на iOS после сворачивания Telegram (ядро быстро рвёт мёртвый сокет → клиент делает чистый реконнект).
-
Маскировка под свой домен (self-mask) — гайд: telemt на 443 притворяется обычным HTTPS-сайтом на твоём домене. Весь не-прокси TLS-трафик (браузеры, сканеры, активное зондирование) сплайсится на локальную nginx-заглушку с настоящим Let's Encrypt сертификатом, а http(80) редиректит на https — домен при любой проверке выглядит как живой сайт. Закрывает активное зондирование.
-
assdpicheck.py — скрипт диагностики: проверяет один IP или домен на четыре механизма блокировки (l4-25 / TCP 16-20, «сибирская», SNI-whitelist, DNS-spoofing) и выдаёт понятный вердикт с подсказками. Подробнее — ниже.
| Слой | Против чего |
|---|---|
| Настоящий TLS-фронтинг telemt | детекция по TLS-хендшейку |
client_mss = "tspu" (MSS=92) |
анализ размера TCP-сегментов |
| UFW rate-limit 1 SYN/сек на IP (per-port) | активное зондирование прокси |
В июне 2026 РКН усилил DPI на ТСПУ: MTProxy стал детектиться не только по TLS-хендшейку, но и по сигнатуре MTProto-протокола и размеру TCP-сегментов. Классический MTG (FakeTLS) это не лечит настройками. telemt использует настоящий TLS-фронтинг (реально подтягивает сертификат маскировочного домена), а вместе с client_mss и rate-limit на фаерволе обходит новый слой блокировки.
- Ubuntu 20.04 / 22.04 / 24.04
- root-доступ
- telemt 3.4.15+
⚠️ Секреты в гайде — заглушки (СЕКРЕТ_1и т.д.), генерируй свои черезopenssl rand -hex 16. Передufw enableобязательно разреши SSH-порт, иначе отрежешь себе доступ.
Основной гайд установки проводит через полную настройку боевого telemt-прокси с нуля: несколько инстансов под разными маскировочными доменами на отдельных портах, systemd-юниты с автозапуском, UFW с per-port rate-limit против активного зондирования, генерация секретов и готовые клиентские ссылки. Это не «голая» установка — в гайд уже встроены наработки, добытые в боевой эксплуатации:
- Фикс зависаний на iOS (ускоренный TCP keepalive через sysctl) — учтён прямо в гайде, отдельно докручивать не нужно. Подробное объяснение механизма вынесено в мини-гайд ниже.
- BBR + сетевой тюнинг ядра — congestion control
bbr, очередиfq, увеличенные буферы и backlog'и для стабильности на плохих каналах и под нагрузкой. client_mss = "tspu"(MSS=92) — агрессивная нарезка сегментов против анализа размера TCP-пакетов на ТСПУ.- Защита от зондирования — per-port rate-limit на UFW (1 SYN/сек на IP), отдельные списки на каждый порт.
Гайд по self-mask — отдельная схема маскировки: прокси на 443 фронтит твой реальный домен с настоящим Let's Encrypt сертификатом, так что для любого внешнего наблюдателя сервер выглядит как обычный сайт. Закрывает активное зондирование и проверки.
Ниже — два материала с подробным разбором: мини-гайд про iOS-фикс (объяснение, почему keepalive это лечит) и скрипт диагностики блокировок.
Отдельный мини-гайд: telemt-keepalive-guide.html
Симптом: на iOS Telegram перестаёт коннектиться к прокси после сворачивания приложения — помогает только переключение на другой прокси.
Причина: iOS усыпляет приложение в фоне и рвёт сокет не чисто. Сервер продолжает держать мёртвый established-коннект, и при возврате клиент залипает на нём.
Решение: ускоренный TCP keepalive через sysctl. telemt ставит SO_KEEPALIVE, поэтому ядро само быстро пробивает тихий коннект и рвёт его RST-ом за ~105с — клиент сразу делает чистый реконнект. Настройка глобальная, накрывает все порты/инстансы сразу.
Лечит залипание клиента на мёртвом сокете. Не влияет на DPI-детект выше по пути — это разные слои.
Скрипт быстро проверяет один конкретный IP или домен на актуальные методы ТСПУ-блокировки и выдаёт понятный итог.
Происхождение кода. Готовый код проверок взят у hyperion-cs из проекта dpi-checkers и немного изменён, чтобы было удобно проверять конкретные хосты. Вся методология и заслуги — авторские, ему спасибо.
| Метод | Что ловит |
|---|---|
| A) l4-25 / TCP 16-20 | заморозку коннекта после ~16-20 KB (крупный трафик режется) |
| B) Сибирская | заморозку при нескольких параллельных TLS к одному SNI |
| E) SNI-whitelist | пропуск только по «разрешённому» SNI |
| D) DNS-spoofing | подмену DNS-ответов для домена (для доменов; при вводе IP пропускается) |
В конце — вердикт: «ограничений не обнаружено» либо «под ограничением» с конкретными подсказками, что делать.
- Скачай
assdpicheck.pyв любую папку (например,~/Downloads). - Проверь, что есть Python 3 (обычно уже стоит на macOS/Linux):
Если нет — поставь: macOS
python3 --version
brew install python3, Ubuntusudo apt install python3. - Дай права на запуск:
chmod u+x assdpicheck.py
- Запусти:
Либо сразу с хостом в аргументе:
./assdpicheck.py
./assdpicheck.py example.com
При запуске без аргумента скрипт попросит:
1) Отключите все VPN.
2) Введите IP-адрес или домен для проверки.
Хост: _
⚠️ Запускать только из РФ-сети (домашний или мобильный провайдер) и без VPN — иначе тест меряет не тот канал и результат недостоверен.
Зависимостей нет — только стандартная библиотека Python.