3x-ui/web/controller
MHSanaei 6a90f98412
feat(inbounds): add sub/client link endpoints; hide panel version on login
- New GET /panel/api/inbounds/getSubLinks/:subId and /getClientLinks/:id/:email
  return the same protocol URLs the panel UI's Copy button emits, honouring
  X-Forwarded-Host / X-Forwarded-Proto. Documented in the API docs page.
- Refactor: sub package no longer imports web. The embedded dist FS is
  injected via sub.SetDistFS, and the link generator is registered with the
  service layer via service.RegisterSubLinkProvider, avoiding the circular
  import the new endpoints would otherwise introduce.
- Security: stop emitting window.X_UI_CUR_VER on login.html and drop the
  visible version chip from the login page, so the panel version is no
  longer pre-auth info disclosure. Authenticated pages still receive it.
- Bump config/version.
2026-05-11 15:03:47 +02:00
..
api.go v3 2026-05-10 02:13:42 +02:00
base.go v3 2026-05-10 02:13:42 +02:00
custom_geo.go v3 2026-05-10 02:13:42 +02:00
dist.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
inbound.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
index.go v3 2026-05-10 02:13:42 +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 fix: backup path with webbasepath (#4223) 2026-05-10 22:48:35 +02:00
setting.go v3 2026-05-10 02:13:42 +02:00
util.go v3 2026-05-10 02:13:42 +02:00
websocket.go v3 2026-05-10 02:13:42 +02:00
xray_setting.go feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00
xui.go feat(panel): in-panel API documentation page 2026-05-11 13:57:42 +02:00