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
Mirotin Artem
0af64a4d0a
Add GET /v1/users/quota endpoint
2026-05-15 16:25:56 +03:00
astronaut808
8895947414
Expose user rate limits through the API
2026-05-13 16:35:40 +05:00
Alexey
57b2aa0453
Rustfmt
2026-05-10 14:14:52 +03:00
Alexey
10c7cb2e0c
Middle Relay Cancellation Errors
2026-05-10 14:12:15 +03:00
Alexey
900b574fb8
Harden ME Writer Cancellation paths
2026-05-10 14:09:10 +03:00
Alexey
beed6b4679
Middle Wait Deadlines + Tighten Session Release State
2026-05-10 13:58:02 +03:00
Alexey
eef2a38c75
Type Route Cutovers + Reduce IP Tracker cleanup pressure
2026-05-10 13:55:01 +03:00
Alexey
6cb72b3b6c
Explicit Reasons of Session Fallback Cleanup + ME Close
2026-05-10 13:50:36 +03:00
Alexey
090b2ca636
Stats and Cleanup-proccess beyond Hot-path
2026-05-10 13:43:41 +03:00
Alexey
e10c070dc1
Observability + Cancellation for Middle Quota + Traffic Waits
2026-05-10 13:38:11 +03:00
Alexey
3f9ac87daf
Bounded Rate Bursts + Cancel ME Waits
2026-05-10 13:33:54 +03:00
Alexey
844a912b38
Expose Quota Contention + Cleanup fallback metrics
2026-05-10 13:30:59 +03:00
Alexey
ba1d9be5d4
Hardened Relays and API Security paths
2026-05-10 13:22: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
b3510aa8b8
Bound HTTP API+Metrics Connection Admission
2026-05-09 16:29:30 +03:00
Alexey
f0f2bc0482
Limit&Quota Saving as File + API
2026-05-08 14:38:24 +03:00
Alexey
86573be493
Event-driven Wakeup for ME Admission-gate
2026-05-08 13:34:41 +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
Alexey
e0f251ad82
TLS Domains masking fixes
2026-05-06 20:29:24 +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
astronaut808
9f9ca9f270
Add TLS front profile health metrics
2026-05-03 18:07:24 +05:00
mamuthus
9dae14aa66
Add class-based error metrics and dashboard panels
2026-05-01 18:26:32 +00:00
Alexey
8b62965978
Stabilize unknown-DC symlink race test setup
2026-04-30 11:11:04 +03:00
Alexey
d46bda9880
Preserve synchronous IP cleanup queue contract + Rustfmt
2026-04-30 11:05:18 +03:00
Alexey
c3de07db6a
Shard TLS full-cert budget tracking + Bound user-labeled metrics export cardinality
2026-04-30 11:01:10 +03:00
Alexey
61f9af7ffc
Reduce Lock-free IP-Tracker Cleanup backlog
2026-04-30 10:51:04 +03:00
Alexey
1f90e28871
Cap scanner-sensitive Caches and IP-Tracker Cardinality
2026-04-30 10:43:27 +03:00
Alexey
876b74ebf7
Hot-path Cleanup and Timeout Invariants
2026-04-29 23:16:11 +03:00
Alexey
b34e1d71ae
TLS Full Certificate Budget Bookkeeping
2026-04-29 23:00:25 +03:00
Alexey
8520955a5f
Update helpers.rs
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-29 15:53:27 +03:00
Alexey
065786b839
TLS Fetcher on multiple tls_domains by #750
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-29 11:47:42 +03:00
Alexey
f0e1a6cf1c
Expose tls_domains links as domain-link pairs
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-29 11:34:47 +03:00
Alexey
236bbb4970
Atomically updates with Includes
...
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-28 13:00:13 +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
007fc86189
Merge branch 'flow' into fix_timewindow_same_ip
2026-04-25 18:56:27 +03:00
Alexey
9412f089c0
Restore active IP observability for users without unique-IP limits
2026-04-25 15:49:28 +03:00
sanekb
d567dfe40b
fix: limit only new ip when TimeWindow mode enabled
2026-04-25 14:36:43 +03:00
Alexey
37c916056a
Rustfmt
2026-04-25 14:35:35 +03:00
Alexey
2f2fe9d5d3
Bound relay queues by bytes
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-25 13:54:20 +03:00
Alexey
1df668144c
Bounded ME Route fairness and IP-Cleanup-Backlog
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-25 13:09:10 +03:00
Alexey
f25bb17b86
Merge branch 'flow' into api/patch-user-null-removal
2026-04-25 12:28:48 +03:00
Alexey
27b5d576c0
Bound hot-path pressure in ME Relay + Handshake
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-25 12:16:26 +03:00
Alexey
e78592ef9b
Avoid IP tracking when unique-IP limits are disabled and cap beobachten memory
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
Signed-off-by: Alexey <247128645+axkurcom@users.noreply.github.com >
2026-04-25 12:00:46 +03:00
Mirotin Artem
4ed87d1946
feat(api): support null-removal in PATCH /v1/users/{user}
...
PatchUserRequest now uses Patch<T> for the five removable fields
(user_ad_tag, max_tcp_conns, expiration_rfc3339, data_quota_bytes,
max_unique_ips). Sending JSON null drops the entry from the
corresponding access HashMap; sending 0 is preserved as a literal
limit; omitted fields stay untouched. The handler synchronises the
in-memory ip_tracker on both set and remove of max_unique_ips. A
helper parse_patch_expiration mirrors parse_optional_expiration for
the new three-state field. Runtime semantics are unchanged.
2026-04-25 00:49:34 +03:00
Mirotin Artem
635bea4de4
feat(api): add Patch<T> enum for JSON merge-patch semantics
...
Introduce a three-state Patch<T> (Unchanged / Remove / Set) and a
serde helper patch_field that distinguishes an omitted JSON field
from an explicit null. Wired up next as the field type for the
removable settings on PATCH /v1/users/{user}.
2026-04-25 00:49:34 +03:00
Alexey
033ebf5038
Relays Tests Fixes
2026-04-24 15:51:19 +03:00
Alexey
8960fad8cd
Сlassified Bad Connections and Handshake Failures in API
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-24 10:56:30 +03:00
Alexey
493f5c9680
ALPN in TLS Fetcher
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-23 22:22:05 +03:00