Skip to content

Latest commit

 

History

History
94 lines (66 loc) · 5.02 KB

File metadata and controls

94 lines (66 loc) · 5.02 KB

Благодарности

JA4T-сплит целиком построен на находках двух проектов, а вся MTProto-часть работает на чужом прокси. Вот что взято и откуда.


telemt

Репозиторий: https://github.com/telemt/telemt

Прокси, на котором построена вся MTProto-часть стека. Не идея, не референс — сам софт, без которого этой части репозитория не существовало бы.

Что дал: fake-TLS и self-steal через mask_host/mask_port — ядро маскировки под собственный сайт; локальный API для генерации ссылок; поддержку proxy_protocol, без которой цепочка nginx → HAProxy → telemt не собралась бы.


MTPROTO_FIX_By_MEKO

Автор: Mekotofeuka Репозиторий: https://github.com/Mekotofeuka/MTPROTO_FIX_By_MEKO Лицензия: MIT

Первоисточник идеи JA4T-сплита: клиенты Telegram, в первую очередь iOS, сваливались в бесконечный цикл переподключений из-за провайдерской фильтрации.

Что взято: классификация клиента по полному отпечатку TCP SYN вместо TTL — ключевая находка, из которой вырос весь JA4T-сплит здесь; REJECT вместо DROP в правиле лимита; требование OpenSSL 3.5+ к nginx для self-steal.


MTproxy-reanimation

Автор: Liafanx Репозиторий: https://github.com/Liafanx/MTproxy-reanimation Лицензия: MIT

Развитие идеи MEKO до рабочей реализации на nftables.

Что взято: конкретные @th-офсеты правила, один в один —

@th,108,20 0x2ffff  @th,160,16 0x204  @th,192,16 0x103
@th,224,24 0x10108  @th,320,32 0x4020000

— параметр лимита для не-iOS (54 соединения за 60 секунд), решение не лимитировать iOS по умолчанию (NFT_IOS_LIMIT_ENABLED=false — ложное срабатывание дороже риска подделки отпечатка), документация по эксплуатации telemt, наблюдение про icmp-host-unreachable вместо tcp reset для Android и десктопа, sysctl-тюнинг (keepalive, очереди, BBR).


Что здесь своё, а что нет

Ни MEKO, ни Liafanx не упоминают JA4T, Reality, Xray, VLESS, 3x-ui или SNI-роутинг на nginx — оба работают на уровне TCP и занимаются исключительно MTProto.

Компонент Чьё
Классификация по отпечатку TCP SYN, REJECT вместо DROP MEKO
Реализация на nftables, офсеты, параметры лимитов Liafanx
Требование OpenSSL 3.5+, проверка PQ у SNI MEKO
Тайминги telemt, sysctl-тюнинг Liafanx
Сам MTProto-прокси: fake-TLS, self-steal, API, proxy_protocol telemt
Соединение TCP-уровневого сплита с TLS-фронтом на nginx этот репозиторий
Формализация приёма как JA4T и объяснение сплита по портам этот репозиторий
Совместная работа MTProto и Reality на одном порту 443 этот репозиторий
Измерения по ML-DSA65 и требованиям к сертификату таргета этот репозиторий
Таблица диагностических сигнатур из логов nginx этот репозиторий

Проще говоря: находка про отпечаток TCP — не наша, прокси под ней — тоже. Наше — то, что всё это уживается с SNI-мультиплексированием и Reality на одном порту, и объяснение, почему это требует разводки по портам.


Инструменты и проекты


Поддержите MEKO, Liafanx и telemt — без их работы этого репозитория бы не было.