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
2026-03-26 23:38:58 +03:00
Sergei Arkhipov and GitHub
d32e8e8b97
Merge pull request #404 from 9seconds/codeql
...
Update stale codeql configuration
2026-03-25 10:19:15 +01:00
9seconds
60c57c2306
Update stale codeql configuration
2026-03-25 10:17:30 +01:00
Sergei Arkhipov and GitHub
0edd5e6f92
Merge pull request #402 from 9seconds/PGO
...
Update PGO
2026-03-24 21:07:10 +01:00
9seconds
a8e4acb6f8
Update PGO
2026-03-24 21:04:30 +01:00
Sergei Arkhipov and GitHub
27d10e6820
Merge pull request #401 from 9seconds/fix-prof
...
Fix build with profiling
2026-03-24 20:50:41 +01:00
9seconds
b47e13556e
Fix build with profiling
2026-03-24 20:46:41 +01:00
9seconds
de81ed565d
Add mention of fork
2026-03-24 15:28:33 +01:00
9seconds
5adfee5dd4
Remove wrong binary
2026-03-24 09:58:13 +01:00
9seconds
b0d37de0ec
Update linter
2026-03-24 09:57:20 +01:00
9seconds
0cb25ba7ff
Update go dependencies
2026-03-24 09:55:53 +01:00
9seconds
614acd7303
Mention doctor in README
2026-03-24 09:55:30 +01:00
Sergei Arkhipov and GitHub
4f5368aa2a
Merge pull request #398 from 9seconds/docker-directory
...
Allow using directory bind mounts for a docker container
2026-03-24 09:00:59 +01:00
9seconds
cfb5fe66be
Allow using directory bind mounts for a docker container
...
This helps with a situation when some applications do not allow mounting
individual files, but whole directories. In that case users could mount
`/config` directory with a single file, `config.toml`: `-v
/path/to/dir:/config`. Also, there is a backward compatibility to using
a single `/config.toml`
2026-03-24 08:48:42 +01:00
Sergei Arkhipov and GitHub
fb390d3417
Merge pull request #397 from 9seconds/doctor
2026-03-23 19:35:49 +01:00
9seconds
f0ae4ce290
Validate domain fronting availability
2026-03-23 19:22:21 +01:00
9seconds
b6b900e430
Refactoring
2026-03-23 19:12:14 +01:00
9seconds
8154f65e0e
Add validation of telegram connectivity
2026-03-23 18:34:38 +01:00
9seconds
a60523fed0
Add verification of time skewness
2026-03-23 15:28:48 +01:00
9seconds
63b147c287
Add doctor command for deprecated config values
2026-03-23 14:45:10 +01:00
Sergei Arkhipov and GitHub
21c0d18c7c
Merge pull request #395 from roman901/master
2026-03-21 23:31:24 +01:00
Roman Shishkin
8f0bf47d56
Add Config.GetConcurrency with default fallback
2026-03-21 21:53:38 +03:00
Sergei Arkhipov and GitHub
d01e089f54
Merge pull request #386 from 9seconds/architectures
...
Add more architectures for mtg
2026-03-20 11:22:58 +01:00
Sergei Arkhipov and GitHub
c736881792
Merge pull request #388 from 9seconds/doc-limits
...
Document a necessety of increasing limits for systemd unit
2026-03-20 11:16:06 +01:00
9seconds
d5a118f125
Remove explicit pgo
2026-03-20 11:15:01 +01:00
9seconds
d79a8f8406
Fix failed builds
2026-03-20 11:14:25 +01:00
9seconds
97932758d1
Add mips support
2026-03-20 11:14:25 +01:00
9seconds
1f7d1c0eea
Add windows builds
2026-03-20 11:14:25 +01:00
9seconds
8c73dde928
Add build for AMD64v3
2026-03-20 11:14:25 +01:00
9seconds
ded3fe26b9
Build for ARMv9
2026-03-20 11:14:25 +01:00
Sergei Arkhipov and GitHub
2f00adfe91
Merge pull request #385 from 9seconds/pgo
...
Add PGO
2026-03-20 11:14:00 +01:00
9seconds
049bee3d84
Document a necessety of increasing limits for systemd unit
...
It seems that default DynamicUser limits are very low. We have to
increase them anyway.
2026-03-20 11:13:03 +01:00
9seconds
4fbabfda2a
Add PGO
2026-03-20 10:54:30 +01:00
Sergei Arkhipov and GitHub
9ba6df0d1c
Merge pull request #383 from 9seconds/avoid-double-buffering
...
Avoid double buffering in TLS hot path
2026-03-19 17:46:36 +01:00
9seconds
4a8d099aca
Remove unused buffer
2026-03-19 17:39:57 +01:00
9seconds
feb57004e1
Fix reslicing
2026-03-19 17:39:48 +01:00
9seconds
cb436efd87
Avoid double buffering in TLS hot path
2026-03-19 17:37:51 +01:00
Sergei Arkhipov and GitHub
24148ea95c
Merge pull request #382 from 9seconds/write-cond
...
Optimize waiting time for TLS chunker
2026-03-19 15:51:11 +01:00
9seconds
724904f50d
Wait in doppel.Conn if there is anything to write
2026-03-19 15:42:00 +01:00
9seconds
a23ae05f3b
Remove SyncWrite
2026-03-19 13:47:08 +01:00
Sergei Arkhipov and GitHub
b153a55149
Merge pull request #379 from 9seconds/fix-telegram-ips
...
Show ip of telegram endpoints in event stream
2026-03-18 22:46:47 +01:00
9seconds
913a38d13a
Show real IP of the telegram endpoint in event stream
2026-03-18 22:05:34 +01:00
Sergei Arkhipov and GitHub
81703233b0
Merge pull request #368 from 9seconds/flake-tests
...
Fix flaky test
2026-03-16 23:55:01 +01:00
9seconds
eb7720b11e
Fix flaky test
2026-03-16 23:44:06 +01:00
Sergei Arkhipov and GitHub
df7ddc3d6a
Merge pull request #367 from saleacy/patch-1
...
fix: ensure network.Dial and MakeHTTPClient use socks5 proxy
2026-03-16 23:38:43 +01:00
saleacy and GitHub
3bc1e415f9
fix: ensure network.Dial and MakeHTTPClient use socks5 proxy
...
The package `network/v2/proxy_network.go` does not wrap `network.Dial`
and `network.MakeHTTPClient`, which causes them to bypass the SOCKS5
proxy and initiate TCP connections directly from the local machine.
2026-03-17 01:35:18 +08:00
Sergei Arkhipov and GitHub
306fa19ad6
Merge pull request #366 from Maks-2012/patch-1
...
Fix preferIPOnlyIPv6
2026-03-16 15:31:09 +01:00
Maks-2012 and GitHub
079252d810
Fix preferIPOnlyIPv6
2026-03-16 16:10:38 +03:00
9seconds
d98d5be3a7
Update go dependencies
2026-03-15 22:01:04 +01:00
9seconds
94ac9d6ffa
Update tooling
2026-03-15 22:00:08 +01:00