Alexey
66f2b8889f
Split oversized runtime modules + Async tests hardened
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-08-30 09:39:33 +03:00
Alexey
281f63f940
Runtime Ownership hardened
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-08-30 08:38:03 +03:00
Alexey
840b6f563a
Rustfmt
2026-08-23 10:56:00 +03:00
Alexey
1029703c2c
WEB
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Co-Authored-By: John Preston <17900494+john-preston@users.noreply.github.com >
2026-08-23 03:12:53 +03:00
Alexey
fb47ad149c
Rustfmt
2026-08-22 16:31:49 +03:00
Alexey
7f4b87bea4
Redesign runtime w/ include-aware config + Module Split + Listener Lifecycle + Atomic Reload
2026-08-22 16:13:25 +03:00
Alexey
189e10800a
Hardened listener reload + config persistence + SYN Limit startup safety
2026-08-22 13:45:57 +03:00
Alexey
064cd0da61
Merge branch 'flow/3.5.0' into flow-bulk-mss
2026-08-12 21:05:14 +03:00
Alexey
fabd98ce89
Cfg Test for handle_bad_client
2026-07-18 14:31:43 +03:00
Alexey
61ec46c2db
Merge pull request #871 from xaer981/fix/client-mss-bulk
...
fix(server): client_mss_bulk — fragment only ServerHello, keep bulk MSS from start
2026-07-18 14:02:03 +03:00
Alexey
991d5b2c38
Maestro: add in-process runtime generation reload
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-17 23:56:00 +03:00
Alexey
73afeccae1
Rustfmt
2026-07-13 12:20:24 +03:00
Yaroslav Petrovskikh
5e9d99bb4d
fix(server): fragment only the initial FakeTLS response
2026-07-13 11:26:48 +03:00
Alexey
ea296bbdc8
Replace per-session pool trimming with pressure hysteresis
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 21:36:01 +03:00
Alexey
96425f15c8
Bound Direct relay buffers with an adaptive global memory envelope
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-11 20:56:54 +03:00
Alexey
893ce0cf36
Hold C2ME byte permits through ME writer completion
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-07-10 16:35:39 +03:00
Alexey
b8be805aed
Rustfmt
2026-07-06 20:12:36 +03:00
Alexey
25d02a8e0e
Update traffic_limiter.rs
2026-07-04 15:45:51 +03:00
Alexey
81ae483201
Add regression coverage for ME routing, D2C padding, synlimit, and MSS bulk validation
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-30 13:13:11 +03:00
Alexey
9a9fd3f55d
Update d2c.rs
2026-06-29 11:37:30 +03:00
Alexey
f56895feac
Bump -> 3.4.19
2026-06-24 00:53:01 +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
04b8d8365c
Account for full-word paddings in roundtrip tests
2026-06-14 19:38:54 +03:00
Alexey
b153782597
More efficient Relay Mode
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-13 23:22:50 +03:00
Alexey
b43c683615
Rustfmt
2026-06-11 19:59:48 +03:00
Alexey
09dc0cb76c
Update handshake_security_tests.rs
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 19:44:39 +03:00
Alexey
c36eb81808
Fix for TLS-F, ALPN и SNI/ALPN helpers
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 19:17:06 +03:00
Alexey
0f8aca56d9
Fix fallback test record iterator lifetime
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 17:56:21 +03:00
Alexey
4e66933a35
Fix TLS masking test ClientHello fixtures and tail write ordering
2026-06-11 17:51:05 +03:00
Alexey
7cf00db242
Update client_masking_budget_security_tests.rs
2026-06-11 17:32:26 +03:00
Alexey
8bc1ac06d6
Update client_masking_budget_security_tests.rs
2026-06-11 17:31:23 +03:00
Alexey
59cfcf05d3
Update client_masking_blackhat_campaign_tests.rs
2026-06-11 17:23:35 +03:00
Alexey
fcbedf66ea
Update client_masking_blackhat_campaign_tests.rs
2026-06-11 17:21:54 +03:00
Alexey
1edd63bfb1
Rustfmt + Bump
2026-06-11 16:36:33 +03:00
Alexey
3d0560d583
Select ServerHello key share from TLS Fetcher Profile
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 14:43:03 +03:00
Alexey
62af515504
Generate Valid X25519MLKEM768 ServerHello key shares
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 14:14:09 +03:00
Alexey
c4b58ad374
Hardened TLS-F ServerHello selection
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-11 13:07:40 +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
Alexey
cd2bb9c8cd
Alles muss man selber machen
...
Co-Authored-By: Mikhail I. Izmestev <355023+izmmisha@users.noreply.github.com >
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Co-Authored-By: Dietmar Schreiber <376736+dginorg@users.noreply.github.com >
2026-06-11 10:13:17 +03:00
Alexey
7d543aeb67
Fixes for Adversarial Timing Profile Latency-flake by #761
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-05 12:59:50 +03:00
Alexey
89a885c25f
Reset Interface Cache in Masking timing test
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-05 12:51:54 +03:00
Alexey
34b48325fd
JA3+JA4 Pitfall in API + Beobachten
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-06-02 08:17:56 +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
Aleksei K
a77aedfd7a
Atomically claim pressure eviction budget in MR
2026-05-29 13:17:47 +03:00
Aleksei K
2a0fcd6e35
Align ServerHello cipher and opaque ALPN behavior in TLS-F
2026-05-28 16:11:25 +03:00
Alexey
d4adf0ef9a
ME: Bound writer queue waits under backpressure
2026-05-25 00:28:29 +03:00