Skip to content

assyoucandy/telemt-server-guide

Repository files navigation

telemt-server-guide

Гайд по установке telemt (Rust MTProxy для Telegram) с нуля на Ubuntu, с настройкой нескольких инстансов, systemd-сервисов и защиты от DPI на уровне фаервола.

📖 Гайд по разворачиванию telemt с нуля (работает после 5 июня)

👉 https://assyoucandy.github.io/telemt-server-guide/telemt-install-guide.html

📖 Фикс зависаний на iOS (keepalive)

🛠️ https://assyoucandy.github.io/telemt-server-guide/telemt-keepalive-guide.html

📖 Маскировка под свой домен (self-mask, 443)

🛠️ 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) и выдаёт понятный вердикт с подсказками. Подробнее — ниже.

Три слоя защиты от DPI

Слой Против чего
Настоящий 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 это лечит) и скрипт диагностики блокировок.

🛠️ Фикс зависаний на iOS

Отдельный мини-гайд: telemt-keepalive-guide.html

Симптом: на iOS Telegram перестаёт коннектиться к прокси после сворачивания приложения — помогает только переключение на другой прокси.

Причина: iOS усыпляет приложение в фоне и рвёт сокет не чисто. Сервер продолжает держать мёртвый established-коннект, и при возврате клиент залипает на нём.

Решение: ускоренный TCP keepalive через sysctl. telemt ставит SO_KEEPALIVE, поэтому ядро само быстро пробивает тихий коннект и рвёт его RST-ом за ~105с — клиент сразу делает чистый реконнект. Настройка глобальная, накрывает все порты/инстансы сразу.

Лечит залипание клиента на мёртвом сокете. Не влияет на DPI-детект выше по пути — это разные слои.

🧪 Проверка хоста на блокировки — assdpicheck.py

Скрипт быстро проверяет один конкретный 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 пропускается)

В конце — вердикт: «ограничений не обнаружено» либо «под ограничением» с конкретными подсказками, что делать.

Как пользоваться

  1. Скачай assdpicheck.py в любую папку (например, ~/Downloads).
  2. Проверь, что есть Python 3 (обычно уже стоит на macOS/Linux):
    python3 --version
    Если нет — поставь: macOS brew install python3, Ubuntu sudo apt install python3.
  3. Дай права на запуск:
    chmod u+x assdpicheck.py
  4. Запусти:
    ./assdpicheck.py
    Либо сразу с хостом в аргументе:
    ./assdpicheck.py example.com

При запуске без аргумента скрипт попросит:

  1) Отключите все VPN.
  2) Введите IP-адрес или домен для проверки.

  Хост: _

⚠️ Запускать только из РФ-сети (домашний или мобильный провайдер) и без VPN — иначе тест меряет не тот канал и результат недостоверен.

Зависимостей нет — только стандартная библиотека Python.

About

telemt (Rust MTProxy) — установка с нуля на Ubuntu, защита от DPI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors