mtproto.zig

Danil Администрация 23.04.2026
99 просмотров

Описание скопировано из оригинально репозитория - Автор этой публикации не является автором mtproto.zig

Почему именно этот?

Большинство прокси-серверов MTProto являются большими, зависимыми и используют много памяти. Этот отличается:

Proxy Language Binary Baseline RSS Startup Dependencies
mtproto.zig Zig 177 KB 0.75 MB < 10 ms 0
Official MTProxy C 524 KB 8.0 MB < 10 ms openssl, zlib
Telemt Rust 15 MB 12.1 MB ~ 5-6 s 423 crates
mtg Go 13 MB 11.6 MB ~ 30 ms 78 modules
MTProtoProxy Python N/A ~ 30 MB ~ 300 ms python3, cryptography
JSMTProxy Node.js N/A ~ 45 MB ~ 400 ms nodejs, openssl

Почему Zig?

Мы выбрали Zig, потому что он обеспечивает высокую производительность и занимает меньше места, чем C, но без проблем с памятью и кошмаров, связанных с системой сборки:

  • Никаких произвольных распределений: Все места для подключения и буферы предварительно выделяются при запуске. Сборщик мусора не удаляет фреймы при большой нагрузке.
  • Герметичная кросс-компиляция: Запустите "zig build" на macOS, и в результате получится статически связанный двоичный файл Linux. Нет Docker, нет несоответствий версий glibc.
  • Comptime: Во время компиляции решаются такие дорогостоящие операции, как сопоставление определений протоколов, преобразование в порядок порядковых номеров и двуязычный поиск строк для mtbuddy, что обеспечивает мгновенный запуск.

Кроме того, в нем реализовано больше методов обхода, чем в любом из вышеперечисленных:

Техника Что она делает
Поддельный TLS 1.3 Соединения выглядят как обычные HTTPS в DPI
DRS Имитирует размеры записей TLS в Chrome/Firefox
Маскировка нулевого RTT Локальный Nginx выдает реальные ответы TLS на активные запросы, что исключает анализ времени
TCPMSS=88 Разбивает ClientHello на 6 TCP-пакетов, нарушая повторную сборку DPI
nfqws рассинхронизирует TCP Отправляет поддельные пакеты + разбиения с ограничением TTL, чтобы запутать DPI с отслеживанием состояния
Разделение TLS 1- байтовые записи приложений для устранения пассивных сигнатур
VPN-туннель Маршрутизирует через WireGuard/AmneziaWG с использованием явной политики маршрутизации сокетов (SO_MARK) при блокировке контроллеров домена
Переход по IPv6 Автоматически меняет IPv6-адрес с /64 на
Защита от повторного воспроизведения Отклоняет повторные подтверждения связи + обнаруживает активные проверки TSPU Revisor
Многопользовательский Независимые секреты для каждого пользователя
MiddleProxy МОЙ транспорт с автоматически обновляемыми метаданными Telegram

Комментарии (0)

Войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!