feat(settings): add subscription format controls

This commit is contained in:
Tomilla
2026-07-06 10:02:04 +08:00
parent 5a7b3b7370
commit 8bb9a8c6d5
32 changed files with 926 additions and 23 deletions
+50
View File
@@ -169,6 +169,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "SSL certificate file for subscription server",
"type": "string"
},
"subClashAutoDetect": {
"description": "Opt in to serving Clash YAML from the standard subscription URL for recognized Clash/Mihomo/Stash User-Agents; browsers and other clients keep existing responses",
"type": "boolean"
},
"subClashEnable": {
"description": "Enable Clash/Mihomo subscription endpoint",
"type": "boolean"
@@ -189,6 +193,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "Clash/Mihomo subscription server URI",
"type": "string"
},
"subClashUserAgentRegex": {
"description": "Go RE2 regular expression used to recognize Clash/Mihomo clients on the standard subscription URL",
"type": "string"
},
"subDomain": {
"description": "Domain for subscription server validation",
"type": "string"
@@ -217,6 +225,14 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "Incy routing deep-link injected into the subscription body (Only for Incy)",
"type": "string"
},
"subJsonAlwaysArray": {
"description": "Always return JSON subscriptions as an array, including single-profile responses",
"type": "boolean"
},
"subJsonAutoDetect": {
"description": "Opt in to serving Xray JSON from the standard subscription URL for recognized compatible User-Agents",
"type": "boolean"
},
"subJsonEnable": {
"description": "Enable JSON subscription endpoint",
"type": "boolean"
@@ -240,6 +256,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "JSON subscription server URI",
"type": "string"
},
"subJsonUserAgentRegex": {
"description": "Go RE2 regular expression used to recognize Xray JSON subscription clients",
"type": "string"
},
"subKeyFile": {
"description": "SSL private key file for subscription server",
"type": "string"
@@ -433,11 +453,13 @@ export const SCHEMAS: Record<string, unknown> = {
"smtpUsername",
"subAnnounce",
"subCertFile",
"subClashAutoDetect",
"subClashEnable",
"subClashEnableRouting",
"subClashPath",
"subClashRules",
"subClashURI",
"subClashUserAgentRegex",
"subDomain",
"subEnable",
"subEnableRouting",
@@ -445,12 +467,15 @@ export const SCHEMAS: Record<string, unknown> = {
"subHideSettings",
"subIncyEnableRouting",
"subIncyRoutingRules",
"subJsonAlwaysArray",
"subJsonAutoDetect",
"subJsonEnable",
"subJsonFinalMask",
"subJsonMux",
"subJsonPath",
"subJsonRules",
"subJsonURI",
"subJsonUserAgentRegex",
"subKeyFile",
"subListen",
"subPath",
@@ -678,6 +703,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "SSL certificate file for subscription server",
"type": "string"
},
"subClashAutoDetect": {
"description": "Opt in to serving Clash YAML from the standard subscription URL for recognized Clash/Mihomo/Stash User-Agents; browsers and other clients keep existing responses",
"type": "boolean"
},
"subClashEnable": {
"description": "Enable Clash/Mihomo subscription endpoint",
"type": "boolean"
@@ -698,6 +727,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "Clash/Mihomo subscription server URI",
"type": "string"
},
"subClashUserAgentRegex": {
"description": "Go RE2 regular expression used to recognize Clash/Mihomo clients on the standard subscription URL",
"type": "string"
},
"subDomain": {
"description": "Domain for subscription server validation",
"type": "string"
@@ -726,6 +759,14 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "Incy routing deep-link injected into the subscription body (Only for Incy)",
"type": "string"
},
"subJsonAlwaysArray": {
"description": "Always return JSON subscriptions as an array, including single-profile responses",
"type": "boolean"
},
"subJsonAutoDetect": {
"description": "Opt in to serving Xray JSON from the standard subscription URL for recognized compatible User-Agents",
"type": "boolean"
},
"subJsonEnable": {
"description": "Enable JSON subscription endpoint",
"type": "boolean"
@@ -749,6 +790,10 @@ export const SCHEMAS: Record<string, unknown> = {
"description": "JSON subscription server URI",
"type": "string"
},
"subJsonUserAgentRegex": {
"description": "Go RE2 regular expression used to recognize Xray JSON subscription clients",
"type": "string"
},
"subKeyFile": {
"description": "SSL private key file for subscription server",
"type": "string"
@@ -949,11 +994,13 @@ export const SCHEMAS: Record<string, unknown> = {
"smtpUsername",
"subAnnounce",
"subCertFile",
"subClashAutoDetect",
"subClashEnable",
"subClashEnableRouting",
"subClashPath",
"subClashRules",
"subClashURI",
"subClashUserAgentRegex",
"subDomain",
"subEnable",
"subEnableRouting",
@@ -961,12 +1008,15 @@ export const SCHEMAS: Record<string, unknown> = {
"subHideSettings",
"subIncyEnableRouting",
"subIncyRoutingRules",
"subJsonAlwaysArray",
"subJsonAutoDetect",
"subJsonEnable",
"subJsonFinalMask",
"subJsonMux",
"subJsonPath",
"subJsonRules",
"subJsonURI",
"subJsonUserAgentRegex",
"subKeyFile",
"subListen",
"subPath",