Alexey
c12c5c73c1
Conntrack: Firewall reconciliation process-owned&transactional
2026-09-25 19:35:31 +03:00
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
2264980926
User Disabler in API by #814 + Consistent Listeners in API by #800
2026-05-31 11:17:18 +03:00
Alexey
d4adf0ef9a
ME: Bound writer queue waits under backpressure
2026-05-25 00:28:29 +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
f0f2bc0482
Limit&Quota Saving as File + API
2026-05-08 14:38:24 +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
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
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
3ca3e8ff0e
Docker Health-Check
2026-04-17 16:36:15 +03:00
Alexey
7f0057acd7
Conntrack Control Method
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-04-04 11:28:32 +03:00
Alexey
2dc81ad0e0
API Consistency fixes
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-31 13:03:05 +03:00
Mirotin Artem
677195e587
feat(api): add GET /v1/stats/users/active-ips endpoint
...
Lightweight endpoint that returns only users with active TCP connections
and their IP addresses. Calls only get_active_ips_for_users() without
collecting recent IPs or building full UserInfo, significantly reducing
CPU and memory overhead compared to /v1/stats/users.
2026-03-26 10:00:29 +03:00
Alexey
7b570be5b3
DC -> Client Runtime in Metrics and API
2026-03-22 15:28:55 +03:00
David Osipov
c8632de5b6
Update dependencies and refactor random number generation
...
- Bump versions of several dependencies in Cargo.toml for improved functionality and security, including:
- socket2 to 0.6
- nix to 0.31
- toml to 1.0
- x509-parser to 0.18
- dashmap to 6.1
- rand to 0.10
- reqwest to 0.13
- notify to 8.2
- ipnetwork to 0.21
- webpki-roots to 1.0
- criterion to 0.8
- Introduce `OnceLock` for secure random number generation in multiple modules to ensure thread safety and reduce overhead.
- Refactor random number generation calls to use the new `RngExt` trait methods for consistency and clarity.
- Add new PNG files for architectural documentation.
2026-03-21 15:43:07 +04:00
David Osipov
ebd37932c5
Merge latest upstream/main into test/main-into-flow-sec
2026-03-20 23:21:22 +04:00
Maxim Myalin
66867d3f5b
Merge branch 'main' into feat/shadowsocks-upstream
...
# Conflicts:
# Cargo.lock
# src/api/runtime_stats.rs
2026-03-20 15:22:36 +03:00
Alexey
ef9b7b1492
Teardown Monitoring in API
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-20 12:45:53 +03:00
David Osipov
c07b600acb
Integration hardening: reconcile main+flow-sec API drift and restore green suite
2026-03-19 20:24:44 +04:00
Alexey
8d1faece60
Instadrain + Hard-remove for long draining-state
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-19 17:45:17 +03:00
Maxim Myalin
062464175e
Merge branch 'main' into feat/shadowsocks-upstream
2026-03-18 12:38:23 +03:00
Maxim Myalin
def42f0baa
Add Shadowsocks upstream support
2026-03-18 12:36:44 +03:00
Alexey
2aa7ea5137
ME Coverage Ratio in API + as Draining Factor
2026-03-18 11:46:13 +03:00
Alexey
3739f38440
Adaptive Buffers + Session Eviction Method
2026-03-18 10:49:02 +03:00
Alexey
ac0698b772
ME Writer Rebinding - Lifecycle and Consistency fixes
2026-03-15 00:17:54 +03:00
Alexey
fca0e3f619
ME Writer Pick in Metrics+API
2026-03-08 03:06:45 +03:00
Alexey
5f77f83b48
ME Adaptive Floor Upper-Limit
2026-03-07 17:27:56 +03:00
Alexey
ce9698d39b
ME Adaptive Floor Planner
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-07 02:50:11 +03:00
Alexey
0b1a8cd3f8
IP Limit fixes
2026-03-05 13:41:41 +03:00
Alexey
565b4ee923
Unique IP always in Metrics+API
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-05 13:21:11 +03:00
Alexey
de2047adf2
API UpstreamManager
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-04 11:41:41 +03:00
Alexey
f1efaf4491
User-links in API
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-04 02:48:43 +03:00
Alexey
716b4adef2
Runtime Stats in API
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-04 02:46:47 +03:00
Alexey
349bbbb8fa
API Pool Status Model
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-04 01:41:33 +03:00
Alexey
f7d451e689
API V1 Drafts
...
Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com >
2026-03-04 01:08:05 +03:00