Qz3rK
51ebb27e06
Update mtproto_tls_socket.cpp
...
-7
2026-05-30 19:40:23 +07:00
Qz3rK
018031b1d7
Fix DPI blocking by randomizing TLS ClientHello fingerprint
...
Default Telegram Desktop uses a static ClientHello with a fixed fingerprint, making it easy for DPI systems to detect and block MTProto traffic.
Changes:
- Random selection between Chrome-like and Firefox-like fingerprint on each connection instead of a single static rule set
- Dynamic cipher suites: a small set of essential suites are always present, a random subset is picked from the remaining ones, then everything is shuffled
- Randomized TLS extensions: besides mandatory SNI, randomly add a few valid extensions from a predefined list, also shuffled
- Chunked ClientHello sending with random delays between chunks and random initial delay, forced flush after each chunk
- Disabled Nagle's algorithm via LowDelayOption for immediate packet sending
- Added random jitter to timestamp to avoid perfect precision
Each new connection generates a unique ClientHello with different fingerprint, different cipher suites, different extensions and different sending pattern, making MTProto traffic detection by signature impossible.
2026-05-30 07:38:45 +07:00
Qz3rK
2089bfd1f3
implement DPI evasion for MTProto TLS connections
...
- Increase ClientHello size via padding
- Fragment outgoing packets with randomized chunk sizes
- Remove extension shuffling for stable fingerprint
- Add support for new TLS block schema types
- Add random jitter to timestamp generation
* Hacky implementation, needs review.
2026-05-29 05:42:07 +07:00
GitHub Action
2ada258819
Update User-Agent for DNS to Chrome 147.0.0.0.
2026-05-04 11:33:12 +07:00
GitHub Action
6419bb15fb
Update User-Agent for DNS to Chrome 146.0.0.0.
2026-04-17 22:06:45 +07:00
John Preston
407bf19641
Fix parts of client hello generation.
...
Inspired by wide internet discussions and #30513 .
2026-04-03 15:48:00 +07:00
GitHub Action
181f811f18
Update User-Agent for DNS to Chrome 142.0.0.0.
2025-11-20 22:25:19 +04:00
John Preston
b72deb1a0e
Update client hello algorithm.
2025-11-15 11:59:19 +04:00
GitHub Action
01b7e387eb
Update User-Agent for DNS to Chrome 140.0.0.0.
2025-10-01 10:24:02 +04:00
GitHub Action
8f65a7ac19
Update User-Agent for DNS to Chrome 139.0.0.0.
2025-09-01 10:26:56 +04:00
GitHub Action
3bb8cb52f8
Update User-Agent for DNS to Chrome 138.0.0.0.
2025-08-01 11:27:43 +04:00
GitHub Action
e698557092
Update User-Agent for DNS to Chrome 137.0.0.0.
2025-07-03 17:46:26 +04:00
GitHub Action
902da90100
Update User-Agent for DNS to Chrome 136.0.0.0.
2025-06-04 10:28:54 +04:00
GitHub Action
2e168d152f
Update User-Agent for DNS to Chrome 135.0.0.0.
2025-04-30 23:02:17 -07:00
GitHub Action
1035d787ab
Update User-Agent for DNS to Chrome 134.0.0.0.
2025-04-24 00:05:39 -07:00
GitHub Action
b2481ea6c1
Update User-Agent for DNS to Chrome 133.0.0.0.
2025-03-03 18:37:13 +04:00
GitHub Action
794818953d
Update User-Agent for DNS to Chrome 131.0.0.0.
2024-12-03 17:22:11 +04:00
GitHub Action
d34c4cc2f2
Update User-Agent for DNS to Chrome 130.0.0.0.
2024-11-01 08:39:37 +04:00
GitHub Action
1ee53ee0c1
Update User-Agent for DNS to Chrome 129.0.0.0.
2024-10-01 08:52:46 +04:00
GitHub Action
91f5c72cf0
Update User-Agent for DNS to Chrome 128.0.0.0.
2024-09-30 11:03:36 +02:00
GitHub Action
7265297b19
Update User-Agent for DNS to Chrome 126.0.0.0.
2024-07-01 10:49:45 +04:00
GitHub Action
6fa0afff37
Update User-Agent for DNS to Chrome 124.0.0.0.
2024-05-01 12:47:51 +04:00
GitHub Action
bd827d844b
Update User-Agent for DNS to Chrome 123.0.0.0.
2024-04-01 10:20:57 +04:00
GitHub Action
da047edbc5
Update User-Agent for DNS to Chrome 122.0.0.0.
2024-03-01 12:41:47 +04:00
GitHub Action
b182aeb51e
Update User-Agent for DNS to Chrome 121.0.6167.85.
2024-02-01 12:37:25 +04:00
GitHub Action
70eb452a09
Update User-Agent for DNS to Chrome 120.0.6099.109.
2024-01-01 05:18:11 +00:00
Ilya Fedin
fdef19a009
Ensure temporaries don't detach with range loop
2023-12-31 22:03:57 +00:00
GitHub Action
1851b6ff30
Update User-Agent for DNS to Chrome 118.0.5993.117.
2023-11-04 20:51:41 +04:00
John Preston
8d00d93949
Fix uninitialized warning in build with GCC.
2023-09-22 09:03:00 +04:00
GitHub Action
e34e640dbb
Update User-Agent for DNS to Chrome 116.0.5845.96.
2023-09-01 11:08:21 +04:00
GitHub Action
506fa52c1c
Update User-Agent for DNS to Chrome 115.0.5790.102.
2023-08-04 10:46:06 +04:00
GitHub Action
23778bec9f
Update User-Agent for DNS to Chrome 114.0.5735.133.
2023-07-10 09:56:27 +04:00
GitHub Action
1e9087db4a
Update User-Agent for DNS to Chrome 113.0.5672.63.
2023-06-01 11:36:47 +04:00
GitHub Action
3eca5d206b
Update User-Agent for DNS to Chrome 112.0.5615.165.
2023-05-19 15:31:10 +04:00
John Preston
60fe961c21
Implement new client hello generation.
2023-04-27 21:11:03 +04:00
GitHub Action
ec10306ccb
Update User-Agent for DNS to Chrome 111.0.5563.110.
2023-04-05 15:41:18 +04:00
GitHub Action
02bc950b57
Update User-Agent for DNS to Chrome 110.0.5481.100.
2023-03-01 07:49:32 +04:00
GitHub Action
a6aa759947
Update User-Agent for DNS to Chrome 109.0.5414.74.
2023-02-04 09:56:19 +04:00
Ilya Fedin
6288da2f3d
Remove socket errors from Qt adapters
2023-01-09 15:01:14 +04:00
GitHub Action
1ba870a655
Update User-Agent for DNS to Chrome 108.0.5359.98.
2023-01-02 10:10:34 +04:00
GitHub Action
0e6b333bde
Update User-Agent for DNS to Chrome 107.0.5304.110.
2022-12-06 16:47:50 +04:00
GitHub Action
87b228b256
Update User-Agent for DNS to Chrome 106.0.5249.119.
2022-11-01 19:24:47 +04:00
GitHub Action
6147994713
Update User-Agent for DNS to Chrome 105.0.5195.125.
2022-10-01 09:10:55 +04:00
GitHub Action
a6a9b16358
Update User-Agent for DNS to Chrome 104.0.5112.101.
2022-09-03 08:42:51 +04:00
GitHub Action
07232e2520
Update User-Agent for DNS to Chrome 103.0.5060.134.
2022-08-01 13:53:11 +04:00
GitHub Action
238a2f4477
Update User-Agent for DNS to Chrome 103.0.5060.53.
2022-07-19 19:35:36 +04:00
Ilya Fedin
08b99134fa
Use brackets include for third-party libraries
2022-06-14 16:36:44 +04:00
GitHub Action
66b9d70993
Update User-Agent for DNS to Chrome 101.0.4951.64.
2022-06-14 16:32:26 +04:00
GitHub Action
62516e264d
Update User-Agent for DNS to Chrome 100.0.4896.127.
2022-05-03 16:24:54 +04:00
GitHub Action
a8b2604512
Update User-Agent for DNS to Chrome 100.0.4896.60.
2022-04-12 17:36:18 +04:00