π¦ tdlib-obf β ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ TDLib Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ TLS-ΠΏΠΎΡΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄ Π±ΡΠ°ΡΠ·Π΅Ρ
Π ΡΡΠΌ Π·Π°ΠΌΠ΅ΡΠΊΠ°
tdlib-obfβ ΡΠΎΡΠΊ TDLib (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Telegram-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²) ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° telemt, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ°ΡΠΊΠΈΡΡΠ΅Ρ MTProto-ΡΡΠ°ΡΠΈΠΊ ΠΏΠΎΠ΄ ΠΎΠ±ΡΡΠ½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠΉ HTTPS, ΡΡΠΎΠ±Ρ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ DPI (Deep Packet Inspection β Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²; Π² Π Π€ β ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π’Π‘ΠΠ£, Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΡΠΎΡΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π£Π³ΡΠΎΠ·Π°ΠΌ). ΠΠ»Π°Π²Π½ΠΎΠ΅: ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΎΠ½Π° ΠΌΠ΅Π½ΡΠ΅Ρ TLS-ΠΏΠΎΡΠ΅ΡΠΊ (JA4) ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌtdlib-obfβ ΡΡΠΎ Β«ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉΒ» ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠ΅Π·ΠΈΡ ΠΈΠ· ΡΠ°Π·Π±ΠΎΡΠ°, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄ MTProxy ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ: ΡΠΈΡΡΡΠΉ ΡΠ»ΠΎΠΌ JA4 ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, Π° ΡΠΎΡΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΠΌΠΎΠΆΠ΅Ρ.
Π‘ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π½ΠΈΠΆΠ΅ Π²Π·ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ΄ΠΈΡ-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° (
docs/Documentation/STEALTH_IMPLEMENTATION_RU.md, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π°ΠΏΡΠ΅Π»ΡβΠΌΠ°ΠΉ 2026) β ΡΡΠΎ ΡΠ°ΠΌΠΎΠΎΡΡΡΡ Π°Π²ΡΠΎΡΠΎΠ², Π½Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π§ΠΈΡΠ°ΠΉ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΊ Β«ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β», Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄ΡΠ½Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π°ΡΠ΄ΠΈΡΠΎΠΌ ΡΠ°ΠΊΡ. ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΡΠΊΠ° ΠΈ Π²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎ git (ΠΈΡΠ½Ρ 2026) ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
TL;DR
tdlib-obfβ ΡΡΠΎ TDLib Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ: ΡΠΎΡ ΠΆΠ΅ API, Π½ΠΎ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ ΡΠ»Π°Π³ΠΎΠΌTDLIB_STEALTH_SHAPING=ONΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΡΠΎΠΈΡ TLS-ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΠ΅, Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΠΎΠ΅ (ΠΏΠΎ Π·Π°ΠΌΡΡΠ»Ρ) ΠΎΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.- ΠΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ²Π½ΠΎ ΡΠΎΡ ΡΡΡΠ°Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡΡΠ³Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ β JA4-ΠΏΠΎΡΠ΅ΡΠΊ ClientHello: Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡ ΡΠ΅Π³ΠΎ ΠΏΡΠ΅ΡΠ΅ΡΠ° Telegram ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π΅ΡΡΡ ΠΈΠ· 8 ΡΠ°Π½ΡΠ°ΠΉΠΌ-ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² (ΠΏΠΎ Π°ΡΠ΄ΠΈΡ-Π΄ΠΎΠΊΡ β Chrome 120/131/133, Firefox 148/149, Safari, iOS, Android; Π² ΠΊΠΎΠ΄Π΅ Π·Π°Π²Π΅Π΄Π΅Π½Ρ ΠΈ Π½ΠΎΠ²ΡΠ΅ lanes), Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π½Π° Π»Π΅ΡΡ.
- ΠΠ°ΠΎΠ΄Π½ΠΎ Π°Π΄ΡΠ΅ΡΡΠ΅ΡΡΡ Π±Π΅Π΄Π° [[Zapret/mtproto/10-telemt-logs-dpi|#30733 (ΠΏΡΠΎΡΡΡ
ΡΠΈΠΉ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ)]]: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Chrome-ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π΅ΡΡΡ post-quantum
key_share(ML-KEM), ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π² ΡΡΠ°ΡΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠΊΠ΅ Telegram. - Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· MTProto-ΠΏΡΠΎΠΊΡΠΈ Ρ FakeTLS (
ProxySecret::emulate_tls()). ΠΡΡΠΌΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ ΠΌΠ°ΡΠΊΠΈΡΡΡΡΡΡ (Π° ΡΠ°ΡΡΡ leak-ΠΏΡΡΠ΅ΠΉ ΠΏΡΡΠΌΠΎΠ³ΠΎ TCP-SYN Π² ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΡΠΎΠΊΡΠΈ ΡΠΎΡΠΊ, ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΊΡΡΠ»). - Π§Π΅ΡΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ°ΠΌΠΈΡ Π°Π²ΡΠΎΡΠΎΠ²: ΠΏΠΎΡΠ»Π΅ TLS ΠΈΠ΄ΡΡ ΡΡΡΠΎΠΉ MTProto, Π° Π½Π΅ Π½Π°ΡΡΠΎΡΡΠΈΠΉ HTTP β ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ L7 ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΠΎΠ±Π΅ΡΠ°Π΅Ρ.
- ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π° Π½Π΅ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ: ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ΅ΡΡ ΠΏΠΎΠ²Π΅ΡΡ
Π½Π΅Ρ (ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ β ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°
libtdjson).
Π’Π΅ΡΠΌΠΈΠ½Ρ (ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° ΡΠΈΡΠ°Π»Π°ΡΡ Π±Π΅Π· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°)
- TDLib (Telegram Database Library) β ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ Telegram Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Π΄Π²ΠΈΠΆΠΎΠΊ: Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°Π·Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ (Unigram, Telegram X) ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½Π΅Ρ.
- libtdjson β ΡΠΎΠ±ΡΠ°Π½Π½Π°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° TDLib Ρ JSON-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° (Python, C++, ΠΈ Ρ.Π΄.).
- MTProto β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Telegram (ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ + ΡΠΎΡΠΌΠ°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²), ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅Ρ.
- DPI / Π’Π‘ΠΠ£ β DPI (Deep Packet Inspection) β Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²; Π’Π‘ΠΠ£ (Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΡΠΎΡΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π£Π³ΡΠΎΠ·Π°ΠΌ) β ΡΡΠΎ DPI-ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
- L7 β ΡΠ΅Π΄ΡΠΌΠΎΠΉ (ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ) ΡΡΠΎΠ²Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI: Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠΎΠ²Π΅ΡΡ TLS (HTTP/2, HTTP/1.1). Β«L7-Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΠΎΡΡΡΒ» β ΠΊΠΎΠ³Π΄Π° ΡΡΠ°ΡΠΈΠΊ Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π° ΡΡΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² TLS-ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΠΈ.
- ClientHello / JA4 / SNI / FakeTLS β ΡΠ°ΡΠΊΡΡΡΡ Π² SNI. ΠΡΠ°ΡΠΊΠΎ: ClientHello β ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ TLS, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ; JA4 β Π΅Π³ΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ; FakeTLS β ΡΠ΅ΠΆΠΈΠΌ MTProxy, Π³Π΄Π΅ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ°ΡΠΊΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ HTTPS.
- ECH (Encrypted ClientHello) β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ TLS, ΠΏΡΡΡΡΡΠ΅Π΅ SNI Π²Π½ΡΡΡΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΡ.
- DRS / IPT β Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° (traffic shaping): Dynamic Record Sizing (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ TLS-Π·Π°ΠΏΠΈΡΠ΅ΠΉ) ΠΈ Inter-Packet Timing (ΠΈΠΌΠΈΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²).
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ: ΡΡΡΠ°Π³, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
ΠΠ° ΠΏΠ°Π»ΡΡΠ°Ρ
ΠΡΠ΅Π΄ΡΡΠ°Π²Ρ, ΡΡΠΎ Ρ Π²Ρ ΠΎΠ΄Π° ΡΡΠΎΠΈΡ ΠΎΡ ΡΠ°Π½Π½ΠΈΠΊ (Π’Π‘ΠΠ£) ΠΈ ΡΠ·Π½Π°ΡΡ Β«Π³ΠΎΡΡΠ΅ΠΉ TelegramΒ» ΠΏΠΎ Π²ΠΈΠ·ΠΈΡΠΊΠ΅ (JA4-ΠΏΠΎΡΠ΅ΡΠΊ ClientHello). Π£ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²ΠΈΠ·ΠΈΡΠΊΠ° ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ° β ΠΎΡ ΡΠ°Π½Π½ΠΈΠΊ Π²ΡΡΡΠΈΠ» Π΅Ρ Π½Π°ΠΈΠ·ΡΡΡΡ. Π‘Π΅ΡΠ²Π΅Ρ-ΠΏΡΠΎΠΊΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»Π΅ΠΈΡΡ Π²ΠΈΠ·ΠΈΡΠΊΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ: Π³ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΅Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠΉΠ΄ΡΡ Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π
tdlib-obfβ ΡΡΠΎ ΡΠ°ΠΌ Π³ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π±Π΅ ΡΠ²Π΅ΠΆΡΡ Π²ΠΈΠ·ΠΈΡΠΊΡ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ.
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°ΠΊΡ, ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅: JA4 ΠΈ SNI Π»Π΅ΠΆΠ°Ρ Π² ClientHello, Π° Π΅Π³ΠΎ ΡΠ»ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ ΡΠ΅Π½Π·ΠΎΡ Π²ΠΈΠ΄ΠΈΡ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ Π΅ΡΡ Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΡΡΡΠΉ ΡΠ»ΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΡΠ΅Π½Π·ΠΎΡΠ° β Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ ΡΡΠΎ Π²ΠΎΠΏΠ»ΠΎΡΠ°Π»ΠΎΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ relay (ΡΠ΅ΡΡΠΎΠ²ΡΠΉ gist Flowseal, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠΎΠΈΡ ΡΠ²ΠΎΠΉ ClientHello). tdlib-obf ΠΈΠ΄ΡΡ Π΄Π°Π»ΡΡΠ΅: ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ ΡΡ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ Π²Π½ΡΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°-Π΄Π²ΠΈΠΆΠΊΠ°, Π±Π΅Π· ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ-relay.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° (4 ΡΠ»ΠΎΡ)
ΠΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, stealth-ΠΊΠΎΠ½ΡΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΡΠ»ΠΎΡ:
| Π‘Π»ΠΎΠΉ | Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ |
|---|---|
| Profile-driven ClientHello | Π Π΅Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΡΠ΅Π°Π»ΡΠ½ΡΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² (ΠΏΠΎ Π°ΡΠ΄ΠΈΡ-Π΄ΠΎΠΊΡ β Chrome 120/131/133, Firefox 148/149 Π²ΠΊΠ». macOS, Safari 26.3, iOS, Android; Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡΡ ΠΈ Π½ΠΎΠ²ΡΠ΅ lanes β Chrome 147, Firefox 149 Windows/Android). ΠΡΠ±ΠΎΡ Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» (sticky) β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π΄ΡΡΠ³Π°ΡΡ TLS-ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ. ΠΡΠΎΡΠΈΠ»ΠΈ verified ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ°Ρ
ΡΡΠ°ΡΠΈΠΊΠ°, advisory β ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½ΡΠ΅. |
| Route-aware ECH | ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ECH Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠ°ΡΡΡΡΡΠ°: Π½Π° RU/Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΌΠ°ΡΡΡΡΡΠ°Ρ ECH Π²ΡΠΊΠ»ΡΡΠ΅Π½, Π½Π° Π½Π΅-RU β Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Ρ Β«ΠΏΡΠ΅Π΄ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅Π»Π΅ΠΌΒ» (circuit breaker), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ±Π°Π΅Ρ ECH Π΄Π»Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. |
| Transport shaping | ΠΠΌΠΈΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (IPT, Π½Π΅ ΠΏΡΠΎΡΡΠΎ sleep(random), Π° burst/idle-ΠΌΠΎΠ΄Π΅Π»Ρ), Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ TLS-Π·Π°ΠΏΠΈΡΠ΅ΠΉ (DRS: slow-start β congestion-open β steady-state), ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠ° ΡΡΠ°ΡΠΈΠΊΠ° (handshake / keepalive / bulk / interactive). |
| Capture-driven Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ | Π‘ΠΎΡΠ½ΠΈ Π½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² + Β«ΠΊΠΎΡΠΏΡΡΒ» ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΎΠ², ΡΠ²Π΅ΡΠΊΠ° ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΎΠ² JA3/JA4 Ρ ΡΡΠ°Π»ΠΎΠ½Π°ΠΌΠΈ, ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΠΎΠ½Ρ Π½Π° 1024 ΡΠΈΠ΄Π°Ρ β ΡΡΠΎΠ±Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ Β«ΡΡ Π»ΠΎΠΏΡΠ²Π°Π»Π°ΡΡΒ» Π² ΡΠ·Π½Π°Π²Π°Π΅ΠΌΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½. |
ΠΡΠΎ Π°Π΄ΡΠ΅ΡΡΠ΅Ρ Β«ΠΏΡΠΎΡΡΡ ΡΠΈΠΉ ΠΏΠΎΡΠ΅ΡΠΊΒ» #30733
ΠΠ΅Π΄Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ· [[Zapret/mtproto/10-telemt-logs-dpi|#30733]] Π½Π΅ Π² Π½ΠΎΠΌΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ (ΠΎΠ½ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅ΠΆΠΈΠΌ Chrome 134/macOS), Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΈΠ΄ΡΡ Π±Π΅Π· post-quantum
key_share, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Chrome 131+ Π΅Π³ΠΎ ΡΠΆΠ΅ Π½Π΅ΡΡΡ. Π ΠΊΠΎΠ½ΡΡ 2025 ΡΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΡ Β» TLS Π½Π΅ΡΡΡX25519MLKEM768(ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ Cloudflare β ~43% ΠΊ ΡΠ΅Π½ΡΡΠ±ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ 50% ΠΊ Π΄Π΅ΠΊΠ°Π±ΡΡ 2025). ΠΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈtdlib-obfΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅Ρ PQ-Π³ΡΡΠΏΠΏΡ ΠΌΠ΅ΠΆΠ΄Ρsupported_groupsΠΈkey_shareΠ² Chrome-ΠΏΡΠΎΡΠΈΠ»ΡΡ β ΡΠΎ Π΅ΡΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡ-ΠΊΠ²Π°Π½ΡΠΎΠ²ΡΠΌ, ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΎΠΌΡ ΠΏΠΎΡΠ΅ΡΠΊΡ Telegram Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ.
Π§ΡΠΎ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ, Π° ΡΡΠΎ Π½Π΅Ρ
tdlib-obfΠ±ΡΡΡ ΠΏΠΎ ΡΡΡΠ°Π³Ρ JA4/ΠΏΠΎΡΠ΅ΡΠΊ (ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅ΠΆΠ΅ΡΡΡ). Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Β«ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ SNI Π² Π·Π°Π»ΠΏΠ΅Β» ΠΈΠ· Π΄Π΅ΡΠ΅ΠΊΡΠ° ΠΈΡΠ½Ρ 2026 β ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ: SNI Π² FakeTLS Π·Π°Π΄Π°ΡΡΡΡee-ΡΠ΅ΠΊΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠΊΡΠΈ (tls_domain), Π° Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΎΡΠ°ΡΠΈΡ β Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌ/Π΄ΠΎΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π° Π½Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ»ΠΎΡ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ. Π’ΡΠ΅ΡΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ β Β«Π·Π°Π»ΠΏ Π½Π° ΠΎΠ΄ΠΈΠ½ ip:portΒ» β ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠ°ΠΌΠΈ (pacing, ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΡΡΡ), ΡΠΌ. ΡΠ°Π·Π±ΠΎΡ Π»ΠΎΠ³ΠΎΠ².
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ
-DTDLIB_STEALTH_SHAPING=ONΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ FakeTLS-ΠΏΡΠΎΠΊΡΠΈ (ProxySecret::emulate_tls()). ΠΡΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ: Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡemulate_tls(), Π½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡTDLIB_STEALTH_SHAPING=OFF, ΠΏΡΠΎΡΠ΅ΡΡ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΠΏΠ°Π΄Π°Π΅Ρ (LOG(FATAL)), Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠΎΠ»ΡΠ° Π±Π΅Π· ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ β Β«Π·Π°Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡΒ» Π½Π΅Π»ΡΠ·Ρ.
tdlib-obf β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Β«ΡΠ²ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΒ» = ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅ΡΡ
Π΅Ρ API. ΠΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ ΠΏΡΡΡ Π±Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ C++:
- ΠΠΎΠ»ΡΡΠΈΡΡ
api_id/api_hashΠ½Π° my.telegram.org. - Π‘ΠΎΠ±ΡΠ°ΡΡ
libtdjsonΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠ»Π°Π³ΠΎΠΌTDLIB_STEALTH_SHAPING=ON(Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++23, OpenSSL, zlib β₯ 1.3.2, gperf, CMake β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ C++-ΡΠ°ΡΡΡ). - ΠΠ·ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π° TDLib (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
tgΠΎΡ paul-nameless) ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π΅ΠΌΡ ΠΏΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΉlibtdjsonΡΠ΅ΡΠ΅Π·library_pathβ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π±Π΅Π· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. - ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· MTProto-ΠΏΡΠΎΠΊΡΠΈ Ρ FakeTLS-ΡΠ΅ΠΊΡΠ΅ΡΠΎΠΌ (
eeβ¦) β Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅Ρ. Π‘Π²ΠΎΠΉ ΠΏΡΠΎΠΊΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ Π½Π° mtproto.zig / telemt / mtg Π²Π½Π΅ Π·ΠΎΠ½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠΎΡΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΎΠΏ-GUI Β«Π² Π»ΠΎΠ±Β» Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ
Telegram Desktop ΠΈ Π΅Π³ΠΎ ΡΠΎΡΠΊΠΈ (Kotatogram, Materialgram) Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ TDLib β Ρ Π½ΠΈΡ ΡΠ²ΠΎΠΉ MTProto-Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π°
tdlib-obfΠ½Π΅Π»ΡΠ·Ρ. ΠΠ· Π΄Π΅ΡΠΊΡΠΎΠΏ-GUI Π½Π° TDLib Π΅ΡΡΡ Unigram (Windows), Π½ΠΎ Π΅Π³ΠΎdevelopΠ·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ½ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ TDLib, ΡΠ΅ΠΌ Π±Π°Π·Π° ΡΠΎΡΠΊΠ°, ΠΈ ΡΡ Π΅ΠΌΠ° API (td_api.tl) Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΠΎΡΠ»Π°ΡΡ (Π½Π° ΠΈΡΠ½Ρ 2026 β ΠΏΠΎΡΡΠ΄ΠΊΠ° 260 ΡΡΡΠΎΠΊ diff; ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ TDLib Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ½ Unigram) β ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ Unigram Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π΄ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΊΠ° Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠ°Π·ΡΡΠ»ΠΈΠ² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌΡΠΉ Π΄Π΅ΡΡΠ²ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ β ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ/TUI Π½Π°libtdjson.
Π§Π΅ΡΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
ΠΠ²ΡΠΎΡΡ ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ β ΡΡΠΎ ΠΏΠ»ΡΡ ΠΊ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ (Π½ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ):
ΠΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠ°Π·Π΄Π΅Π» Β«Π§Π΅ΡΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΒ»)
ΠΠΎΡΠ»Π΅ TLS-ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΡ ΠΈΠ΄ΡΡ ΡΡΡΠΎΠΉ MTProto, Π° Π½Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ HTTP. ΠΠΎΠ»Π½Π°Ρ L7-Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΠΎΡΡΡ Π½Π΅ Π·Π°ΡΠ²Π»ΡΠ΅ΡΡΡ β Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ L7-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ (Π½Π°ΡΡΠΎΡΡΠΈΠΉ HTTP/2-ΡΡΠ΅ΠΉΠΌΠΈΠ½Π³, Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° HTTP/1.1) ΡΡΠ°ΡΠΈΠΊ Π²ΡΡ Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ. Runtime-ΡΠ΅Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½Π΅Π΅ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΡΠΏΡΡΠ°, Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ServerHello Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ:
- QUIC/HTTP3 Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ β ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π²ΡΠ΅Π³Π΄Π° TCP+TLS (
allow_quic=trueΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ). - ΠΡΠΎ community-ΡΠΎΡΠΊ, Π½Π΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ Telegram (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT ΠΏΠΎΠ²Π΅ΡΡ Boost-Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ TDLib).
ΠΠ΅ΡΡΠΈΡ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ (ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ ΠΏΠΎ git, ΠΈΡΠ½Ρ 2026)
- ΠΠ΅ΡΠΎΠ»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ β
master(Π½Π΅main). - Π€ΠΎΡΠΊ ΠΎΡΠ΄Π΅Π»ΠΈΠ»ΡΡ ΠΎΡ upstream TDLib Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠ΅
8fc2344f(25 Π°ΠΏΡΠ΅Π»Ρ 2026). Π‘Π°ΠΌ ΡΠΎΡΠΊ ΡΡ Π΅ΠΌΡtd_api.tlΡΠΎΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΡ (+91/β13 ΡΡΡΠΎΠΊ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π°Π·Ρ) β ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡ Π΅Π³ΠΎ Ρ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΠΌ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ TDLib. - ΠΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ β ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ telemt (ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ MTProto-ΠΏΡΠΎΠΊΡΠΈ telemt).
π Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
- SNI) β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ΅Π·ΠΈΡ, ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ tdlib-obf
- tg β Telegram Π΄Π»Ρ Android ΡΠΎ ΡΠΌΠ΅Π½ΠΎΠΉ JA4 β ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΠΎΡΠΊ Telegram-Android), Π° Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
- [[Zapret/mtproto/10-telemt-logs-dpi|Π§ΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² telemt ΠΈ #30733]] β ΠΏΡΠΎΡΡΡ ΡΠΈΠΉ JA4-ΠΏΠΎΡΠ΅ΡΠΊ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ tdlib-obf Π»Π΅ΡΠΈΡ PQ-ΠΏΡΠΎΡΠΈΠ»ΡΠΌΠΈ
- MTProxy ΠΈ mtproto.zig β ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° FakeTLS-ΠΏΡΠΎΠΊΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ
- Π Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ: Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° FakeTLS β ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ½Π°ΡΡΠΆΠΈ, ΡΠ΅ΠΉ ClientHello ΡΠ΅Π»Π΅ΠΉ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ
- MTProto Proxy β ΠΏΠΎΠ»Π½ΡΠΉ Π³Π°ΠΉΠ΄ β ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ telemt
- Π‘ΠΈΠ±ΠΈΡΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ°: ΠΏΠΎΠ΄ΡΠ΅ΡΡ + ΡΠΈΠ½Π³Π΅ΡΠΏΡΠΈΠ½Ρ + ΡΠ°ΡΡΠΎΡΠ° β ΡΠ° ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ° Β«Π ΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉΒ» ΠΈ ΠΏΡΠΎ ΡΠ²Π΅ΠΆΠ΅ΡΡΡ ΠΏΠΎΡΠ΅ΡΠΊΠ°/ML-KEM
- π tdlib-obf Π½Π° GitHub β ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (Π²Π΅ΡΠΊΠ°
master) - π tdesktop#30733 β ΠΏΡΠΎΡΡΡ ΡΠΈΠΉ ΡΠΈΠ½Π³Π΅ΡΠΏΡΠΈΠ½Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°