mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-07-14 16:46:07 +00:00
ef8882a5c0
Multi-inbound clients showed online on every inbound they were attached to. Xray's user-level traffic stat aggregates across all inbounds a client belongs to, so the email signal alone can't say which inbound was used. Pair it with the inbound-level traffic signal under the same 20s grace and gate the per-inbound rollup on it: a client only shows online on inbounds that actually moved bytes this window. Remote nodes report no per-inbound activity and stay ungated (no regression). Adds GetActiveInboundsByNode, the activeInbounds WS field and POST /panel/api/clients/activeInbounds. Fixes #4859
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
export const keys = {
|
|
server: {
|
|
status: () => ['server', 'status'] as const,
|
|
},
|
|
nodes: {
|
|
root: () => ['nodes'] as const,
|
|
list: () => ['nodes', 'list'] as const,
|
|
},
|
|
settings: {
|
|
root: () => ['settings'] as const,
|
|
all: () => ['settings', 'all'] as const,
|
|
defaults: () => ['settings', 'defaults'] as const,
|
|
},
|
|
inbounds: {
|
|
root: () => ['inbounds'] as const,
|
|
slim: () => ['inbounds', 'slim'] as const,
|
|
options: () => ['inbounds', 'options'] as const,
|
|
},
|
|
clients: {
|
|
root: () => ['clients'] as const,
|
|
list: (params: unknown) => ['clients', 'list', params] as const,
|
|
all: () => ['clients', 'all'] as const,
|
|
onlines: () => ['clients', 'onlines'] as const,
|
|
onlinesByNode: () => ['clients', 'onlinesByNode'] as const,
|
|
activeInbounds: () => ['clients', 'activeInbounds'] as const,
|
|
lastOnline: () => ['clients', 'lastOnline'] as const,
|
|
groups: () => ['clients', 'groups'] as const,
|
|
},
|
|
xray: {
|
|
root: () => ['xray'] as const,
|
|
config: () => ['xray', 'config'] as const,
|
|
outboundsTraffic: () => ['xray', 'outboundsTraffic'] as const,
|
|
},
|
|
} as const;
|