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 månader sedan
9seconds
8154f65e0e
Add validation of telegram connectivity
2 månader sedan
9seconds
4a8d099aca
Remove unused buffer
2 månader sedan
9seconds
feb57004e1
Fix reslicing
2 månader sedan
9seconds
cb436efd87
Avoid double buffering in TLS hot path
2 månader sedan
9seconds
724904f50d
Wait in doppel.Conn if there is anything to write
2 månader sedan
9seconds
a23ae05f3b
Remove SyncWrite
2 månader sedan
9seconds
913a38d13a
Show real IP of the telegram endpoint in event stream
2 månader sedan
9seconds
eb7720b11e
Fix flaky test
2 månader sedan
Maks-2012
079252d810
Fix preferIPOnlyIPv6
2 månader sedan
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
2 månader sedan
9seconds
e675baa860
Add docs about doppelganger
2 månader sedan
9seconds
7adfc0352e
Have a noise of variable size
2 månader sedan
9seconds
b35c212d65
Have a noise of variable size
2 månader sedan
9seconds
45b0964afd
Fix android ping
2 månader sedan
9seconds
4138cc6494
Use SyncWrite call to send a packet to proxy
2 månader sedan
9seconds
33c0fa9bf7
Add SyncWrite method to doppel.Conn
2 månader sedan
9seconds
21d7522356
Make DRS optional
2 månader sedan
9seconds
ea71fe81b2
Update stats defaults
2 månader sedan
9seconds
cc63e762e3
Use native dialer for scout
2 månader sedan
9seconds
62cba24071
Use native dialer to communicate with fronting domain
2 månader sedan
9seconds
94e4179fb7
Add NativeDialer method to mtglib.Network
2 månader sedan
9seconds
ffd3ab03cc
Formatting with gofumpt
2 månader sedan
9seconds
00403e3a94
Remove old faketls package
2 månader sedan
9seconds
0bfc1ef2d4
Fix double TLS wrapping for noise
2 månader sedan
9seconds
7aa01dcebe
Limit min number of collected stats
2 månader sedan
9seconds
1c0e847247
Set statistics measured from real life
2 månader sedan
9seconds
83ff4ee266
Align scout defaults with config defaults
2 månader sedan
9seconds
7a58c74cfe
Correctly process doppel conns
2 månader sedan
9seconds
d43d6692d7
Align naming about scout raids
2 månader sedan
9seconds
75392941da
Propagate settings to Proxy
2 månader sedan
9seconds
bb49c6a55d
Integrate new fake package and doppel into proxy
2 månader sedan
9seconds
37f8d18be5
Add server side of things
2 månader sedan
9seconds
59557059df
ReadClientHello function
2 månader sedan
9seconds
1182b9ef6f
Add doppel and tls packages
2 månader sedan
9seconds
189dce07c6
Make auto updating optional
3 månader sedan
9seconds
449f84133a
Do not panic if no addresses were found
3 månader sedan
9seconds
1cb225f52c
Introduce [domain-fronting] config
3 månader sedan
9seconds
cde313b359
Add support for domain fronting proxy protocol
3 månader sedan
9seconds
bb320e9d89
Update fuzz tests
3 månader sedan
9seconds
5b91edf5c4
Fix tests
3 månader sedan
9seconds
36c766b331
Fix lint issues
3 månader sedan
9seconds
e4a9a96309
Remove mentioning of DC overrides
3 månader sedan
9seconds
94d46d2c65
Add fetching of addresses from proxyGetConfig endpoint
3 månader sedan
9seconds
908842063a
Do not use additional bytes buffer for faketls
3 månader sedan
9seconds
e50cee5748
Do not use unnecessary lock in connRewind
3 månader sedan
9seconds
ee524abdb5
Remove redundant copyBufferPool from relay
3 månader sedan
9seconds
3e75e4fa63
Delete old obfuscated2 package
3 månader sedan
9seconds
140e9dfc2e
Integrate obfuscation package
3 månader sedan
9seconds
d0065d35c2
Add new obfuscation package
3 månader sedan