telemt/README.md

4.0 KiB

Telemt - MTProxy on Rust + Tokio

Latest Release Stars Forks Telegram

Löst Probleme, bevor andere überhaupt wissen, dass sie existieren / It solves problems before others even realize they exist

[!NOTE]

Fixed TLS ClientHello is now available:

  • in Telegram Desktop starting from version 6.7.2;
  • in Telegram Android Client starting from version 12.6.4;
  • in Telegram for iOS starting from version 12.6.2.

To work with EE-MTProxy, please update your client!

Telemt is a fast, secure, and feature-rich server written in Rust: it fully implements the official Telegram proxy algo and adds many production-ready improvements such as:

telemt_scheme

Our implementation of TLS-fronting is one of the most deeply debugged, focused, advanced and almost "behaviorally consistent to real": we are confident we have it right - see evidence on our validation and traces

Our Middle-End Pool is fastest by design in standard scenarios, compared to other implementations of connecting to the Middle-End Proxy: non dramatically, but usual

  • Full support for all official MTProto proxy modes:
    • Classic;
    • Secure - with dd prefix;
    • Fake TLS - with ee prefix + SNI fronting;
  • Replay attack protection;
  • Optional traffic masking: forward unrecognized connections to a real web server, e.g. GitHub 🤪;
  • Configurable keepalives + timeouts + IPv6 and "Fast Mode";
  • Graceful shutdown on Ctrl+C;
  • Extensive logging via trace and debug with RUST_LOG method.

One-command installation (update on re-ru)

curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh

See more in the Quick Start Guide.

GOTO

Quick Start Guide

FAQ

Build

# Cloning repo
git clone https://github.com/telemt/telemt 
# Changing Directory to telemt
cd telemt
# Starting Release Build
cargo build --release

# Current release profile uses lto = "fat" for maximum optimization (see Cargo.toml).
# On low-RAM systems (~1 GB) you can override it to "thin".

# Move to /bin
mv ./target/release/telemt /bin
# Make executable
chmod +x /bin/telemt
# Lets go!
telemt config.toml

OpenBSD

Why Rust?

  • Long-running reliability and idempotent behavior;
  • Rust's deterministic resource management - RAII;
  • No garbage collector;
  • Memory safety and reduced attack surface;
  • Tokio's asynchronous architecture.