Alexey Dolotov
80213ad35d
Add dynamic cert noise calibration for FakeTLS handshake
The hardcoded noise range (2500-4700 bytes) in the FakeTLS ServerHello
does not match the real certificate chain sizes of many popular fronting
domains (e.g., dl.google.com ≈ 6480 bytes, microsoft.com ≈ 13004 bytes).
This makes the proxy detectable by DPI systems that compare the
ApplicationData size with the real cert chain size for the SNI domain.
On startup, probe the fronting domain's actual TLS handshake size and
use the measured value ± jitter instead of the static range. Falls back
to the legacy 2500-4700 range if the probe fails.
Also adds optional caching of probe results between restarts
(noise-cache-path, noise-cache-ttl) and a configurable probe count
(noise-probe-count) under [defense.doppelganger].
Closes #408
2 месяцев назад
9seconds
8154f65e0e
Add validation of telegram connectivity
2 месяцев назад
9seconds
4a8d099aca
Remove unused buffer
2 месяцев назад
9seconds
feb57004e1
Fix reslicing
2 месяцев назад
9seconds
cb436efd87
Avoid double buffering in TLS hot path
2 месяцев назад
9seconds
724904f50d
Wait in doppel.Conn if there is anything to write
2 месяцев назад
9seconds
a23ae05f3b
Remove SyncWrite
2 месяцев назад
9seconds
913a38d13a
Show real IP of the telegram endpoint in event stream
2 месяцев назад
9seconds
eb7720b11e
Fix flaky test
3 месяцев назад
Maks-2012
079252d810
Fix preferIPOnlyIPv6
3 месяцев назад
9seconds
bb90bcc127
Decrease relay buffer size
Even if it makes sense to have a huge buffers, we do artificial delays
now. In that case we could achieve the same results with a lower buffer.
If not, then we won't send a packet bigger that this value
3 месяцев назад
9seconds
e675baa860
Add docs about doppelganger
3 месяцев назад
9seconds
7adfc0352e
Have a noise of variable size
3 месяцев назад
9seconds
b35c212d65
Have a noise of variable size
3 месяцев назад
9seconds
45b0964afd
Fix android ping
3 месяцев назад
9seconds
4138cc6494
Use SyncWrite call to send a packet to proxy
3 месяцев назад
9seconds
33c0fa9bf7
Add SyncWrite method to doppel.Conn
3 месяцев назад
9seconds
21d7522356
Make DRS optional
3 месяцев назад
9seconds
ea71fe81b2
Update stats defaults
3 месяцев назад
9seconds
cc63e762e3
Use native dialer for scout
3 месяцев назад
9seconds
62cba24071
Use native dialer to communicate with fronting domain
3 месяцев назад
9seconds
94e4179fb7
Add NativeDialer method to mtglib.Network
3 месяцев назад
9seconds
ffd3ab03cc
Formatting with gofumpt
3 месяцев назад
9seconds
00403e3a94
Remove old faketls package
3 месяцев назад
9seconds
0bfc1ef2d4
Fix double TLS wrapping for noise
3 месяцев назад
9seconds
7aa01dcebe
Limit min number of collected stats
3 месяцев назад
9seconds
1c0e847247
Set statistics measured from real life
3 месяцев назад
9seconds
83ff4ee266
Align scout defaults with config defaults
3 месяцев назад
9seconds
7a58c74cfe
Correctly process doppel conns
3 месяцев назад
9seconds
d43d6692d7
Align naming about scout raids
3 месяцев назад
9seconds
75392941da
Propagate settings to Proxy
3 месяцев назад
9seconds
bb49c6a55d
Integrate new fake package and doppel into proxy
3 месяцев назад
9seconds
37f8d18be5
Add server side of things
3 месяцев назад
9seconds
59557059df
ReadClientHello function
3 месяцев назад
9seconds
1182b9ef6f
Add doppel and tls packages
3 месяцев назад
9seconds
189dce07c6
Make auto updating optional
3 месяцев назад
9seconds
449f84133a
Do not panic if no addresses were found
3 месяцев назад
9seconds
1cb225f52c
Introduce [domain-fronting] config
3 месяцев назад
9seconds
cde313b359
Add support for domain fronting proxy protocol
3 месяцев назад
9seconds
bb320e9d89
Update fuzz tests
3 месяцев назад
9seconds
5b91edf5c4
Fix tests
3 месяцев назад
9seconds
36c766b331
Fix lint issues
3 месяцев назад
9seconds
e4a9a96309
Remove mentioning of DC overrides
3 месяцев назад
9seconds
94d46d2c65
Add fetching of addresses from proxyGetConfig endpoint
3 месяцев назад
9seconds
908842063a
Do not use additional bytes buffer for faketls
3 месяцев назад
9seconds
e50cee5748
Do not use unnecessary lock in connRewind
3 месяцев назад
9seconds
ee524abdb5
Remove redundant copyBufferPool from relay
3 месяцев назад
9seconds
3e75e4fa63
Delete old obfuscated2 package
3 месяцев назад
9seconds
140e9dfc2e
Integrate obfuscation package
3 месяцев назад
9seconds
d0065d35c2
Add new obfuscation package
3 месяцев назад