merge fix/settings-trim: dead settings, upstream remnants, JSON/Clash subscriptions removed
# Conflicts: # frontend/src/models/setting.ts # frontend/src/pages/settings/GeneralTab.tsx # frontend/src/pages/settings/SettingsPage.tsx # frontend/src/pages/settings/SubscriptionBalancersTab.tsx # frontend/src/pages/xray/outbounds/OutboundsTab.css # frontend/src/schemas/setting.ts
This commit is contained in:
@@ -9,22 +9,11 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"ipLimitAllowlist": {
|
||||
"type": "string"
|
||||
},
|
||||
"outboundDownThreshold": {
|
||||
"maximum": 100,
|
||||
"minimum": 1,
|
||||
"type": "integer"
|
||||
},
|
||||
"pageSize": {
|
||||
"maximum": 1000,
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"panelOutbound": {
|
||||
"type": "string"
|
||||
},
|
||||
"remarkTemplate": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -42,21 +31,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subCertFile": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashAutoDetect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subClashEnable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subClashPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashURI": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashUserAgentRegex": {
|
||||
"type": "string"
|
||||
},
|
||||
"subDomain": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -69,33 +43,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subHideSettings": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonAlwaysArray": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonAutoDetect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonEnable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonFinalMask": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonMux": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonObservatory": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonURI": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonUserAgentRegex": {
|
||||
"type": "string"
|
||||
},
|
||||
"subKeyFile": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -120,9 +67,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subSupportUrl": {
|
||||
"type": "string"
|
||||
},
|
||||
"subThemeDir": {
|
||||
"type": "string"
|
||||
},
|
||||
"subTitle": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -214,33 +158,16 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"required": [
|
||||
"datepicker",
|
||||
"expireDiff",
|
||||
"ipLimitAllowlist",
|
||||
"outboundDownThreshold",
|
||||
"pageSize",
|
||||
"panelOutbound",
|
||||
"remarkTemplate",
|
||||
"restartXrayOnClientDisable",
|
||||
"sessionMaxAge",
|
||||
"subAnnounce",
|
||||
"subCertFile",
|
||||
"subClashAutoDetect",
|
||||
"subClashEnable",
|
||||
"subClashPath",
|
||||
"subClashURI",
|
||||
"subClashUserAgentRegex",
|
||||
"subDomain",
|
||||
"subEnable",
|
||||
"subEncrypt",
|
||||
"subHideSettings",
|
||||
"subJsonAlwaysArray",
|
||||
"subJsonAutoDetect",
|
||||
"subJsonEnable",
|
||||
"subJsonFinalMask",
|
||||
"subJsonMux",
|
||||
"subJsonObservatory",
|
||||
"subJsonPath",
|
||||
"subJsonURI",
|
||||
"subJsonUserAgentRegex",
|
||||
"subKeyFile",
|
||||
"subListen",
|
||||
"subPath",
|
||||
@@ -248,7 +175,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subProfileUrl",
|
||||
"subShowIdentityOnAllLinks",
|
||||
"subSupportUrl",
|
||||
"subThemeDir",
|
||||
"subTitle",
|
||||
"subURI",
|
||||
"subUpdates",
|
||||
@@ -298,22 +224,11 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"hasWarpSecret": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"ipLimitAllowlist": {
|
||||
"type": "string"
|
||||
},
|
||||
"outboundDownThreshold": {
|
||||
"maximum": 100,
|
||||
"minimum": 1,
|
||||
"type": "integer"
|
||||
},
|
||||
"pageSize": {
|
||||
"maximum": 1000,
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"panelOutbound": {
|
||||
"type": "string"
|
||||
},
|
||||
"remarkTemplate": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -331,21 +246,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subCertFile": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashAutoDetect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subClashEnable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subClashPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashURI": {
|
||||
"type": "string"
|
||||
},
|
||||
"subClashUserAgentRegex": {
|
||||
"type": "string"
|
||||
},
|
||||
"subDomain": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -358,33 +258,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subHideSettings": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonAlwaysArray": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonAutoDetect": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonEnable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"subJsonFinalMask": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonMux": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonObservatory": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonURI": {
|
||||
"type": "string"
|
||||
},
|
||||
"subJsonUserAgentRegex": {
|
||||
"type": "string"
|
||||
},
|
||||
"subKeyFile": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -409,9 +282,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subSupportUrl": {
|
||||
"type": "string"
|
||||
},
|
||||
"subThemeDir": {
|
||||
"type": "string"
|
||||
},
|
||||
"subTitle": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -507,33 +377,16 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"hasNordSecret",
|
||||
"hasTgBotToken",
|
||||
"hasWarpSecret",
|
||||
"ipLimitAllowlist",
|
||||
"outboundDownThreshold",
|
||||
"pageSize",
|
||||
"panelOutbound",
|
||||
"remarkTemplate",
|
||||
"restartXrayOnClientDisable",
|
||||
"sessionMaxAge",
|
||||
"subAnnounce",
|
||||
"subCertFile",
|
||||
"subClashAutoDetect",
|
||||
"subClashEnable",
|
||||
"subClashPath",
|
||||
"subClashURI",
|
||||
"subClashUserAgentRegex",
|
||||
"subDomain",
|
||||
"subEnable",
|
||||
"subEncrypt",
|
||||
"subHideSettings",
|
||||
"subJsonAlwaysArray",
|
||||
"subJsonAutoDetect",
|
||||
"subJsonEnable",
|
||||
"subJsonFinalMask",
|
||||
"subJsonMux",
|
||||
"subJsonObservatory",
|
||||
"subJsonPath",
|
||||
"subJsonURI",
|
||||
"subJsonUserAgentRegex",
|
||||
"subKeyFile",
|
||||
"subListen",
|
||||
"subPath",
|
||||
@@ -541,7 +394,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
"subProfileUrl",
|
||||
"subShowIdentityOnAllLinks",
|
||||
"subSupportUrl",
|
||||
"subThemeDir",
|
||||
"subTitle",
|
||||
"subURI",
|
||||
"subUpdates",
|
||||
@@ -2921,71 +2773,6 @@ export const SCHEMAS: Record<string, unknown> = {
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SubBalancer": {
|
||||
"description": "SubBalancer is one extra JSON-subscription config document whose members are\nthe selected inbounds' proxy outbounds. SortOrder shares SubSortIndex semantics.",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"example": 1710000000000,
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
},
|
||||
"enabled": {
|
||||
"description": "No gorm default:true — a bool default makes an explicit false at insert\ncollapse back to the column default (zero value is skipped).",
|
||||
"example": true,
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"example": 1,
|
||||
"type": "integer"
|
||||
},
|
||||
"inboundIds": {
|
||||
"example": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"items": {
|
||||
"type": "integer"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"remark": {
|
||||
"example": "auto-fastest",
|
||||
"maxLength": 256,
|
||||
"type": "string"
|
||||
},
|
||||
"sortOrder": {
|
||||
"example": 1,
|
||||
"minimum": 1,
|
||||
"type": "integer"
|
||||
},
|
||||
"strategy": {
|
||||
"enum": [
|
||||
"leastLoad",
|
||||
"leastPing",
|
||||
"random",
|
||||
"roundRobin"
|
||||
],
|
||||
"example": "random",
|
||||
"type": "string"
|
||||
},
|
||||
"updatedAt": {
|
||||
"example": 1710000000000,
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"createdAt",
|
||||
"enabled",
|
||||
"id",
|
||||
"inboundIds",
|
||||
"remark",
|
||||
"sortOrder",
|
||||
"strategy",
|
||||
"updatedAt"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"User": {
|
||||
"description": "User represents a user account in the 3x-ui panel.",
|
||||
"properties": {
|
||||
|
||||
Reference in New Issue
Block a user