mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-01 03:32:09 +03:00
feat(inbound): excludeFromSub hides links without disabling (#6463)
* feat(inbound): excludeFromSub hides links without disabling Add a per-inbound flag that omits subscription output while keeping the inbound enabled for Xray, auth, and traffic accounting. Fixes #6435. * fix(inbound): excludeFromSub review follow-ups gofumpt model.go, sync docs OpenAPI, keep excludeFromSub master-authored on node mirror, and exercise the legacy add-column migration path in tests. * fix(sub): keep excluded inbounds' clients in the usage header The excludeFromSub filter sat in getInboundsBySubId's SQL, so an excluded inbound's clients never reached seenEmails in the raw, Clash or JSON renderer. A client that lives only on a hidden inbound (one client per inbound sharing a subId) dropped out of the Subscription-Userinfo usage, quota and expiry and out of the info-node state, while the inbound kept serving it and counting its traffic. The query returns every enabled inbound again; each renderer skips an excluded inbound's links but still counts its clients, the same rule the Clash renderer already applies to external links it cannot express. --------- Co-authored-by: mrchatam <mrchatam@users.noreply.github.com> Co-authored-by: MHSanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
@@ -3054,6 +3054,11 @@
|
||||
"example": true,
|
||||
"type": "boolean"
|
||||
},
|
||||
"excludeFromSub": {
|
||||
"description": "Whether to omit this inbound from subscription output while keeping it operational",
|
||||
"example": false,
|
||||
"type": "boolean"
|
||||
},
|
||||
"expiryTime": {
|
||||
"description": "Expiration timestamp",
|
||||
"format": "int64",
|
||||
@@ -3177,6 +3182,7 @@
|
||||
"disableFlow",
|
||||
"down",
|
||||
"enable",
|
||||
"excludeFromSub",
|
||||
"expiryTime",
|
||||
"id",
|
||||
"lastTrafficResetTime",
|
||||
@@ -5162,6 +5168,7 @@
|
||||
"disableFlow": false,
|
||||
"down": 0,
|
||||
"enable": true,
|
||||
"excludeFromSub": false,
|
||||
"expiryTime": 0,
|
||||
"fallbackParent": null,
|
||||
"id": 1,
|
||||
@@ -16250,6 +16257,7 @@
|
||||
"disableFlow": false,
|
||||
"down": 0,
|
||||
"enable": true,
|
||||
"excludeFromSub": false,
|
||||
"expiryTime": 0,
|
||||
"fallbackParent": null,
|
||||
"id": 1,
|
||||
|
||||
Reference in New Issue
Block a user