3x-ui/web/controller
MHSanaei a79cb9fe6d
refactor(clients): finish migrating to ClientService + tidy IP routes
Two related cleanups in the new /clients surface:

1. Move ResetAllClientTraffics (bulk-reset of xray_client_traffic +
   last_traffic_reset_time, with node-runtime propagation) from
   InboundService to ClientService. PeriodicTrafficResetJob now holds
   a clientService and calls
   j.clientService.ResetAllClientTraffics(&j.inboundService, id).
   The last client-mutation method on InboundService is gone.

2. Shorten redundantly-named routes/handlers under /panel/api/clients:
   - /clientIps/:email      -> /ips/:email      (handler getIps)
   - /clearClientIps/:email -> /clearIps/:email (handler clearIps)
   The "client" prefix was redundant inside the clients namespace.

Frontend (InboundInfoModal) and api-docs updated to match.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 11:25:24 +02:00
..
api.go feat(clients): add top-level Clients tab and CRUD API 2026-05-17 07:28:55 +02:00
api_docs_test.go feat(clients): add top-level Clients tab and CRUD API 2026-05-17 07:28:55 +02:00
base.go v3 2026-05-10 02:13:42 +02:00
client.go refactor(clients): finish migrating to ClientService + tidy IP routes 2026-05-17 11:25:24 +02:00
custom_geo.go v3 2026-05-10 02:13:42 +02:00
dist.go fix: Add base-path meta tag for Cloudflare Rocket Loader compatibility 2026-05-14 23:37:25 +02:00
inbound.go refactor(service): move all client mutation methods to ClientService 2026-05-17 10:48:28 +02:00
index.go fix(auth): invalidate sessions when 2FA is enabled, fix dev 401 loop 2026-05-13 14:08:16 +02:00
login_limiter.go Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
login_limiter_test.go refactor(websocket): split controller into service + thin controller 2026-05-08 00:00:44 +02:00
node.go feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
server.go feat(panel): xray metrics dashboard with observatory probe history 2026-05-12 02:17:45 +02:00
setting.go feat(api-tokens): manage multiple named tokens; add tab/section anchor URLs 2026-05-13 16:34:31 +02:00
util.go Security hardening: sessions, SSRF, CSP nonce, CSRF logout, trusted proxies (#4275) 2026-05-13 12:52:52 +02:00
util_test.go Security hardening: sessions, SSRF, CSP nonce, CSRF logout, trusted proxies (#4275) 2026-05-13 12:52:52 +02:00
websocket.go v3 2026-05-10 02:13:42 +02:00
xray_setting.go Security hardening: sessions, SSRF, CSP nonce, CSRF logout, trusted proxies (#4275) 2026-05-13 12:52:52 +02:00
xui.go feat(clients): add top-level Clients tab and CRUD API 2026-05-17 07:28:55 +02:00