Стандартный MTProxy с Fake TLS маскирует протокол — DPI смотрит на пакеты и видит TLS. Это работает, пока к твоему серверу не придёт краулер и не попробует подключиться напрямую.
Краулер делает примерно так:
Итог — IP в бане, прокси не работает. Нужно что-то умнее.
Telemt написан на Rust + Tokio. Ключевая фича — transparent TCP splice. Если клиент приходит без секрета (краулер, DPI), Telemt не дропает соединение, а прозрачно перенаправляет его на реальный сайт.
| Особенность | mtg (старый) | Telemt |
|---|---|---|
| Active probing | ❌ Дропает | ✅ Проксирует реальный сайт |
| Язык | Go | Rust + Tokio |
| Несколько пользователей | Один секрет | Каждому свой |
| Статус проекта | 🔴 Заброшен | 🟢 Активно развивается |
mkdir -p /root/mtproxy-telemt && cd /root/mtproxy-telemt openssl rand -hex 16 # Пример вывода: 1986dadc5e9ced8d0c1712edddcf0f39
config.toml в поле user1 и в итоговой ссылке для Telegram.show_link = ["user1"] [general] prefer_ipv6 = false fast_mode = true use_middle_proxy = false [general.modes] classic = false secure = false tls = true # только Fake TLS [server] port = 443 listen_addr_ipv4 = "0.0.0.0" listen_addr_ipv6 = "::" [censorship] tls_domain = "lemanapro.ru" # сайт-маскировка mask = true mask_port = 443 fake_cert_len = 2048 [access.users] user1 = "СЕКРЕТ_ИЗ_ШАГА_2" # 32 символа hex [[upstreams]] type = "direct" enabled = true weight = 10
lemanapro.ru, 1c.ru, mvideo.ru. Плохие: google.com, gov.ru, example.com.services: telemt: image: ghcr.io/telemt/telemt:latest container_name: telemt restart: unless-stopped environment: RUST_LOG: "info" volumes: - ./config.toml:/app/config.toml:ro ports: - "443:443/tcp" cap_drop: [ALL] cap_add: [NET_BIND_SERVICE] read_only: true ulimits: nofile: soft: 65536 hard: 65536 tmpfs: - /tmp:rw,nosuid,nodev,noexec,size=16m
ghcr.io/telemt/telemt:latest. Образ whn0thacked/telemt-docker:latest падает с segfault на современных ядрах.server=172.18.0.2 — внутренний IP контейнера. Замени его на публичный IP сервера вручную.Если сервер за MikroTik и ты хочешь использовать нестандартный порт снаружи (например 7443) — добавь DST-NAT правило:
IP → Firewall → NAT → добавить правило:
| Параметр | Значение |
|---|---|
| Chain | dstnat |
| Protocol | tcp |
| Dst. Port | 7443 |
| Action | dst-nat |
| To Address | IP сервера |
| To Port | 443 |
Итоговая ссылка для Telegram:
Проверяем что краулер получит настоящий сайт:
Ожидаемый результат:
MTProxy работает только для:
Для звонков нужен SOCKS5 прокси — он не обфусцируется так же хорошо, но звонки через него работают.