Alexey
558f352a57
Synlimit V2
2026-06-28 12:53:28 +03:00
Alexey
87c82c2a63
Add bounded file logging rotation and retention #832
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-24 00:16:02 +03:00
Alexey
840713a359
Merge pull request #847 from AndreyOsipuk/feat/client-mss-relay
...
feat(server): client_mss_bulk — fragment only the handshake, restore MSS for bulk data (cuts pps)
2026-06-20 22:10:04 +03:00
Andrey Osipuk
50b67a93d6
feat(server): client_mss_bulk — raise MSS after handshake to cut pps
...
client_mss (e.g. "tspu", MSS=92) fragments the whole connection to evade
DPI on the ServerHello, but it also fragments bulk payload, multiplying
outgoing packets-per-second ~10x. On hosts whose abuse detection counts
pps (not bandwidth) this trips packet-flood limits.
Add an optional [server].client_mss_bulk: keep the low client_mss for the
handshake (ServerHello stays fragmented => DPI bypass intact), then raise
the client socket MSS to client_mss_bulk once the connection enters the
post-handshake (bulk transfer) phase, so bulk data uses normal-size
segments and pps drops back to normal. Same preset/int grammar as
client_mss. Opt-in: when unset, the handshake MSS is kept for the whole
connection (unchanged behavior).
Linux-only (setsockopt TCP_MAXSEG via raw fd, mirroring TCP_USER_TIMEOUT);
no-op on other unix. Documented in CONFIG_PARAMS.{en,ru}.
2026-06-19 11:11:01 +03:00
Alexey
72800e4aa7
Harden masking fallback and frame readers after flow sync
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-17 21:48:57 +03:00
Alexey
37d0184a0b
Implement shared MTProto framing and ME address role separation
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-15 08:50:08 +03:00
Alexey
2675779915
Fix SYN limiter lifecycle and default burst
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-12 14:40:26 +03:00
Alexey
c4954f745f
Restore single-record TLS-F primary application flight
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-12 12:44:22 +03:00
Alexey
9a3ff726b2
Use token-bucket SYN limiter backends
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-12 01:27:03 +03:00
Alexey
942882f9de
SYN Limiter interval and hitcount in Config
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-12 00:29:23 +03:00
Alexey
1cbde70a14
Add per-listener SYN limiter for Netfilter control
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 23:58:48 +03:00
Alexey
db7ff8737c
Add dynamic SNI mask target mode
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 10:36:37 +03:00
Mirotin Artem
e39aaeb5c5
feat(config): classify_config_changes (hot vs restart) via overlay_hot_fields
2026-06-09 12:03:10 +03:00
Alexey
9bbdf796d8
Rustfmt
2026-06-06 12:17:19 +03:00
Alexey
27a5f5a4ec
MSS Tuning with config
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-06 12:11:05 +03:00
Alexey
54e40fd073
Fixes for Load mask shape security test
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-05 12:43:30 +03:00
Alexey
462215b53c
Dual-stack fixes for Upstreams by #798
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-01 19:50:26 +03:00
Alexey
2264980926
User Disabler in API by #814 + Consistent Listeners in API by #800
2026-05-31 11:17:18 +03:00
Alexey
98c985091c
Decomposing hot-path modules into focused submodules
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-05-21 18:03:55 +03:00
Alexey
70d02910b7
Fixes for SILENT-mode by #792
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-05-20 10:54:37 +03:00
Alexey
422d97a385
Update load.rs
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-05-20 10:33:18 +03:00
Alexey
6b0cc48c2b
IDN Support
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-05-19 22:42:09 +03:00
Alexey
914f141715
Exclusive Mask + Startup Speed-up
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-05-19 22:17:59 +03:00
Alexey
57b2aa0453
Rustfmt
2026-05-10 14:14:52 +03:00
Alexey
3f9ac87daf
Bounded Rate Bursts + Cancel ME Waits
2026-05-10 13:33:54 +03:00
Alexey
b2aa9b8c9e
Hardened API & Management-plane Admission
...
- bound API and metrics connection handling
- default metrics listener to localhost
- reject untrusted PROXY protocol peers before parsing headers
- cap API request body size and PROXY v2 payload allocation
- validate route usernames and TLS domains consistently
2026-05-09 20:50:23 +03:00
Alexey
f0f2bc0482
Limit&Quota Saving as File + API
2026-05-08 14:38:24 +03:00
Alexey
658a565cb3
Merge pull request #770 from konstpic/feat/user-source-deny-list
...
feat(access): add per-user source IP deny list checks
2026-05-07 11:56:54 +03:00
Alexey
4995e83236
Config Strict and Validator
2026-05-06 20:38:55 +03:00
Konstantin Pichugin
b859fb95c3
feat(access): add per-user source IP deny list checks
...
Add access.user_source_deny and enforce it in TLS and MTProto handshake paths after successful authentication to fail closed for blocked source IPs.
2026-05-06 19:11:18 +03:00
Alexey
d46bda9880
Preserve synchronous IP cleanup queue contract + Rustfmt
2026-04-30 11:05:18 +03:00
Alexey
876b74ebf7
Hot-path Cleanup and Timeout Invariants
2026-04-29 23:16:11 +03:00
Alexey
8ef5263fce
Fix WorkingDirectory behavior
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
Co-Authored-By: mikhailnov <m@mikhailnov.ru >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-28 12:31:21 +03:00
Alexey
67357310f7
TLS 1.2/1.3 Correctness + Full ServerHello + Rustfmt
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-23 21:29:18 +03:00
Alexey
db114f09c3
Sync tests with code
2026-04-21 13:30:11 +03:00
Alexey
09310ff284
Unlimited mask_relay_max_bytes
2026-04-21 11:30:58 +03:00
Alexey
926e3aa987
Fairness Regression fixes
2026-04-21 01:11:43 +03:00
lie-must-die
5b07ffae7c
Implement test for unknown_sni_action in ProxyConfig
...
Added test case for unknown_sni_action configuration.
2026-04-19 12:42:52 +03:00
lie-must-die
7bbed133ee
Add RejectHandshake variant for TLS configuration
...
Added a new variant 'RejectHandshake' to handle TLS handshake rejection with a specific alert.
2026-04-19 12:40:10 +03:00
Alexey
d72cfd6bc4
Merge branch 'flow' into feature/configurable-proxy-confi-urls
2026-04-17 19:44:46 +03:00
Alexey
b447f60a72
Rustfmt + Bump
2026-04-17 19:08:57 +03:00
Alexey
093faed0c2
Conntrack Control for Docker
2026-04-17 19:06:18 +03:00
Dmitry Zarva
2a168b2600
feat: make URLS to obtain proxy_secret, getProxyConfig, getProxyConfigV6 files optionally configurable
2026-04-17 13:04:46 +00:00
Alexey
17a966b822
Rustfmt
2026-04-17 10:48:01 +03:00
Alexey
21ca1014ae
Drafting Traffic Control
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-15 13:14:45 +03:00
Alexey
696316f919
Rustfmt
2026-04-15 01:39:47 +03:00
Alexey
d7a0319696
Server.Listeners + Upstream V4/V6
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-15 01:32:49 +03:00
Alexey
3fefcdd11f
Fix for beobachten path by #664
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-14 20:09:31 +03:00
Alexey
57dca639f0
Gray Action for API by #630
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-14 19:19:06 +03:00
Alexey
13f86062f4
BINDTODEVICE for Direct Upstreams by #683
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-14 18:32:06 +03:00