From 8e187f65392a516194332517b064e5f15b6b746d Mon Sep 17 00:00:00 2001 From: dongchengjie <37543964+dongchengjie@users.noreply.github.com> Date: Fri, 24 May 2024 22:55:21 +0800 Subject: [PATCH] chore: use json-schema-artifact --- .../workflows/{release_on_tag.yml => ci.yml} | 5 +- .gitignore | 2 - .npmignore | 3 +- .vscode/settings.json | 5 +- README.md | 8 +- json-schema-artifact.json | 25 ++ package-lock.json | 240 +++++++++++++++++- package.json | 30 +-- schemas/clash-verge-merge-json-schema.json | 2 +- schemas/meta-json-schema.json | 2 +- scripts/release.mjs | 29 --- scripts/util/bundle.mjs | 91 ------- scripts/util/env.mjs | 9 - scripts/util/file.mjs | 13 - scripts/watch.mjs | 28 -- 15 files changed, 277 insertions(+), 215 deletions(-) rename .github/workflows/{release_on_tag.yml => ci.yml} (92%) create mode 100644 json-schema-artifact.json delete mode 100644 scripts/release.mjs delete mode 100644 scripts/util/bundle.mjs delete mode 100644 scripts/util/env.mjs delete mode 100644 scripts/util/file.mjs delete mode 100644 scripts/watch.mjs diff --git a/.github/workflows/release_on_tag.yml b/.github/workflows/ci.yml similarity index 92% rename from .github/workflows/release_on_tag.yml rename to .github/workflows/ci.yml index ccac3bc..0b4bd2c 100644 --- a/.github/workflows/release_on_tag.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Release On Tag +name: release on tag on: push: @@ -8,7 +8,7 @@ on: permissions: write-all jobs: - bundle_on_commit: + release-on-tag: runs-on: ubuntu-latest steps: - name: Checkout @@ -33,7 +33,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - body_path: ${{ github.workspace }}/CHANGELOG prerelease: false make_latest: true files: | diff --git a/.gitignore b/.gitignore index 700b805..3c3629e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -.temp node_modules -CHANGELOG diff --git a/.npmignore b/.npmignore index 5365bd6..e7737bb 100644 --- a/.npmignore +++ b/.npmignore @@ -1,10 +1,9 @@ .gitattributes .github .prettierrc -.temp .vscode +json-schema-artifact.json node_modules scripts src test -CHANGELOG diff --git a/.vscode/settings.json b/.vscode/settings.json index bdd8004..a5c19ab 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,9 +11,9 @@ ], "yaml.schemas": { // test/clash-meta 目录的 YAML 文件使用编译后的 meta-json-schema.json - ".temp/meta-json-schema.json": "test/clash-meta/**/*.yaml", + "schemas/meta-json-schema.json": "test/clash-meta/**/*.yaml", // test/clash-verge 目录的 YAML 文件使用编译后的 clash-verge-merge-json-schema.json - ".temp/clash-verge-merge-json-schema.json": "test/clash-verge/**/*.yaml" + "schemas/clash-verge-merge-json-schema.json": "test/clash-verge/**/*.yaml" }, // 使用两空格缩进 "editor.tabSize": 2, @@ -25,7 +25,6 @@ // 搜索排除下列目录 "search.exclude": { "node_modules": true, // 忽略模块目录 - ".temp": true, // 忽略编译输出目录 "schemas": true // 忽略构建发布目录 } } diff --git a/README.md b/README.md index 64cc23e..2ce46dd 100644 --- a/README.md +++ b/README.md @@ -105,18 +105,18 @@ code /path/to/project/location npm install ``` -4. 启动项目。执行下列命令后,会对`src`目录进行监视,如果发生变动则会对项目进行bundle,输出到`.temp`目录下。 +4. 启动项目。执行下列命令后,会对`src`目录进行监视,如果发生变动则会对项目进行bundle,输出到`schemas`目录下。 ```bash npm run dev ``` -5. 测试schema。由于`.vscode`目录下`settings.json`中已事先配置了如下配置(`test`目录下的文件使用`.temp`目录下输出的schema文件)。因此可以对`src`进行修改,并在`test`目录下新增测试文件,及时观察变动并做出修正。 +5. 测试schema。由于`.vscode`目录下`settings.json`中已事先配置了如下配置(`test`目录下的文件使用`schemas`目录下输出的schema文件)。因此可以对`src`进行修改,并在`test`目录下新增测试文件,及时观察变动并做出修正。 ```json "yaml.schemas": { - ".temp/meta-json-schema.json": "test/clash-meta/**/*.yaml", - ".temp/clash-verge-merge-json-schema.json": "test/clash-verge/**/*.yaml" + "schemas/meta-json-schema.json": "test/clash-meta/**/*.yaml", + "schemas/clash-verge-merge-json-schema.json": "test/clash-verge/**/*.yaml" }, ``` diff --git a/json-schema-artifact.json b/json-schema-artifact.json new file mode 100644 index 0000000..2221575 --- /dev/null +++ b/json-schema-artifact.json @@ -0,0 +1,25 @@ +{ + "$schema": "node_modules/json-schema-artifact/schema/json-schema-artifact.json", + "watch": [ + { + "dir": "src", + "recursive": true + } + ], + "build": { + "target": [ + { + "input": "src/meta-json-schema.json", + "output": "schemas/meta-json-schema.json" + }, + { + "input": "src/clash-verge-merge-json-schema.json", + "output": "schemas/clash-verge-merge-json-schema.json" + } + ], + "optimize": { + "format": "minify", + "refsDerefer": true + } + } +} diff --git a/package-lock.json b/package-lock.json index dde3f85..3c4c78a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,15 @@ { "name": "meta-json-schema", - "version": "1.18.5-alpha", + "version": "1.18.5-alpha2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meta-json-schema", - "version": "1.18.5-alpha", + "version": "1.18.5-alpha2", "license": "MIT", "devDependencies": { - "@apidevtools/json-schema-ref-parser": "^11.6.2", - "prettier": "^3.2.5" + "json-schema-artifact": "^1.0.0" } }, "node_modules/@apidevtools/json-schema-ref-parser": { @@ -42,12 +41,121 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -60,6 +168,33 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-schema-artifact": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-artifact/-/json-schema-artifact-1.0.0.tgz", + "integrity": "sha512-ahX1GfTMheEzxfN4AcjMptcvnFdOBUYWe5+IYVvSZ1Dk4EoWb9Jkeu+INrZ4wGKy8zIQ57CBbWmQ+q92vRa5xQ==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.6.2", + "fs-extra": "^11.2.0", + "prettier": "^3.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "json-schema-artifact": "bin/index.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/prettier": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", @@ -74,6 +209,103 @@ "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } } } } diff --git a/package.json b/package.json index a100abf..7f0b32d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meta-json-schema", - "version": "1.18.5-alpha", + "version": "1.18.5-alpha2", "description": "JSON Schema for Clash Meta", "keywords": [ "clash", @@ -20,31 +20,11 @@ "url": "https://github.com/dongchengjie/meta-json-schema" }, "scripts": { - "dev": "node ./scripts/watch.mjs", - "release": "node ./scripts/release.mjs" - }, - "config": { - "watches": [ - "./src/meta-json-schema.json", - "./src/clash-verge-merge-json-schema.json" - ], - "releases": [ - { - "enabled": true, - "source": "./src/meta-json-schema.json", - "target": "./schemas/meta-json-schema.json", - "optimization": true - }, - { - "enabled": true, - "source": "./src/clash-verge-merge-json-schema.json", - "target": "./schemas/clash-verge-merge-json-schema.json", - "optimization": true - } - ] + "dev": "npx json-schema-artifact --watch", + "release": "npx json-schema-artifact", + "preview": "npm publish --dry-run" }, "devDependencies": { - "@apidevtools/json-schema-ref-parser": "^11.6.2", - "prettier": "^3.2.5" + "json-schema-artifact": "^1.0.0" } } diff --git a/schemas/clash-verge-merge-json-schema.json b/schemas/clash-verge-merge-json-schema.json index 274551d..f805cb7 100644 --- a/schemas/clash-verge-merge-json-schema.json +++ b/schemas/clash-verge-merge-json-schema.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/clash-verge-rev/clash-verge-rev/schemas/clash-verge-merge-json-schema.json","type":"object","title":"Clash Verge Merge Config","additionalProperties":true,"definitions":{"meta-json-schema":{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/MetaCubeX/meta-json-schema/schemas/meta-json-schema.json","type":"object","title":"Clash Meta Config","additionalProperties":true,"definitions":{"experimental":{"type":"object","title":"实验性内容配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"quic-go-disable-gso":{"type":"boolean","title":"quic-go禁用GSO","description":"quic禁用GSO(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量QUIC_GO_DISABLE_GSO=1)","markdownDescription":"quic禁用`GSO`(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量`QUIC_GO_DISABLE_GSO=1`)"},"quic-go-disable-ecn":{"type":"boolean","title":"quic-go禁用ECN","description":"quic禁用ECN(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","markdownDescription":"quic禁用`ECN`(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","default":true},"dialer-ip4p-convert":{"type":"boolean","title":"启用IP4P地址转换","description":"NATMap可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。","markdownDescription":"`NATMap`可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。"}}},"profile":{"type":"object","title":"缓存配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"store-selected":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":true},"store-fake-ip":{"type":"boolean","title":"持久化缓存fake-ip映射表","description":"缓存fake-ip映射表,域名再次发生连接时,使用原有映射地址","markdownDescription":"缓存`fake-ip`映射表,域名再次发生连接时,使用原有映射地址","default":false}}},"iptables":{"type":"object","title":"iptables配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":false},"inbound-interface":{"type":"string","title":"入站接口","description":"入站规则将仅应用于哪个接口(默认本地环回接口)","markdownDescription":"入站规则将仅应用于哪个接口(默认本地环回接口)","default":"lo"},"bypass":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"需要绕过iptables规则的IP地址或网段列表","description":"需要绕过iptables规则的IP地址或网段列表","markdownDescription":"需要绕过`iptables`规则的IP地址或网段列表","default":[]},"dns-redirect":{"type":"boolean","title":"DNS重定向","description":"DNS重定向","markdownDescription":"DNS重定向","default":true}}},"tls":{"type":"object","title":"TLS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"custom-certifactes":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自定义证书列表","description":"自定义证书列表","markdownDescription":"自定义证书列表"}}},"general":{"type":"object","title":"全局配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"inbound":{"type":"object","title":"inbound配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)代理端口","description":"HTTP(S)代理端口","markdownDescription":"`HTTP(S)`代理端口"},"socks-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"SOCKS代理端口","description":"SOCKS代理端口","markdownDescription":"`SOCKS`代理端口"},"redir-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux和MacOS","markdownDescription":"用于`Linux`和`MacOS`"},"tproxy-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux(TProxy TCP 和 TProxy UDP)","markdownDescription":"用于`Linux`(TProxy TCP 和 TProxy UDP)"},"mixed-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)和SOCKS代理混合端口","description":"HTTP(S)和SOCKS代理混合端口","markdownDescription":"`HTTP(S)`和`SOCKS`代理混合端口","default":7890},"ss-config":{"type":"string","title":"shadowsocks配置","description":"根据配置(URL格式)启动shadowsocks服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动shadowsocks服务器,并添加到listeners"},"vmess-config":{"type":"string","title":"vmess配置","description":"根据配置(URL格式)启动vmess服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动vmess服务器,并添加到listeners"},"allow-lan":{"type":"boolean","title":"允许局域网","description":"允许其他设备经过内核的代理端口访问互联网","markdownDescription":"允许其他设备经过内核的代理端口访问互联网","default":false},"skip-auth-prefixes":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许跳过验证的IP段","description":"允许跳过验证的IP段","markdownDescription":"允许跳过验证的IP段"},"lan-allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许连接的IP地址段","description":"需要启用allow-lan","markdownDescription":"需要启用`allow-lan`","default":["0.0.0.0/0","::/0"]},"lan-disallowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"不允许连接的IP地址段","description":"需要启用allow-lan(优先级高于lan-allowed-ips)","markdownDescription":"需要启用`allow-lan`(优先级高于`lan-allowed-ips`)"},"bind-address":{"anyOf":[{"const":"*","title":"绑定所有 IP 地址","description":"允许其他设备通过所有地址访问","markdownDescription":"允许其他设备通过所有地址访问"},{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"绑定单个 IP 地址","description":"仅允许其他设备通过这个地址访问","markdownDescription":"仅允许其他设备通过这个地址访问"}]},"inbound-tfo":{"type":"boolean","title":"入站启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"inbound-mptcp":{"type":"boolean","title":"入站启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"}}},"controller":{"type":"object","title":"controller配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"external-controller":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTP)监听地址","description":"可以使用RESTful API来控制内核","markdownDescription":"可以使用RESTful API来控制内核"},"external-controller-tls":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTPS)监听地址","description":"可以使用RESTful API over HTTPS来控制内核","markdownDescription":"可以使用RESTful API over HTTPS来控制内核"},"external-controller-unix":{"type":"string","title":"外部控制器(Unix Socket)监听地址","description":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)","markdownDescription":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)"},"external-ui":{"type":"string","title":"外部用户界面路径(默认:工作目录/ui)","description":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)","markdownDescription":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)"},"external-ui-url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"外部用户界面下载地址","description":"外部用户界面下载地址","markdownDescription":"外部用户界面下载地址","default":"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"},"external-ui-name":{"type":"string","title":"外部用户界面下载目录","description":"下载时会下载到指定文件夹(默认下载到external-ui配置的目录)","markdownDescription":"下载时会下载到指定文件夹(默认下载到`external-ui`配置的目录)"},"secret":{"type":"string","title":"外部控制器RESTful API访问密钥","description":"请求头Authorization:Bearer ","markdownDescription":"请求头Authorization:Bearer <`secret`>"}}},"geox-url":{"type":"object","title":"geox-url配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"geoip":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geoip文件下载地址","description":"geoip文件下载地址","markdownDescription":"`geoip`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat"},"mmdb":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"mmdb文件下载地址","description":"mmdb文件下载地址","markdownDescription":"`mmdb`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"},"asn":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"asn文件下载地址","description":"asn文件下载地址","markdownDescription":"`asn`文件下载地址","default":"https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geosite文件下载地址","description":"geosite文件下载地址","markdownDescription":"`geosite`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat"}}},"ebpf":{"type":"object","title":"ebpf配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"redirect-to-tun":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"重定向到TUN接口列表","description":"支持TCP+UDP(使用该功能请勿启用auto-route)","markdownDescription":"支持TCP+UDP(使用该功能请勿启用`auto-route`)"},"auto-redir":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自动重定向接口列表","description":"仅支持TCP","markdownDescription":"仅支持TCP"}}}},"allOf":[{"title":"inbound配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/inbound"},{"title":"controller配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/controller"},{"properties":{"unified-delay":{"type":"boolean","title":"更换延迟计算方式","description":"去除握手等额外延迟","markdownDescription":"去除握手等额外延迟","default":false},"mode":{"enum":["global","rule","direct"],"markdownEnumDescriptions":["全局代理","规则匹配","全局直连"],"title":"运行模式","description":"运行模式","markdownDescription":"运行模式","default":"rule"},"log-level":{"enum":["debug","info","warning","error","silent"],"markdownEnumDescriptions":["尽可能的输出运行中所有的信息","输出一般运行的内容,以及`error`和`warning`级别的日志","输出发生错误但不影响运行的日志,以及`error`级别内容","仅输出发生错误至无法使用的日志","静默,不输出"],"title":"日志级别","description":"日志级别","markdownDescription":"日志级别","default":"info"},"ipv6":{"type":"boolean","title":"是否允许内核接受IPv6流量","description":"是否允许内核接受IPv6流量","markdownDescription":"是否允许内核接受`IPv6`流量","default":true},"interface-name":{"type":"string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"geox-url":{"title":"geox-url配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/geox-url"},"geo-auto-update":{"type":"boolean","title":"Geo自动更新","description":"Geo自动更新","markdownDescription":"Geo自动更新","default":false},"geo-update-interval":{"type":"integer","title":"Geo自动更新间隔","description":"单位:h","markdownDescription":"单位:h","default":24},"geodata-mode":{"type":"boolean","title":"GeoIP数据模式","description":"更改geoip使用文件(true: dat, false: mmdb)","markdownDescription":"更改geoip使用文件(true: dat, false: mmdb)","default":false},"geodata-loader":{"enum":["standard","memconservative","memc"],"markdownEnumDescriptions":["标准加载器","专为内存受限(小内存)设备优化的加载器","`memconservative`的别名"],"title":"Geo文件加载器","description":"Geo文件加载器","markdownDescription":"Geo文件加载器","default":"memconservative"},"geosite-matcher":{"enum":["mph","hybrid","succinct"],"markdownEnumDescriptions":["根据Geosite规则中的域名或IP地址信息,将匹配的网络流量代理到指定的目标服务器","根据域名、IP地址和CIDR地址等规则进行匹配,并根据预定义的优先级来选择最佳的匹配结果","使用了一种紧凑的数据结构,可以有效地存储和查询大量的Geosite规则"],"title":"Geosite匹配器","description":"Geosite匹配器","markdownDescription":"Geosite匹配器","default":"succinct"},"tcp-concurrent":{"type":"boolean","title":"TCP并发","description":"TCP并发","markdownDescription":"TCP并发","default":false},"find-process-mode":{"enum":["always","strict","off"],"markdownEnumDescriptions":["强制匹配所有进程","由内核判断是否开启","不匹配进程,推荐在路由器上使用此模式"],"title":"进程匹配模式","description":"进程匹配模式","markdownDescription":"进程匹配模式","default":"strict"},"ebpf":{"title":"ebpf配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/ebpf"},"global-client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"全局客户端指纹","description":"支持协议有VLESS,Vmess,trojan","markdownDescription":"支持协议有`VLESS`,`Vmess`,`trojan`"},"global-ua":{"type":"string","title":"全局UA","description":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","markdownDescription":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","default":"clash.meta"}}}]},"proxies":{"$ref":"#/definitions/proxies"},"proxy-providers":{"$ref":"#/definitions/proxy-providers"},"proxy-groups":{"$ref":"#/definitions/proxy-groups"},"listeners":{"type":"array","title":"listeners配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"socks":{"type":"object","title":"inbound-socks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"socks配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"http":{"type":"object","title":"inbound-http","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"http配置","properties":{}}]},"tproxy":{"type":"object","title":"inbound-tproxy","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tproxy配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"redir":{"type":"object","title":"inbound-redir","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"redir配置","properties":{}}]},"mixed":{"type":"object","title":"inbound-mixed","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"mixed配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"tunnel":{"type":"object","title":"inbound-tunnel","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tunnel配置","required":["network","target"],"properties":{"network":{"type":"array","title":"传输协议","description":"传输协议","markdownDescription":"传输协议","items":{"enum":["tcp","udp"]}},"target":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"目标地址","description":"目标地址","markdownDescription":"目标地址"}}}]},"tun":{"type":"object","title":"inbound-tun","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tun配置","properties":{"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["可以提供更稳定/全面的tun体验,且占用相对其他堆栈更低","通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入tun网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"DNS劫持IPv4地址()","description":"53端口","markdownDescription":"53端口","deprecationMessage":"已弃用"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"DNS劫持IPv6地址()","description":"53端口","markdownDescription":"53端口"},"strict-route":{"type":"boolean","title":"严格路由","description":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","markdownDescription":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}}]},"shadowsocks":{"type":"object","title":"inbound-shadowsocks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"inbound-base","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["name"],"properties":{"name":{"type":"string","title":"名称","description":"名称","markdownDescription":"名称"},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"监听地址","description":"监听地址","markdownDescription":"监听地址","default":"0.0.0.0"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"监听端口","description":"监听端口","markdownDescription":"监听端口"},"rule":{"type":"string","title":"出站规则","description":"使用子规则作为入站匹配规则出站","markdownDescription":"使用子规则作为入站匹配规则出站"},"proxy":{"type":"string","title":"出站代理","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为proxy-groups,proxy的name"}}},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"string","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"integer","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option/definitions/brutal"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"shadowsocks配置","required":["password","cipher"],"properties":{"password":{"type":"string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"vmess":{"type":"object","title":"inbound-vmess","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"},"vmess-user":{"type":"object","title":"vmess用户","required":["uuid","alterId"],"properties":{"username":{"type":"string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"type":"integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"vmess配置","required":["users"],"properties":{"users":{"type":"array","title":"用户列表","description":"用户列表","markdownDescription":"用户列表","items":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/vmess/definitions/vmess-user"}},"ws-path":{"type":"string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"hysteria2":{"type":"object","title":"inbound-hysteria2","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"hysteria2配置","required":["certificate","private-key"],"properties":{"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"type":"string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"ignore-client-bandwidth":{"type":"boolean","title":"忽略客户端带宽","description":"启用后使服务器忽略任何客户端设置的带宽提示,使用传统的BBR拥塞控制算法","markdownDescription":"启用后使服务器忽略任何客户端设置的带宽带宽提示,使用传统的BBR拥塞控制算法"},"masquerade":{"$ref":"#/definitions/rule-providers/definitions/patterns/url","title":"伪装流量url","description":"支持file://、http://、https://","markdownDescription":"支持`file://`、`http://`、`https://`"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"type":"integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"tuic":{"type":"object","title":"inbound-tuic","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tuic配置","required":["certificate","private-key"],"properties":{"token":{"type":"string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]}},"items":{"anyOf":[{"type":"object","title":"socks配置","properties":{"type":{"title":"socks配置","const":"socks"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/socks"},{"type":"object","title":"http配置","properties":{"type":{"title":"socks配置","const":"http"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/http"},{"type":"object","title":"tproxy配置","properties":{"type":{"title":"tproxy配置","const":"tproxy"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tproxy"},{"type":"object","title":"redir配置","properties":{"type":{"title":"redir配置","const":"redir"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/redir"},{"type":"object","title":"mixed配置","properties":{"type":{"title":"mixed配置","const":"mixed"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/mixed"},{"type":"object","title":"tunnel配置","properties":{"type":{"title":"tunnel配置","const":"tunnel"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tunnel"},{"type":"object","title":"TUN配置","properties":{"type":{"title":"TUN配置","const":"tun"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tun"},{"type":"object","title":"shadowsocks配置","properties":{"type":{"title":"shadowsocks配置","const":"shadowsocks"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks"},{"type":"object","title":"vmess配置","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/vmess"},{"type":"object","title":"hysteria2配置","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/hysteria2"},{"type":"object","title":"tuic配置","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tuic"}]}},"rule-providers":{"$ref":"#/definitions/rule-providers"},"sub-rules":{"type":"object","title":"子规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"$ref":"#/definitions/rules/definitions/rule"}},"additionalProperties":{"type":"array","items":{"$ref":"#/definitions/rules/definitions/rule"}}},"rules":{"$ref":"#/definitions/rules"},"hosts":{"type":"object","title":"hosts配置","description":"key: value格式(域名支持通配)","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"ntp":{"type":"object","title":"NTP配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用NTP","description":"NTP(Network Time Protocol),用于同步计算机系统时钟的网络协议","markdownDescription":"`NTP`(Network Time Protocol),用于同步计算机系统时钟的网络协议","default":false},"server":{"type":"string","title":"NTP服务器地址","description":"NTP服务器地址","markdownDescription":"`NTP`服务器地址","default":"time.apple.com"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"NTP服务器端口","description":"NTP服务器端口","markdownDescription":"`NTP`服务器端口","default":123},"interval":{"type":"integer","title":"同步时钟间隔","description":"单位:m","markdownDescription":"单位:m","default":30},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"write-to-system":{"type":"boolean","title":"同步至系统时间","description":"需要root/管理员权限","markdownDescription":"需要root/管理员权限"}}},"dns":{"type":"object","description":"DNS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用DNS","description":"关闭将使用系统DNS","markdownDescription":"关闭将使用系统DNS","default":false},"prefer-h3":{"type":"boolean","title":"启用DoH的HTTP/3支持","description":"启用DoH的HTTP/3支持","markdownDescription":"启用DoH的`HTTP/3`支持","default":false},"ipv6":{"type":"boolean","title":"是否解析IPV6","description":"如为false,则回应内容为AAAA的空解析","markdownDescription":"如为false,则回应内容为AAAA的空解析","default":false},"ipv6-timeout":{"type":"integer","title":"解析IPV6超时时间","description":"单位: ms","markdownDescription":"单位: ms","default":100},"use-hosts":{"type":"boolean","title":"启用配置中的hosts配置","description":"启用配置中的hosts配置","markdownDescription":"启用配置中的`hosts`配置","default":true},"use-system-hosts":{"type":"boolean","title":"查询系统hosts文件","description":"优先级低于配置中的hosts配置","markdownDescription":"优先级低于配置中的`hosts`配置","default":true},"nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"默认域名解析服务器","description":"支持UDP,TCP,DoT,DoH,DoQ","markdownDescription":"支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`","default":["https://doh.pub/dns-query","tls://223.5.5.5:853"]},"fallback":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"备用域名解析服务器","description":"一般情况下使用境外DNS服务器,保证结果可信","markdownDescription":"一般情况下使用境外DNS服务器,保证结果可信"},"fallback-filter":{"type":"object","title":"备用域名解析服务器过滤","description":"满足条件的将采用fallback的解析结果,或只采用fallback解析结果","markdownDescription":"满足条件的将采用`fallback`的解析结果,或只采用`fallback`解析结果","properties":{"geoip":{"type":"boolean","title":"启用fallback-filter","description":"启用fallback-filter","markdownDescription":"启用`fallback-filter`","default":true},"geoip-code":{"type":"string","title":"启用fallback-filter","description":"除geoip-code配置的国家IP外,其他IP结果会被视为污染。geoip-code对应国家的结果会直接采用,其余结果将采用fallback的解析结果","markdownDescription":"除`geoip-code`配置的国家IP外,其他IP结果会被视为污染。`geoip-code`对应国家的结果会直接采用,其余结果将采用`fallback`的解析结果","default":"CN"},"ipcidr":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"DNS污染网段列表","description":"这些网段的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些网段的结果会被视为污染,将采用`fallback`的解析结果"},"domain":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染域名列表","description":"这些域名的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些域名的结果会被视为污染,将采用`fallback`的解析结果"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染GeoSite列表","description":"这些GeoSite的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些[GeoSite](https://github.com/MetaCubeX/meta-rules-dat/tree/meta/geo/geosite)的结果会被视为污染,将采用`fallback`的解析结果","deprecationMessage":"使用nameserver-policy代替geosite(geosite将在未来移除)"}}},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"DNS服务器监听地址","description":"DNS服务器监听地址","markdownDescription":"DNS服务器监听地址","default":"127.0.0.1:53"},"enhanced-mode":{"enum":["normal","fake-ip","redir-host"],"markdownEnumDescriptions":["普通模式","fake-ip模式","redir-host模式"],"title":"增强模式","description":"DNS处理模式","markdownDescription":"DNS处理模式","default":"fake-ip"},"fake-ip-range":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"fake-ip的预留映射地址段","description":"TUN模式的网卡默认IP也使用此值作为参考","markdownDescription":"TUN模式的网卡默认IP也使用此值作为参考","default":"198.18.0.1/16"},"fake-ip-filter":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"fake-ip过滤","description":"哪些域名不使用fake-ip","markdownDescription":"哪些域名不使用`fake-ip`","default":["dns.msftnsci.com","www.msftnsci.com","www.msftconnecttest.com"]},"default-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"元域名解析服务器","description":"解析nameserver,fallback以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持UDP,TCP,DoT,DoH,DoQ)","markdownDescription":"解析`nameserver`,`fallback`以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`)","default":["114.114.114.114","223.5.5.5","8.8.8.8","1.0.0.1"]},"cache-algorithm":{"enum":["lru","arc"],"markdownEnumDescriptions":["最近最少使用","自适应替换缓存"],"title":"缓存算法","description":"缓存算法","markdownDescription":"缓存算法","default":"lru"},"nameserver-policy":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/rule-providers/definitions/types/stringArray"}]},"title":"DNS解析服务器策略","description":"指定地址使用特定DNS解析服务器","markdownDescription":"指定地址使用特定DNS解析服务器"},"proxy-server-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点DNS解析服务器","description":"用于解析代理节点的域名","markdownDescription":"用于解析代理节点的域名"}}},"tun":{"type":"object","title":"tun配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用TUN模式","description":"启用TUN模式","markdownDescription":"启用`TUN`模式","default":false},"device":{"type":"string","title":"指定tun网卡名称","description":"指定tun网卡名称(macOS强制为utun)","markdownDescription":"指定tun网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["可以提供更稳定/全面的tun体验,且占用相对其他堆栈更低","通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"DNS劫持IPv4地址()","description":"53端口","markdownDescription":"53端口"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"DNS劫持IPv6地址()","description":"53端口","markdownDescription":"53端口"},"strict-route":{"type":"boolean","title":"严格路由","description":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","markdownDescription":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}},"tuic-server":{"type":"object","title":"tuic-server配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"type":"integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/meta-json-schema/definitions/tuic-server/definitions/mux-option/definitions/brutal"}}}},"required":["enable","listen"],"properties":{"enable":{"type":"boolean","title":"启用tuic-server","description":"启用tuic-server","markdownDescription":"启用`tuic-server`"},"listen":{"type":"string","title":"监听地址","description":"多个使用,分隔","markdownDescription":"多个使用,分隔"},"token":{"type":"string","title":"Token","description":"Token","markdownDescription":"Token"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"congestion-controller":{"enum":["cubic","new_reno","bbr_meta_v1","bbr_meta_v2","bbr"],"markdownEnumDescriptions":["根据网络拥塞窗口的大小来调整传输速率,以使其在拥塞和非拥塞期间保持平衡","通过在网络发生拥塞时执行快速恢复和快速重传来改善数据传输性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","通过动态估计网络的带宽和往返时间(`RTT`),并根据这些信息来调整数据传输速率"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"max-datagram-frame-size":{"type":"integer","title":"最大数据帧大小","description":"不超过1400","markdownDescription":"不超过1400"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/tuic-server/definitions/mux-option"}}},"authentication":{"type":"array","title":"认证配置","description":"格式: <用户>:<密码>","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"tunnels":{"type":"array","description":"隧道配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"items":{"anyOf":[{"pattern":"^(tcp)?/?(udp)?(?:,[^,]+){2,3}$","errorMessage":"格式(,
,,[proxy])"},{"type":"object","properties":{"network":{"type":"array","items":{"enum":["tcp","udp"],"markdownEnumDescriptions":["tcp","udp"]},"title":"需要监听的网络类型","description":"可为tcp/udp","markdownDescription":"可为`tcp`/`udp`"},"address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"本地监听地址","description":"本地监听地址","markdownDescription":"本地监听地址"},"target":{"type":"string","title":"转发的目标地址","description":"转发的目标地址","markdownDescription":"转发的目标地址"},"proxy":{"type":"string","title":"经由代理","description":"经由某个proxy/proxy-group发送流量(可选)","markdownDescription":"经由某个`proxy`/`proxy-group`发送流量(可选)"}}}]}},"sniffer":{"type":"object","description":"域名嗅探配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用域名嗅探","description":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","markdownDescription":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","default":false},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问","description":"全局配置,优先级低于sniffer.sniff中的配置","markdownDescription":"全局配置,优先级低于`sniffer.sniff`中的配置","default":true},"force-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要强制嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"skip-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要跳过嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"sniffing":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"限制嗅探类型范围","description":"支持TLS,HTTP,QUIC","markdownDescription":"支持`TLS`,`HTTP`,`QUIC`","deprecationMessage":"推荐使用sniff"},"port-whitelist":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","title":"限制嗅探端口范围","description":"要求搭配sniffing使用(格式:80 或 80-88)","markdownDescription":"要求搭配`sniffing`使用(格式:`80` 或 `80-88`)","deprecationMessage":"推荐使用sniff"},"force-dns-mapping":{"type":"boolean","title":"启用redir-host强制嗅探","description":"对redir-host类型识别的流量进行强制嗅探","markdownDescription":"对`redir-host`类型识别的流量进行强制嗅探","default":true},"parse-pure-ip":{"type":"boolean","title":"启用未获取到域名强制嗅探","description":"对所有未获取到域名的流量进行强制嗅探","markdownDescription":"对所有未获取到域名的流量进行强制嗅探","default":true},"sniff":{"type":"object","title":"域名嗅探规则","description":"域名嗅探规则","markdownDescription":"域名嗅探规则","properties":{"TLS":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"HTTP":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"QUIC":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}}}}},"if":{"allOf":[{"properties":{"enable":{"const":true}}},{"properties":{"sniff":{"const":{}}}}]},"then":{"properties":{"enable":{"deprecationMessage":"未配置sniff配置"}}}}},"allOf":[{"type":"object","title":"实验性内容配置","properties":{"experimental":{"$ref":"#/definitions/meta-json-schema/definitions/experimental"}}},{"type":"object","title":"缓存配置","properties":{"profile":{"$ref":"#/definitions/meta-json-schema/definitions/profile"}}},{"type":"object","title":"iptables配置","properties":{"iptables":{"$ref":"#/definitions/meta-json-schema/definitions/iptables"}}},{"type":"object","title":"TLS配置","properties":{"tls":{"$ref":"#/definitions/meta-json-schema/definitions/tls"}}},{"title":"全局配置","$ref":"#/definitions/meta-json-schema/definitions/general"},{"type":"object","title":"代理配置","properties":{"proxies":{"$ref":"#/definitions/proxies"}}},{"type":"object","title":"代理集合配置","properties":{"proxy-providers":{"$ref":"#/definitions/proxy-providers"}}},{"type":"object","title":"代理组配置","properties":{"proxy-groups":{"$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"listeners配置","properties":{"listeners":{"$ref":"#/definitions/meta-json-schema/definitions/listeners"}}},{"type":"object","title":"规则集合配置","properties":{"rule-providers":{"$ref":"#/definitions/rule-providers"}}},{"type":"object","title":"子规则配置","properties":{"sub-rules":{"$ref":"#/definitions/meta-json-schema/definitions/sub-rules"}}},{"type":"object","title":"规则配置","properties":{"rules":{"$ref":"#/definitions/rules"}}},{"type":"object","title":"hosts配置","properties":{"hosts":{"$ref":"#/definitions/meta-json-schema/definitions/hosts"}}},{"type":"object","title":"NTP配置","properties":{"ntp":{"$ref":"#/definitions/meta-json-schema/definitions/ntp"}}},{"type":"object","title":"DNS配置","properties":{"dns":{"$ref":"#/definitions/meta-json-schema/definitions/dns"}}},{"type":"object","title":"TUN配置","properties":{"tun":{"$ref":"#/definitions/meta-json-schema/definitions/tun"}}},{"type":"object","title":"tuic-server配置","properties":{"tuic-server":{"$ref":"#/definitions/meta-json-schema/definitions/tuic-server"}}},{"type":"object","title":"认证配置","properties":{"authentication":{"$ref":"#/definitions/meta-json-schema/definitions/authentication"}}},{"type":"object","title":"隧道配置","properties":{"tunnels":{"$ref":"#/definitions/meta-json-schema/definitions/tunnels"}}},{"type":"object","title":"域名嗅探配置","properties":{"sniffer":{"$ref":"#/definitions/meta-json-schema/definitions/sniffer"}}}]},"proxies":{"type":"array","title":"代理配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"direct":{"type":"object","title":"outbound-direct","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"direct配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"dns":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocks":{"type":"object","title":"outbound-shadowsocks","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"simple-obfs-option":{"type":"object","title":"简易混淆配置","properties":{"mode":{"enums":["tls","http"],"title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"}}},"v2ray-obfs-option":{"type":"object","title":"v2ray混淆配置","required":["mode"],"properties":{"mode":{"const":"websocket","title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"mux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":true},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}},"shadow-tls-option":{"type":"object","title":"shadow-tls配置","required":["password","host"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"version":{"enum":[1,2,3],"title":"版本","description":"版本","markdownDescription":"版本","default":2}}},"restls-option":{"type":"object","title":"restls配置","required":["password","host","version-hint"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"version-hint":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"版本","description":"版本","markdownDescription":"版本"},"restls-script":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"Restls脚本","description":"Restls脚本隐藏代理流量行为","markdownDescription":"[Restls脚本隐藏代理流量行为](https://github.com/3andne/restls/blob/main/Restls-Script%3A%20Hide%20Your%20Proxy%20Traffic%20Behavior.md)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"shadowsocks配置","required":["name","server","port","password","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"plugin":{"enum":["obfs","v2ray-plugin","shadow-tls","restls"],"title":"插件","description":"插件","markdownDescription":"插件"},"udp-over-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over TCP","description":"启用UDP over TCP","markdownDescription":"启用UDP over TCP","default":false},"udp-over-tcp-version":{"enum":[0,1,2],"title":"UDP over TCP的协议版本","description":"UDP over TCP的协议版本","markdownDescription":"UDP over TCP的协议版本","default":2},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}},"allOf":[{"if":{"properties":{"plugin":{"const":"obfs"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"obfs插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"v2ray-plugin"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"v2ray-plugin插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/v2ray-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"shadow-tls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"shadow-tls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/shadow-tls-option"}}}},{"if":{"properties":{"plugin":{"const":"restls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"restls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/restls-option"}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocksr":{"type":"object","title":"outbound-shadowsocksr","definitions":{"compatible":{"string":{"anyOf":[{"type":"string"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"integer":{"anyOf":[{"type":"integer"},{"pattern":"^\\d+$"}]},"number":{"anyOf":[{"type":"number"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"boolean":{"anyOf":[{"type":"boolean"},{"pattern":"^(?i)(true|false)$"}]}},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"type":"object","title":"出站基本配置","properties":{"tfo":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"mptcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"dialer-proxy":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"}}},"smux":{"type":"object","description":"sing-mux多路复用配置","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":false},"protocol":{"enum":["smux","yamux","h2mux"],"markdownEnumDescriptions":["[smux](https://github.com/xtaci/smux)","[yamux](https://github.com/hashicorp/yamux)","[h2mux](https://pkg.go.dev/golang.org/x/net/http2)"],"title":"多路复用协议","description":"多路复用协议","markdownDescription":"多路复用协议","default":"h2mux"},"max-connections":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"min-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最小多路复用流数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"max-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最大多路复用流数量","description":"与max-connections, max-streams冲突"},"padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充","default":false},"brutal-opts":{"type":"object","title":"Brutal拥塞控制","description":"Brutal拥塞控制","markdownDescription":"[Brutal](https://github.com/apernet/tcp-brutal)拥塞控制","properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法","default":false},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}},"statistic":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"将底层连接显示在面板中","description":"方便打断底层连接","markdownDescription":"方便打断底层连接","default":false},"only-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"是否仅允许tcp","description":"smux配置将不会对udp生效(udp连接会直接走节点默认udp协议传输)","markdownDescription":"smux配置将不会对`udp`生效(udp连接会直接走节点默认`udp`协议传输)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port","password","cipher","obfs"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"obfs":{"enum":["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],"markdownEnumDescriptions":["不使用任何混淆方式(流量以明文形式传输)","将流量伪装成HTTP `GET`请求","将流量伪装成HTTP `POST`请求","在数据包的头部添加随机字节","将流量伪装成TLS 1.2通信","与`tls1.2_ticket_fastauth`类似,但在认证过程中使用了一种更快的认证方式,但可能牺牲了一些安全性"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法"},"protocol":{"enum":["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],"title":"认证协议","description":"认证协议","markdownDescription":"认证协议"}},"allOf":[{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"http_simple"},{"title":"混淆方法","const":"http_post"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"自定义伪装地址和请求体(定义多个使用,分隔并随机选取)","description":"格式: [#body],...","markdownDescription":"格式: <`host`>[#`body`],..."}}}},{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"tls1.2_ticket_auth"},{"title":"混淆方法","const":"tls1.2_ticket_fastauth"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义伪装地址(定义多个使用,分隔并随机选取)","description":"格式: ,...","markdownDescription":"格式: <`host`>,..."}}}},{"if":{"properties":{"protocol":{"anyOf":[{"title":"认证协议","const":"auth_aes128_sha1"},{"title":"认证协议","const":"auth_chain_a"}]}}},"then":{"properties":{"protocol-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义用户ID:密钥(定义多个使用,分隔并随机选取)","description":"格式: :,...","markdownDescription":"格式: <`uderId`>:<`secret`>,..."}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"snell":{"type":"object","title":"outbound-snell","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"snell配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"psk":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"版本","description":"版本","markdownDescription":"版本","default":1},"obfs-opts":{"$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"socks5":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"http":{"type":"object","title":"outbound-http","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vmess":{"type":"object","title":"outbound-vmess","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"type":"object","title":"HTTP配置","properties":{"method":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"请求方式","description":"请求方式","markdownDescription":"请求方式","default":"GET"},"path":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},"http2-option":{"type":"object","title":"HTTP配置","properties":{"host":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":["www.example.com"]},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]}}},"grpc-option":{"type":"object","title":"HTTP配置","properties":{"grpc-service-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"GRPC服务名称","description":"GRPC服务名称","markdownDescription":"GRPC服务名称"}}},"ws-option":{"type":"object","title":"HTTP配置","properties":{"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"max-early-data":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大早期数据大小","description":"单位:bytes","markdownDescription":"单位:`bytes`"},"early-data-header-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"早期数据使用的header字段名","description":"早期数据使用的header字段名","markdownDescription":"早期数据使用的header字段名"},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vmess配置","required":["name","server","port","uuid","alterId","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"global-padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"全局填充","description":"全局填充","markdownDescription":"全局填充"},"authenticated-length":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用验证信息长度","description":"启用验证信息长度","markdownDescription":"启用验证信息长度"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vless":{"type":"object","title":"outbound-vless","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"http2-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vless配置","required":["name","server","port","uuid"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"flow":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"],"markdownEnumDescriptions":["将传入的连接直接转发到目标服务器,不做任何修改或处理","解析传入的连接中的TLS握手信息,然后直接与目标服务器建立加密连接","将传入的连接解析为TLS握手信息,然后重新生成一个新的TLS握手,并在客户端和服务器之间建立两个独立的TLS连接","尝试直接连接目标服务器,如果失败则回退到`xtls-rprx-splice`模式"],"title":"流量控制方式","description":"流量控制方式","markdownDescription":"流量控制方式","if":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice"]},"then":{"deprecationMessage":"旧版XTLS协议(xtls-rprx-origin、xtls-rprx-direct、xtls-rprx-splice)已弃用且不再支持"}},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"ws-path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"ws-headers":{"type":"object","title":"ws请求头","description":"ws请求头","markdownDescription":"ws请求头","additionalProperties":{"type":"string"}},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"trojan":{"type":"object","title":"outbound-trojan","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"type":"object","title":"outbound-reality","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["public-key","short-id"],"properties":{"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"short-id":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"short ID","description":"short ID","markdownDescription":"short ID"}}},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"trojan配置","required":["name","server","port","password"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"SNI(Server Name Indication)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria":{"type":"object","title":"outbound-hysteria","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria配置","required":["name","server","up","down"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法","default":"udp"},"obfs-protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法(为兼容Stash引入,优先级高于protocol)","markdownDescription":"混淆方法(为兼容Stash引入,优先级高于`protocol`)","default":"udp"},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"up-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于up)","markdownDescription":"单位:`Mbps`上行带宽(为兼容Stash引入,优先级高于`up`)"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于down)","markdownDescription":"单位:`Mbps`下行带宽(为兼容Stash引入,优先级高于`down`)"},"auth-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串","markdownDescription":"认证字符串"},"auth":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串(为兼容Stash引入,优先级高于auth-str)","markdownDescription":"认证字符串(为兼容Stash引入,优先级高于`auth-str`)"},"obfs":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria2":{"type":"object","title":"outbound-hysteria2","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria2配置","required":["name","server"],"dependentRequired":{"obfs":["obfs-password"]},"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"wireguard":{"type":"object","title":"outbound-wireguard","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"wireguard-peer-option":{"type":"object","title":"peer配置","required":["server","port"],"properties":{"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"pre-shared-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"预共享密钥","description":"预共享密钥","markdownDescription":"预共享密钥"},"reserved":{"type":"array","title":"保留字段值","description":"部分WARP节点需要使用","markdownDescription":"部分`WARP`节点需要使用"},"allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"允许进行流量转发的IP段","description":"允许进行流量转发的IP段","markdownDescription":"允许进行流量转发的IP段"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"wireguard配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"本机在Wireguard网络中使用的IPv4地址","description":"本机在Wireguard网络中使用的IPv4地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv4`地址"},"ipv6":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"本机在Wireguard网络中使用的IPv6地址","description":"本机在Wireguard网络中使用的IPv6地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv6`地址"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥(Base64编码)","markdownDescription":"私钥(`Base64`编码)"},"workers":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"工作线程","description":"工作线程(默认为CPU逻辑核心数)","markdownDescription":"工作线程(默认为CPU逻辑核心数)"},"mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大传输单元","description":"最大传输单元","markdownDescription":"最大传输单元","default":1408},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"persistent-keepalive":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"持久保活间隔","description":"单位:s","markdownDescription":"单位:s"},"peers":{"type":"array","title":"peer配置","description":"peer配置","markdownDescription":"peer配置","items":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},"remote-dns-resolve":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"强制DNS远程解析","description":"强制DNS远程解析","markdownDescription":"强制DNS远程解析","default":false},"dns":{"$ref":"#/definitions/rule-providers/definitions/types/serverArray","title":"DNS解析服务器","description":"DNS解析服务器(要求启用remote-dns-resolve)","markdownDescription":"DNS解析服务器(要求启用`remote-dns-resolve`)"}},"if":{"not":{"properties":{"peers":{"type":"array"}}}},"then":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"tuic":{"type":"object","title":"outbound-tuic","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"tuic配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"token":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"TUIC V5的用户标识","description":"TUIC V5的用户标识","markdownDescription":"TUIC `V5`的用户标识"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V5的用户密码","description":"TUIC V5的用户密码","markdownDescription":"TUIC `V5`的用户密码"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"覆盖server选项中设置的服务器地址的DNS查找结果","description":"覆盖server选项中设置的服务器地址的DNS查找结果","markdownDescription":"覆盖`server`选项中设置的服务器地址的DNS查找结果"},"heartbeat-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"发送保持连接活动的心跳包的间隔时间","description":"单位:ms","markdownDescription":"单位:ms","default":10000},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"reduce-rtt":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用QUIC的0-RTT握手","description":"可以减少连接建立时间,但可能增加重放攻击的风险","markdownDescription":"可以减少连接建立时间,但可能增加重放攻击的风险"},"request-timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"连接TUIC代理服务器的超时时间","description":"单位:ms","markdownDescription":"单位:ms","default":8000},"udp-relay-mode":{"enum":["native","quic"],"title":"UDP数据包中继模式","description":"UDP数据包中继模式","markdownDescription":"UDP数据包中继模式","default":"native"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"disable-sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"max-udp-relay-packet-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1252},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"max-open-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大打开流的数量","description":"过多的打开流可能会影响性能","markdownDescription":"过多的打开流可能会影响性能","default":100},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"max-datagram-frame-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大数据帧大小","description":"最大数据帧大小","markdownDescription":"最大数据帧大小"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp-over-stream":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over Stream","description":"meta和sing-box私有扩展,将ss-uot用于udp中继(开启此选项后udp-relay-mode将失效警告,与原版tuic不兼容)","markdownDescription":"`meta`和`sing-box`私有扩展,将ss-uot用于udp中继(开启此选项后`udp-relay-mode`将失效警告,与原版`tuic`不兼容)"},"udp-over-stream-version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP over Stream版本","description":"UDP over Stream版本","markdownDescription":"UDP over Stream版本"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"ssh":{"type":"object","title":"outbound-ssh","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"ssh配置","required":["name","server","port","username"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"private-key-passphrase":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥密码","markdownDescription":"私钥密码"},"host-key":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥","description":"主机私钥","markdownDescription":"主机私钥"},"host-key-algorithms":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥算法","description":"主机私钥算法","markdownDescription":"主机私钥算法"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]}},"items":{"anyOf":[{"type":"object","title":"direct","properties":{"type":{"title":"direct配置","const":"direct"}},"$ref":"#/definitions/proxies/definitions/direct"},{"type":"object","title":"dns","properties":{"type":{"title":"dns配置","const":"dns"}},"$ref":"#/definitions/proxies/definitions/dns"},{"type":"object","title":"shadowsocks","properties":{"type":{"title":"shadowsocks配置","const":"ss"}},"$ref":"#/definitions/proxies/definitions/shadowsocks"},{"type":"object","title":"shadowsocksr","properties":{"type":{"title":"shadowsocksr配置","const":"ssr"}},"$ref":"#/definitions/proxies/definitions/shadowsocksr"},{"type":"object","title":"snell","properties":{"type":{"title":"snell配置","const":"snell"}},"$ref":"#/definitions/proxies/definitions/snell"},{"type":"object","title":"socks5","properties":{"type":{"title":"socks5配置","const":"socks5"}},"$ref":"#/definitions/proxies/definitions/socks5"},{"type":"object","title":"http","properties":{"type":{"title":"http配置","const":"http"}},"$ref":"#/definitions/proxies/definitions/http"},{"type":"object","title":"vmess","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/proxies/definitions/vmess"},{"type":"object","title":"vless","properties":{"type":{"title":"vless配置","const":"vless"}},"$ref":"#/definitions/proxies/definitions/vless"},{"type":"object","title":"trojan","properties":{"type":{"title":"trojan配置","const":"trojan"}},"$ref":"#/definitions/proxies/definitions/trojan"},{"type":"object","title":"hysteria","properties":{"type":{"title":"hysteria配置","const":"hysteria"}},"$ref":"#/definitions/proxies/definitions/hysteria"},{"type":"object","title":"hysteria2","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/proxies/definitions/hysteria2"},{"type":"object","title":"wireguard","properties":{"type":{"title":"wireguard配置","const":"wireguard"}},"$ref":"#/definitions/proxies/definitions/wireguard"},{"type":"object","title":"tuic","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/proxies/definitions/tuic"},{"type":"object","title":"ssh","properties":{"type":{"title":"ssh配置","const":"ssh"}},"$ref":"#/definitions/proxies/definitions/ssh"}]}},"proxy-providers":{"type":"object","title":"代理集合配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"health-check":{"type":"object","title":"健康检查","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用健康检查","description":"启用健康检查","markdownDescription":"启用健康检查","default":false},"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"健康检查地址","description":"健康检查url","markdownDescription":"健康检查url","default":"https://www.gstatic.com/generate_204"},"interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查间隔","description":"格式: <时长>[ms或s(默认:s)]","markdownDescription":"格式: <时长>[ms或s(默认:s)]","default":"300"},"timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查超时","description":"格式: <时长>[ms或s(默认:ms)]","markdownDescription":"格式: <时长>[ms或s(默认:ms)]","default":"5000"},"lazy":{"type":"boolean","title":"懒加载","description":"未被使用时,不进行健康检查测试","markdownDescription":"未被使用时,不进行健康检查测试","default":true},"expected-status":{"anyOf":[{"type":"string","pattern":"^(?:\\/?\\d{3}(-?\\d{3})?)+$","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码","default":"*"},{"type":"integer","minimum":100,"maximum":999,"title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"},{"type":"string","const":"*","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"}]}}}},"patternProperties":{"^default$":{"type":"null","errorMessage":"不能使用default作为provider的名称"}},"additionalProperties":{"type":"object","required":["type"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"},"header":{"type":"object","errorMessage":"类型应为object"},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"},"override":{"allOf":[{"type":"object","title":"覆写节点内容","description":"覆写节点内容","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`"},"up":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置上行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置上行带宽"},"down":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置下行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置下行带宽"},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"skip-cert-verify":{"type":"boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"interface-name":{"type":"string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"additional-prefix":{"type":"string","title":"为节点名称添加固定前缀","description":"为节点名称添加固定前缀","markdownDescription":"为节点名称添加固定前缀"},"additional-suffix":{"type":"string","title":"为节点名称添加固定后缀","description":"为节点名称添加固定后缀","markdownDescription":"为节点名称添加固定后缀"}}}]},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据节点类型排除节点","description":"direct, dns, ss, ssr, snell, socks5, http, vmess, vless, trojan, hysteria, hysteria2, wireguard, tuic, ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`direct`,`dns`,`ss`,`ssr`,`snell`,`socks5`,`http`,`vmess`,`vless`,`trojan`,`hysteria`,`hysteria2`,`wireguard`,`tuic`,`ssh`(使用`|`分隔,不支持正则表达式)"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"proxy-groups":{"type":"array","title":"代理组配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"url-test":{"type":"object","title":"outboundgroup-url-test","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"url-test配置","properties":{"tolerance":{"type":"integer","title":"代理节点切换容差","description":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)","markdownDescription":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)"}}}]},"fallback":{"type":"object","title":"outboundgroup-fallback","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"fallback配置","properties":{}}]},"load-balance":{"type":"object","title":"outboundgroup-load-balance","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"type":"object","title":"outboundgroup-groupbase","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"出站基础配置","properties":{"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"出站名称","description":"出站名称","markdownDescription":"出站名称"},"type":{"enum":["select","url-test","fallback","load-balance","relay"],"markdownEnumDescriptions":["手动选择","延迟选优","故障转移","负载均衡","链式代理"],"title":"出站类型","description":"出站类型","markdownDescription":"出站类型"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"}}},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"}},"allOf":[{"title":"出站基础配置","required":["name","type"],"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase/definitions/base-option"},{"allOf":[{"type":"object","title":"代理组基础配置","properties":{"proxies":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点列表","description":"代理节点列表","markdownDescription":"代理节点列表"},"use":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"引入proxy-provider中的代理节点","description":"引入proxy-provider中的代理节点","markdownDescription":"引入proxy-provider中的代理节点"},"max-failed-times":{"type":"integer","title":"最大失败次数","description":"在timeout时间长度内,请求失败max-failed-times次,强制提前主动触发健康检查","markdownDescription":"在`timeout`时间长度内,请求失败`max-failed-times`次,强制提前主动触发健康检查","default":5},"disable-udp":{"type":"boolean","title":"禁用UDP","description":"禁用UDP","markdownDescription":"禁用`UDP`"},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据出站类型排除节点","description":"Direct, Reject, RejectDrop, Compatible, Pass, Dns, Shadowsocks, ShadowsocksR, Snell, Socks5, Http, Vmess, Vless, Trojan, Hysteria, Hysteria2, WireGuard, Tuic, Relay, Selector, Fallback, URLTest, LoadBalance, Ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`Direct`,`Reject`,`RejectDrop`,`Compatible`,`Pass`,`Dns`,`Shadowsocks`,`ShadowsocksR`,`Snell`,`Socks5`,`Http`,`Vmess`,`Vless`,`Trojan`,`Hysteria`,`Hysteria2`,`WireGuard`,`Tuic`,`Relay`,`Selector`,`Fallback`,`URLTest`,`LoadBalance`,`Ssh(使用`|`分隔,不支持正则表达式)"},"include-all":{"type":"boolean","title":"引入所有proxies和proxy-providers包含的代理节点","description":"引入所有proxies和proxy-providers包含的代理节点(优先级高于include-all-proxies和include-all-providers)","markdownDescription":"引入所有`proxies`和`proxy-providers`包含的代理节点(优先级高于`include-all-proxies`和`include-all-providers`)"},"include-all-proxies":{"type":"boolean","title":"引入所有proxies包含的代理节点","description":"引入所有proxies包含的代理节点","markdownDescription":"引入所有`proxies`包含的代理节点"},"include-all-providers":{"type":"boolean","title":"引入所有proxy-providers包含的代理节点","description":"引入所有proxy-providers包含的代理节点","markdownDescription":"引入所有`proxy-providers`包含的代理节点"},"hidden":{"type":"boolean","title":"隐藏代理组","description":"需要调用RESTful API的Web UI适配支持","markdownDescription":"需要调用RESTful API的Web UI适配支持"},"icon":{"type":"string","title":"代理组图标","description":"标签src属性支持的值(如url、data:image/*;base64等,需要调用RESTful API的Web UI适配支持)","markdownDescription":"``标签`src`属性支持的值(如`url`、`data:image/*;base64`等,需要调用RESTful API的Web UI适配支持)"}}},{"title":"健康检查配置","$ref":"#/definitions/proxy-providers/definitions/health-check"}]}]}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"load-balance配置","properties":{"strategy":{"enum":["consistent-hashing","round-robin","sticky-sessions"],"title":"负载均衡策略","markdownEnumDescriptions":["一致性哈希,把相同顶级域名的请求分配给代理组内的同一个代理节点","轮询,按照顺序将请求分发给每个可用的服务器","粘性会话,将特定的用户会话绑定到同一台服务器上"],"default":"consistent-hashing"}}}]},"relay":{"type":"object","title":"outboundgroup-relay","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"relay配置","properties":{}}]}},"items":{"anyOf":[{"title":"url-test配置","$ref":"#/definitions/proxy-groups/definitions/url-test"},{"title":"fallback配置","$ref":"#/definitions/proxy-groups/definitions/fallback"},{"title":"load-balance配置","$ref":"#/definitions/proxy-groups/definitions/load-balance"},{"title":"relay配置","$ref":"#/definitions/proxy-groups/definitions/relay"}]}},"rule-providers":{"type":"object","title":"规则集合配置","definitions":{"types":{"stringArray":{"type":"array","items":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string"}},"portArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/port"}},"portRangeArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/portRange"}},"ipv4Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"}},"ipv4PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"}},"ipv4CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"}},"ipv6Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}},"ipv6PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}},"ipv6CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}},"ipArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip"}},"ipPortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort"}},"ipCIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR"}},"serverArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/server"}},"domainArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domain"}},"domainWildcardArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domainWildcard"}},"urlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/url"}},"httpUrlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl"}}},"patterns":{"port":{"anyOf":[{"type":"integer","minimum":0,"maximum":65535},{"type":"string","pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口号(0~65535)"}]},"portRange":{"pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$|^([1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])-(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口范围(port 或 port1-port2)"},"ipv4":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$","errorMessage":"无效的IPv4地址"},"ipv4Port":{"pattern":"^((?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5])))?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的IPv4地址:端口"},"ipv4CIDR":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))(?:\\/(?:[12]?[0-9]|3[0-2]))$","errorMessage":"无效的IPv4网段"},"ipv6":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)$","errorMessage":"无效的IPv6地址"},"ipv6Port":{"pattern":"^(\\[([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\])?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的[IPv6地址]:端口"},"ipv6CIDR":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$","errorMessage":"无效的IPv6网段"},"ip":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}]},"ipPort":{"anyOf":[{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}]},"ipCIDR":{"anyOf":[{"description":"ipv4网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"},{"description":"ipv6网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}]},"domain":{"pattern":"^(xn--)?[a-zA-Z0-9-_]+(?:\\.(xn--)?[a-zA-Z0-9-_]+)+$","errorMessage":"无效的域名"},"domainWildcard":{"pattern":"^\\+?(xn--)?[a-zA-Z0-9-_*.]+(?:\\.(xn--)?[a-zA-Z0-9-_*]+)*$","errorMessage":"无效的域名通配"},"server":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"},{"description":"域名","$ref":"#/definitions/rule-providers/definitions/patterns/domain"}]},"url":{"pattern":"^.+:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的URL"},"httpUrl":{"pattern":"^https?:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的HTTP-URL"},"uuid":{"pattern":"^[0-9a-fA-F]{8}(?:-?[0-9a-fA-F]{4}){3}-?[0-9a-fA-F]{12}$","errorMessage":"无效的UUID"}},"enums":{"cipher":{"description":"加密方法","enum":["none","auto","dummy","aes-128-gcm","aes-192-gcm","aes-256-gcm","lea-128-gcm","lea-192-gcm","lea-256-gcm","aes-128-gcm-siv","aes-256-gcm-siv","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","chacha20","chacha20-ietf","chacha20-ietf-poly1305","2022-blake3-chacha20-poly1305","rabbit128-poly1305","xchacha20-ietf-poly1305","xchacha20","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5"]},"fingerprint":{"description":"指纹","enum":["chrome","chrome_psk","chrome_psk_shuffle","chrome_padding_psk_shuffle","chrome_pq","chrome_pq_psk","firefox","safari","ios","android","edge","360","qq","random","randomized"]}}},"additionalProperties":{"type":"object","required":["type","behavior"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"behavior":{"enum":["domain","ipcidr","classical"],"markdownEnumDescriptions":["域名通配","IP网段匹配","支持除`rule-set`/`sub-rule`以外的全部路由规则"],"title":"规则匹配行为","description":"规则匹配行为","markdownDescription":"规则匹配行为"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"format":{"enum":["yaml","text"],"markdownEnumDescriptions":["YAML格式","普通文本格式"],"title":"provider文件格式","description":"provider文件格式","markdownDescription":"provider文件格式","default":"yaml"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"rules":{"type":"array","title":"规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"type":"string","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"anyOf":[{"title":"匹配完整域名","pattern":"^DOMAIN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名后缀","pattern":"^DOMAIN-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名关键字","pattern":"^DOMAIN-KEYWORD((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名正则表达式","pattern":"^DOMAIN-REGEX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Geosite内的域名","pattern":"^GEOSITE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属国家代码","pattern":"^GEOIP((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属国家代码","pattern":"^SRC-GEOIP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属ASN","pattern":"^IP-ASN((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属ASN","pattern":"^SCR-IP-ASN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR6((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP地址范围","pattern":"^SRC-IP-CIDR((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP后缀范围","pattern":"^IP-SUFFIX((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP后缀范围","pattern":"^SRC-IP-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求来源端口范围","pattern":"^SRC-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求目标端口范围","pattern":"^DST-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站端口,可用端口范围","pattern":"^IN-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"DSCP标记(仅限tproxy udp入站)","pattern":"^DSCP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配进程名称(Android包名)","pattern":"^PROCESS-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配完整进程路径","pattern":"^PROCESS-PATH((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程名称(Android包名)","pattern":"^PROCESS-NAME-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程路径","pattern":"^PROCESS-PATH-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"匹配传输协议(tcp/udp)","pattern":"^NETWORK((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Linux USER ID","pattern":"^UID((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站类型","pattern":"^IN-TYPE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站用户名","pattern":"^IN-USER((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站名称","pattern":"^IN-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"子规则","pattern":"^SUB-RULE,\\(.+\\),.+$","errorMessage":"无效的规则"},{"title":"匹配规则集(rule-providers中定义)","pattern":"^RULE-SET((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"逻辑和","pattern":"^AND,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑或","pattern":"^OR,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑非","pattern":"^NOT,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"匹配所有请求(无需条件)","pattern":"^MATCH,.+$","errorMessage":"无效的规则"}]}},"items":{"$ref":"#/definitions/rules/definitions/rule"}}},"allOf":[{"title":"覆写profile配置","$ref":"#/definitions/meta-json-schema"},{"type":"object","title":"前置规则配置","properties":{"prepend-rules":{"title":"前置规则配置","$ref":"#/definitions/rules"}}},{"type":"object","title":"前置规则集合配置","properties":{"prepend-rule-providers":{"title":"前置规则集合配置","$ref":"#/definitions/rule-providers","deprecationMessage":"v1.16.2已移除(请使用rule-providers代替)"}}},{"type":"object","title":"前置代理节点配置","properties":{"prepend-proxies":{"title":"前置代理节点配置","$ref":"#/definitions/proxies"}}},{"type":"object","title":"前置代理集合配置","properties":{"prepend-proxy-providers":{"title":"前置代理集合配置","$ref":"#/definitions/proxy-providers","deprecationMessage":"v1.16.2已移除(请使用proxy-providers代替)"}}},{"type":"object","title":"前置代理组配置","properties":{"prepend-proxy-groups":{"title":"前置代理组配置","$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"后置规则配置","properties":{"append-rules":{"title":"后置规则配置","$ref":"#/definitions/rules"}}},{"type":"object","title":"后置规则集合配置","properties":{"append-rule-providers":{"title":"后置规则集合配置","$ref":"#/definitions/rule-providers","deprecationMessage":"v1.16.2已移除(请使用rule-providers代替)"}}},{"type":"object","title":"后置代理节点配置","properties":{"append-proxies":{"title":"后置代理节点配置","$ref":"#/definitions/proxies"}}},{"type":"object","title":"后置代理集合配置","properties":{"append-proxy-providers":{"title":"后置代理集合配置","$ref":"#/definitions/proxy-providers","deprecationMessage":"v1.16.2已移除(请使用proxy-providers代替)"}}},{"type":"object","title":"后置代理组配置","properties":{"append-proxy-groups":{"title":"后置代理组配置","$ref":"#/definitions/proxy-groups"}}}]} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/clash-verge-rev/clash-verge-rev/schemas/clash-verge-merge-json-schema.json","type":"object","title":"Clash Verge Merge Config","additionalProperties":true,"definitions":{"meta-json-schema":{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/MetaCubeX/meta-json-schema/schemas/meta-json-schema.json","type":"object","title":"Clash Meta Config","additionalProperties":true,"definitions":{"experimental":{"type":"object","title":"实验性内容配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"quic-go-disable-gso":{"type":"boolean","title":"quic-go禁用GSO","description":"quic禁用GSO(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量QUIC_GO_DISABLE_GSO=1)","markdownDescription":"quic禁用`GSO`(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量`QUIC_GO_DISABLE_GSO=1`)"},"quic-go-disable-ecn":{"type":"boolean","title":"quic-go禁用ECN","description":"quic禁用ECN(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","markdownDescription":"quic禁用`ECN`(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","default":true},"dialer-ip4p-convert":{"type":"boolean","title":"启用IP4P地址转换","description":"NATMap可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。","markdownDescription":"`NATMap`可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。"}}},"profile":{"type":"object","title":"缓存配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"store-selected":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":true},"store-fake-ip":{"type":"boolean","title":"持久化缓存fake-ip映射表","description":"缓存fake-ip映射表,域名再次发生连接时,使用原有映射地址","markdownDescription":"缓存`fake-ip`映射表,域名再次发生连接时,使用原有映射地址","default":false}}},"iptables":{"type":"object","title":"iptables配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":false},"inbound-interface":{"type":"string","title":"入站接口","description":"入站规则将仅应用于哪个接口(默认本地环回接口)","markdownDescription":"入站规则将仅应用于哪个接口(默认本地环回接口)","default":"lo"},"bypass":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"需要绕过iptables规则的IP地址或网段列表","description":"需要绕过iptables规则的IP地址或网段列表","markdownDescription":"需要绕过`iptables`规则的IP地址或网段列表","default":[]},"dns-redirect":{"type":"boolean","title":"DNS重定向","description":"DNS重定向","markdownDescription":"DNS重定向","default":true}}},"tls":{"type":"object","title":"TLS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"custom-certifactes":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自定义证书列表","description":"自定义证书列表","markdownDescription":"自定义证书列表"}}},"general":{"type":"object","title":"全局配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"inbound":{"type":"object","title":"inbound配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)代理端口","description":"HTTP(S)代理端口","markdownDescription":"`HTTP(S)`代理端口"},"socks-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"SOCKS代理端口","description":"SOCKS代理端口","markdownDescription":"`SOCKS`代理端口"},"redir-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux和MacOS","markdownDescription":"用于`Linux`和`MacOS`"},"tproxy-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux(TProxy TCP 和 TProxy UDP)","markdownDescription":"用于`Linux`(TProxy TCP 和 TProxy UDP)"},"mixed-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)和SOCKS代理混合端口","description":"HTTP(S)和SOCKS代理混合端口","markdownDescription":"`HTTP(S)`和`SOCKS`代理混合端口","default":7890},"ss-config":{"type":"string","title":"shadowsocks配置","description":"根据配置(URL格式)启动shadowsocks服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动shadowsocks服务器,并添加到listeners"},"vmess-config":{"type":"string","title":"vmess配置","description":"根据配置(URL格式)启动vmess服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动vmess服务器,并添加到listeners"},"allow-lan":{"type":"boolean","title":"允许局域网","description":"允许其他设备经过内核的代理端口访问互联网","markdownDescription":"允许其他设备经过内核的代理端口访问互联网","default":false},"skip-auth-prefixes":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许跳过验证的IP段","description":"允许跳过验证的IP段","markdownDescription":"允许跳过验证的IP段"},"lan-allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许连接的IP地址段","description":"需要启用allow-lan","markdownDescription":"需要启用`allow-lan`","default":["0.0.0.0/0","::/0"]},"lan-disallowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"不允许连接的IP地址段","description":"需要启用allow-lan(优先级高于lan-allowed-ips)","markdownDescription":"需要启用`allow-lan`(优先级高于`lan-allowed-ips`)"},"bind-address":{"anyOf":[{"const":"*","title":"绑定所有 IP 地址","description":"允许其他设备通过所有地址访问","markdownDescription":"允许其他设备通过所有地址访问"},{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"绑定单个 IP 地址","description":"仅允许其他设备通过这个地址访问","markdownDescription":"仅允许其他设备通过这个地址访问"}]},"inbound-tfo":{"type":"boolean","title":"入站启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"inbound-mptcp":{"type":"boolean","title":"入站启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"}}},"controller":{"type":"object","title":"controller配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"external-controller":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTP)监听地址","description":"可以使用RESTful API来控制内核","markdownDescription":"可以使用RESTful API来控制内核"},"external-controller-tls":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTPS)监听地址","description":"可以使用RESTful API over HTTPS来控制内核","markdownDescription":"可以使用RESTful API over HTTPS来控制内核"},"external-controller-unix":{"type":"string","title":"外部控制器(Unix Socket)监听地址","description":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)","markdownDescription":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)"},"external-ui":{"type":"string","title":"外部用户界面路径(默认:工作目录/ui)","description":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)","markdownDescription":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)"},"external-ui-url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"外部用户界面下载地址","description":"外部用户界面下载地址","markdownDescription":"外部用户界面下载地址","default":"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"},"external-ui-name":{"type":"string","title":"外部用户界面下载目录","description":"下载时会下载到指定文件夹(默认下载到external-ui配置的目录)","markdownDescription":"下载时会下载到指定文件夹(默认下载到`external-ui`配置的目录)"},"secret":{"type":"string","title":"外部控制器RESTful API访问密钥","description":"请求头Authorization:Bearer ","markdownDescription":"请求头Authorization:Bearer <`secret`>"}}},"geox-url":{"type":"object","title":"geox-url配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"geoip":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geoip文件下载地址","description":"geoip文件下载地址","markdownDescription":"`geoip`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat"},"mmdb":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"mmdb文件下载地址","description":"mmdb文件下载地址","markdownDescription":"`mmdb`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"},"asn":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"asn文件下载地址","description":"asn文件下载地址","markdownDescription":"`asn`文件下载地址","default":"https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geosite文件下载地址","description":"geosite文件下载地址","markdownDescription":"`geosite`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat"}}},"ebpf":{"type":"object","title":"ebpf配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"redirect-to-tun":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"重定向到TUN接口列表","description":"支持TCP+UDP(使用该功能请勿启用auto-route)","markdownDescription":"支持TCP+UDP(使用该功能请勿启用`auto-route`)"},"auto-redir":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自动重定向接口列表","description":"仅支持TCP","markdownDescription":"仅支持TCP"}}}},"allOf":[{"title":"inbound配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/inbound"},{"title":"controller配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/controller"},{"properties":{"unified-delay":{"type":"boolean","title":"更换延迟计算方式","description":"去除握手等额外延迟","markdownDescription":"去除握手等额外延迟","default":false},"mode":{"enum":["global","rule","direct"],"markdownEnumDescriptions":["全局代理","规则匹配","全局直连"],"title":"运行模式","description":"运行模式","markdownDescription":"运行模式","default":"rule"},"log-level":{"enum":["debug","info","warning","error","silent"],"markdownEnumDescriptions":["尽可能的输出运行中所有的信息","输出一般运行的内容,以及`error`和`warning`级别的日志","输出发生错误但不影响运行的日志,以及`error`级别内容","仅输出发生错误至无法使用的日志","静默,不输出"],"title":"日志级别","description":"日志级别","markdownDescription":"日志级别","default":"info"},"ipv6":{"type":"boolean","title":"是否允许内核接受IPv6流量","description":"是否允许内核接受IPv6流量","markdownDescription":"是否允许内核接受`IPv6`流量","default":true},"interface-name":{"type":"string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"geox-url":{"title":"geox-url配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/geox-url"},"geo-auto-update":{"type":"boolean","title":"Geo自动更新","description":"Geo自动更新","markdownDescription":"Geo自动更新","default":false},"geo-update-interval":{"type":"integer","title":"Geo自动更新间隔","description":"单位:h","markdownDescription":"单位:h","default":24},"geodata-mode":{"type":"boolean","title":"GeoIP数据模式","description":"更改geoip使用文件(true: dat, false: mmdb)","markdownDescription":"更改geoip使用文件(true: dat, false: mmdb)","default":false},"geodata-loader":{"enum":["standard","memconservative","memc"],"markdownEnumDescriptions":["标准加载器","专为内存受限(小内存)设备优化的加载器","`memconservative`的别名"],"title":"Geo文件加载器","description":"Geo文件加载器","markdownDescription":"Geo文件加载器","default":"memconservative"},"geosite-matcher":{"enum":["mph","hybrid","succinct"],"markdownEnumDescriptions":["根据Geosite规则中的域名或IP地址信息,将匹配的网络流量代理到指定的目标服务器","根据域名、IP地址和CIDR地址等规则进行匹配,并根据预定义的优先级来选择最佳的匹配结果","使用了一种紧凑的数据结构,可以有效地存储和查询大量的Geosite规则"],"title":"Geosite匹配器","description":"Geosite匹配器","markdownDescription":"Geosite匹配器","default":"succinct"},"tcp-concurrent":{"type":"boolean","title":"TCP并发","description":"TCP并发","markdownDescription":"TCP并发","default":false},"find-process-mode":{"enum":["always","strict","off"],"markdownEnumDescriptions":["强制匹配所有进程","由内核判断是否开启","不匹配进程,推荐在路由器上使用此模式"],"title":"进程匹配模式","description":"进程匹配模式","markdownDescription":"进程匹配模式","default":"strict"},"ebpf":{"title":"ebpf配置","$ref":"#/definitions/meta-json-schema/definitions/general/definitions/ebpf"},"global-client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"全局客户端指纹","description":"支持协议有VLESS,Vmess,trojan","markdownDescription":"支持协议有`VLESS`,`Vmess`,`trojan`"},"global-ua":{"type":"string","title":"全局UA","description":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","markdownDescription":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","default":"clash.meta"}}}]},"proxies":{"$ref":"#/definitions/proxies"},"proxy-providers":{"$ref":"#/definitions/proxy-providers"},"proxy-groups":{"$ref":"#/definitions/proxy-groups"},"listeners":{"type":"array","title":"listeners配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"socks":{"type":"object","title":"inbound-socks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"socks配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"http":{"type":"object","title":"inbound-http","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"http配置","properties":{}}]},"tproxy":{"type":"object","title":"inbound-tproxy","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tproxy配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"redir":{"type":"object","title":"inbound-redir","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"redir配置","properties":{}}]},"mixed":{"type":"object","title":"inbound-mixed","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"mixed配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"tunnel":{"type":"object","title":"inbound-tunnel","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tunnel配置","required":["network","target"],"properties":{"network":{"type":"array","title":"传输协议","description":"传输协议","markdownDescription":"传输协议","items":{"enum":["tcp","udp"]}},"target":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"目标地址","description":"目标地址","markdownDescription":"目标地址"}}}]},"tun":{"type":"object","title":"inbound-tun","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tun配置","properties":{"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["基于系统网络栈执行`L3`到`L4`转换。可以提供更稳定/全面的TUN体验,且占用相对其他堆栈更低。","基于`gVisor`虚拟网络栈执行`L3`到`L4`转换。通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能。","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好。"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"TUN接口的IPv4前缀","description":"TUN接口的IPv4前缀","markdownDescription":"`TUN`接口的`IPv4`前缀","deprecationMessage":"已弃用"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"TUN接口的IPv6前缀","description":"TUN接口的IPv6前缀","markdownDescription":"`TUN`接口的`IPv6`前缀"},"strict-route":{"type":"boolean","title":"严格路由","description":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的普通多宿主DNS解析行为造成的DNS泄露(可能会使某些应用程序如VirtualBox在某些情况下无法正常工作)。","markdownDescription":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用`systemd-resolved`的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的`普通多宿主DNS`解析行为造成的DNS泄露(可能会使某些应用程序如`VirtualBox`在某些情况下无法正常工作)。","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}}]},"shadowsocks":{"type":"object","title":"inbound-shadowsocks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"inbound-base","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["name"],"properties":{"name":{"type":"string","title":"名称","description":"名称","markdownDescription":"名称"},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"监听地址","description":"监听地址","markdownDescription":"监听地址","default":"0.0.0.0"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"监听端口","description":"监听端口","markdownDescription":"监听端口"},"rule":{"type":"string","title":"出站规则","description":"使用子规则作为入站匹配规则出站","markdownDescription":"使用子规则作为入站匹配规则出站"},"proxy":{"type":"string","title":"出站代理","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为proxy-groups,proxy的name"}}},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"string","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"integer","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option/definitions/brutal"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"shadowsocks配置","required":["password","cipher"],"properties":{"password":{"type":"string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"vmess":{"type":"object","title":"inbound-vmess","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"},"vmess-user":{"type":"object","title":"vmess用户","required":["uuid","alterId"],"properties":{"username":{"type":"string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"type":"integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"vmess配置","required":["users"],"properties":{"users":{"type":"array","title":"用户列表","description":"用户列表","markdownDescription":"用户列表","items":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/vmess/definitions/vmess-user"}},"ws-path":{"type":"string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"hysteria2":{"type":"object","title":"inbound-hysteria2","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"hysteria2配置","required":["certificate","private-key"],"properties":{"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"type":"string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"ignore-client-bandwidth":{"type":"boolean","title":"忽略客户端带宽","description":"启用后使服务器忽略任何客户端设置的带宽提示,使用传统的BBR拥塞控制算法","markdownDescription":"启用后使服务器忽略任何客户端设置的带宽带宽提示,使用传统的BBR拥塞控制算法"},"masquerade":{"$ref":"#/definitions/rule-providers/definitions/patterns/url","title":"伪装流量url","description":"支持file://、http://、https://","markdownDescription":"支持`file://`、`http://`、`https://`"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"type":"integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"tuic":{"type":"object","title":"inbound-tuic","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tuic配置","required":["certificate","private-key"],"properties":{"token":{"type":"string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]}},"items":{"anyOf":[{"type":"object","title":"socks配置","properties":{"type":{"title":"socks配置","const":"socks"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/socks"},{"type":"object","title":"http配置","properties":{"type":{"title":"socks配置","const":"http"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/http"},{"type":"object","title":"tproxy配置","properties":{"type":{"title":"tproxy配置","const":"tproxy"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tproxy"},{"type":"object","title":"redir配置","properties":{"type":{"title":"redir配置","const":"redir"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/redir"},{"type":"object","title":"mixed配置","properties":{"type":{"title":"mixed配置","const":"mixed"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/mixed"},{"type":"object","title":"tunnel配置","properties":{"type":{"title":"tunnel配置","const":"tunnel"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tunnel"},{"type":"object","title":"TUN配置","properties":{"type":{"title":"TUN配置","const":"tun"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tun"},{"type":"object","title":"shadowsocks配置","properties":{"type":{"title":"shadowsocks配置","const":"shadowsocks"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/shadowsocks"},{"type":"object","title":"vmess配置","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/vmess"},{"type":"object","title":"hysteria2配置","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/hysteria2"},{"type":"object","title":"tuic配置","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/meta-json-schema/definitions/listeners/definitions/tuic"}]}},"rule-providers":{"$ref":"#/definitions/rule-providers"},"sub-rules":{"type":"object","title":"子规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"$ref":"#/definitions/rules/definitions/rule"}},"additionalProperties":{"type":"array","items":{"$ref":"#/definitions/rules/definitions/rule"}}},"rules":{"$ref":"#/definitions/rules"},"hosts":{"type":"object","title":"hosts配置","description":"key: value格式(域名支持通配)","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"ntp":{"type":"object","title":"NTP配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用NTP","description":"NTP(Network Time Protocol),用于同步计算机系统时钟的网络协议","markdownDescription":"`NTP`(Network Time Protocol),用于同步计算机系统时钟的网络协议","default":false},"server":{"type":"string","title":"NTP服务器地址","description":"NTP服务器地址","markdownDescription":"`NTP`服务器地址","default":"time.apple.com"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"NTP服务器端口","description":"NTP服务器端口","markdownDescription":"`NTP`服务器端口","default":123},"interval":{"type":"integer","title":"同步时钟间隔","description":"单位:m","markdownDescription":"单位:m","default":30},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"write-to-system":{"type":"boolean","title":"同步至系统时间","description":"需要root/管理员权限","markdownDescription":"需要root/管理员权限"}}},"dns":{"type":"object","description":"DNS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用DNS","description":"关闭将使用系统DNS","markdownDescription":"关闭将使用系统DNS","default":false},"prefer-h3":{"type":"boolean","title":"启用DoH的HTTP/3支持","description":"启用DoH的HTTP/3支持","markdownDescription":"启用DoH的`HTTP/3`支持","default":false},"ipv6":{"type":"boolean","title":"是否解析IPV6","description":"如为false,则回应内容为AAAA的空解析","markdownDescription":"如为false,则回应内容为AAAA的空解析","default":false},"ipv6-timeout":{"type":"integer","title":"解析IPV6超时时间","description":"单位: ms","markdownDescription":"单位: ms","default":100},"use-hosts":{"type":"boolean","title":"启用配置中的hosts配置","description":"启用配置中的hosts配置","markdownDescription":"启用配置中的`hosts`配置","default":true},"use-system-hosts":{"type":"boolean","title":"查询系统hosts文件","description":"优先级低于配置中的hosts配置","markdownDescription":"优先级低于配置中的`hosts`配置","default":true},"nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"默认域名解析服务器","description":"支持UDP,TCP,DoT,DoH,DoQ","markdownDescription":"支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`","default":["https://doh.pub/dns-query","tls://223.5.5.5:853"]},"fallback":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"备用域名解析服务器","description":"一般情况下使用境外DNS服务器,保证结果可信","markdownDescription":"一般情况下使用境外DNS服务器,保证结果可信"},"fallback-filter":{"type":"object","title":"备用域名解析服务器过滤","description":"满足条件的将采用fallback的解析结果,或只采用fallback解析结果","markdownDescription":"满足条件的将采用`fallback`的解析结果,或只采用`fallback`解析结果","properties":{"geoip":{"type":"boolean","title":"启用fallback-filter","description":"启用fallback-filter","markdownDescription":"启用`fallback-filter`","default":true},"geoip-code":{"type":"string","title":"启用fallback-filter","description":"除geoip-code配置的国家IP外,其他IP结果会被视为污染。geoip-code对应国家的结果会直接采用,其余结果将采用fallback的解析结果","markdownDescription":"除`geoip-code`配置的国家IP外,其他IP结果会被视为污染。`geoip-code`对应国家的结果会直接采用,其余结果将采用`fallback`的解析结果","default":"CN"},"ipcidr":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"DNS污染网段列表","description":"这些网段的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些网段的结果会被视为污染,将采用`fallback`的解析结果"},"domain":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染域名列表","description":"这些域名的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些域名的结果会被视为污染,将采用`fallback`的解析结果"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染GeoSite列表","description":"这些GeoSite的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些[GeoSite](https://github.com/MetaCubeX/meta-rules-dat/tree/meta/geo/geosite)的结果会被视为污染,将采用`fallback`的解析结果","deprecationMessage":"使用nameserver-policy代替geosite(geosite将在未来移除)"}}},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"DNS服务器监听地址","description":"DNS服务器监听地址","markdownDescription":"DNS服务器监听地址","default":"127.0.0.1:53"},"enhanced-mode":{"enum":["normal","fake-ip","redir-host"],"markdownEnumDescriptions":["普通模式","fake-ip模式","redir-host模式"],"title":"增强模式","description":"DNS处理模式","markdownDescription":"DNS处理模式","default":"fake-ip"},"fake-ip-range":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"fake-ip的预留映射地址段","description":"TUN模式的网卡默认IP也使用此值作为参考","markdownDescription":"TUN模式的网卡默认IP也使用此值作为参考","default":"198.18.0.1/16"},"fake-ip-filter":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"fake-ip过滤","description":"哪些域名不使用fake-ip","markdownDescription":"哪些域名不使用`fake-ip`","default":["dns.msftnsci.com","www.msftnsci.com","www.msftconnecttest.com"]},"default-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"元域名解析服务器","description":"解析nameserver,fallback以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持UDP,TCP,DoT,DoH,DoQ)","markdownDescription":"解析`nameserver`,`fallback`以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`)","default":["114.114.114.114","223.5.5.5","8.8.8.8","1.0.0.1"]},"cache-algorithm":{"enum":["lru","arc"],"markdownEnumDescriptions":["最近最少使用","自适应替换缓存"],"title":"缓存算法","description":"缓存算法","markdownDescription":"缓存算法","default":"lru"},"nameserver-policy":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/rule-providers/definitions/types/stringArray"}]},"title":"DNS解析服务器策略","description":"指定地址使用特定DNS解析服务器","markdownDescription":"指定地址使用特定DNS解析服务器"},"proxy-server-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点DNS解析服务器","description":"用于解析代理节点的域名","markdownDescription":"用于解析代理节点的域名"}}},"tun":{"type":"object","title":"tun配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用TUN模式","description":"启用TUN模式","markdownDescription":"启用`TUN`模式","default":false},"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["基于系统网络栈执行`L3`到`L4`转换。可以提供更稳定/全面的TUN体验,且占用相对其他堆栈更低。","基于`gVisor`虚拟网络栈执行`L3`到`L4`转换。通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能。","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好。"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"TUN接口的IPv4前缀","description":"TUN接口的IPv4前缀","markdownDescription":"`TUN`接口的`IPv4`前缀"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"TUN接口的IPv6前缀","description":"TUN接口的IPv6前缀","markdownDescription":"`TUN`接口的`IPv6`前缀"},"strict-route":{"type":"boolean","title":"严格路由","description":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的普通多宿主DNS解析行为造成的DNS泄露(可能会使某些应用程序如VirtualBox在某些情况下无法正常工作)。","markdownDescription":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用`systemd-resolved`的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的`普通多宿主DNS`解析行为造成的DNS泄露(可能会使某些应用程序如`VirtualBox`在某些情况下无法正常工作)。","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}},"tuic-server":{"type":"object","title":"tuic-server配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"type":"integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/meta-json-schema/definitions/tuic-server/definitions/mux-option/definitions/brutal"}}}},"required":["enable","listen"],"properties":{"enable":{"type":"boolean","title":"启用tuic-server","description":"启用tuic-server","markdownDescription":"启用`tuic-server`"},"listen":{"type":"string","title":"监听地址","description":"多个使用,分隔","markdownDescription":"多个使用,分隔"},"token":{"type":"string","title":"Token","description":"Token","markdownDescription":"Token"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"congestion-controller":{"enum":["cubic","new_reno","bbr_meta_v1","bbr_meta_v2","bbr"],"markdownEnumDescriptions":["根据网络拥塞窗口的大小来调整传输速率,以使其在拥塞和非拥塞期间保持平衡","通过在网络发生拥塞时执行快速恢复和快速重传来改善数据传输性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","通过动态估计网络的带宽和往返时间(`RTT`),并根据这些信息来调整数据传输速率"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"max-datagram-frame-size":{"type":"integer","title":"最大数据帧大小","description":"不超过1400","markdownDescription":"不超过1400"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/meta-json-schema/definitions/tuic-server/definitions/mux-option"}}},"authentication":{"type":"array","title":"认证配置","description":"格式: <用户>:<密码>","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"tunnels":{"type":"array","description":"隧道配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"items":{"anyOf":[{"pattern":"^(tcp)?/?(udp)?(?:,[^,]+){2,3}$","errorMessage":"格式(,
,,[proxy])"},{"type":"object","properties":{"network":{"type":"array","items":{"enum":["tcp","udp"],"markdownEnumDescriptions":["tcp","udp"]},"title":"需要监听的网络类型","description":"可为tcp/udp","markdownDescription":"可为`tcp`/`udp`"},"address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"本地监听地址","description":"本地监听地址","markdownDescription":"本地监听地址"},"target":{"type":"string","title":"转发的目标地址","description":"转发的目标地址","markdownDescription":"转发的目标地址"},"proxy":{"type":"string","title":"经由代理","description":"经由某个proxy/proxy-group发送流量(可选)","markdownDescription":"经由某个`proxy`/`proxy-group`发送流量(可选)"}}}]}},"sniffer":{"type":"object","description":"域名嗅探配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用域名嗅探","description":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","markdownDescription":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","default":false},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问","description":"全局配置,优先级低于sniffer.sniff中的配置","markdownDescription":"全局配置,优先级低于`sniffer.sniff`中的配置","default":true},"force-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要强制嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"skip-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要跳过嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"sniffing":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"限制嗅探类型范围","description":"支持TLS,HTTP,QUIC","markdownDescription":"支持`TLS`,`HTTP`,`QUIC`","deprecationMessage":"推荐使用sniff"},"port-whitelist":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","title":"限制嗅探端口范围","description":"要求搭配sniffing使用(格式:80 或 80-88)","markdownDescription":"要求搭配`sniffing`使用(格式:`80` 或 `80-88`)","deprecationMessage":"推荐使用sniff"},"force-dns-mapping":{"type":"boolean","title":"启用redir-host强制嗅探","description":"对redir-host类型识别的流量进行强制嗅探","markdownDescription":"对`redir-host`类型识别的流量进行强制嗅探","default":true},"parse-pure-ip":{"type":"boolean","title":"启用未获取到域名强制嗅探","description":"对所有未获取到域名的流量进行强制嗅探","markdownDescription":"对所有未获取到域名的流量进行强制嗅探","default":true},"sniff":{"type":"object","title":"域名嗅探规则","description":"域名嗅探规则","markdownDescription":"域名嗅探规则","properties":{"TLS":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"HTTP":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"QUIC":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}}}}},"if":{"allOf":[{"properties":{"enable":{"const":true}}},{"properties":{"sniff":{"const":{}}}}]},"then":{"properties":{"enable":{"deprecationMessage":"未配置sniff配置"}}}}},"allOf":[{"type":"object","title":"实验性内容配置","properties":{"experimental":{"$ref":"#/definitions/meta-json-schema/definitions/experimental"}}},{"type":"object","title":"缓存配置","properties":{"profile":{"$ref":"#/definitions/meta-json-schema/definitions/profile"}}},{"type":"object","title":"iptables配置","properties":{"iptables":{"$ref":"#/definitions/meta-json-schema/definitions/iptables"}}},{"type":"object","title":"TLS配置","properties":{"tls":{"$ref":"#/definitions/meta-json-schema/definitions/tls"}}},{"title":"全局配置","$ref":"#/definitions/meta-json-schema/definitions/general"},{"type":"object","title":"代理配置","properties":{"proxies":{"$ref":"#/definitions/proxies"}}},{"type":"object","title":"代理集合配置","properties":{"proxy-providers":{"$ref":"#/definitions/proxy-providers"}}},{"type":"object","title":"代理组配置","properties":{"proxy-groups":{"$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"listeners配置","properties":{"listeners":{"$ref":"#/definitions/meta-json-schema/definitions/listeners"}}},{"type":"object","title":"规则集合配置","properties":{"rule-providers":{"$ref":"#/definitions/rule-providers"}}},{"type":"object","title":"子规则配置","properties":{"sub-rules":{"$ref":"#/definitions/meta-json-schema/definitions/sub-rules"}}},{"type":"object","title":"规则配置","properties":{"rules":{"$ref":"#/definitions/rules"}}},{"type":"object","title":"hosts配置","properties":{"hosts":{"$ref":"#/definitions/meta-json-schema/definitions/hosts"}}},{"type":"object","title":"NTP配置","properties":{"ntp":{"$ref":"#/definitions/meta-json-schema/definitions/ntp"}}},{"type":"object","title":"DNS配置","properties":{"dns":{"$ref":"#/definitions/meta-json-schema/definitions/dns"}}},{"type":"object","title":"TUN配置","properties":{"tun":{"$ref":"#/definitions/meta-json-schema/definitions/tun"}}},{"type":"object","title":"tuic-server配置","properties":{"tuic-server":{"$ref":"#/definitions/meta-json-schema/definitions/tuic-server"}}},{"type":"object","title":"认证配置","properties":{"authentication":{"$ref":"#/definitions/meta-json-schema/definitions/authentication"}}},{"type":"object","title":"隧道配置","properties":{"tunnels":{"$ref":"#/definitions/meta-json-schema/definitions/tunnels"}}},{"type":"object","title":"域名嗅探配置","properties":{"sniffer":{"$ref":"#/definitions/meta-json-schema/definitions/sniffer"}}}]},"proxies":{"type":"array","title":"代理配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"direct":{"type":"object","title":"outbound-direct","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"direct配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"dns":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocks":{"type":"object","title":"outbound-shadowsocks","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"simple-obfs-option":{"type":"object","title":"简易混淆配置","properties":{"mode":{"enums":["tls","http"],"title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"}}},"v2ray-obfs-option":{"type":"object","title":"v2ray混淆配置","required":["mode"],"properties":{"mode":{"const":"websocket","title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"mux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":true},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}},"shadow-tls-option":{"type":"object","title":"shadow-tls配置","required":["password","host"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"version":{"enum":[1,2,3],"title":"版本","description":"版本","markdownDescription":"版本","default":2}}},"restls-option":{"type":"object","title":"restls配置","required":["password","host","version-hint"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"version-hint":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"版本","description":"版本","markdownDescription":"版本"},"restls-script":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"Restls脚本","description":"Restls脚本隐藏代理流量行为","markdownDescription":"[Restls脚本隐藏代理流量行为](https://github.com/3andne/restls/blob/main/Restls-Script%3A%20Hide%20Your%20Proxy%20Traffic%20Behavior.md)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"shadowsocks配置","required":["name","server","port","password","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"plugin":{"enum":["obfs","v2ray-plugin","shadow-tls","restls"],"title":"插件","description":"插件","markdownDescription":"插件"},"udp-over-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over TCP","description":"启用UDP over TCP","markdownDescription":"启用UDP over TCP","default":false},"udp-over-tcp-version":{"enum":[0,1,2],"title":"UDP over TCP的协议版本","description":"UDP over TCP的协议版本","markdownDescription":"UDP over TCP的协议版本","default":2},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}},"allOf":[{"if":{"properties":{"plugin":{"const":"obfs"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"obfs插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"v2ray-plugin"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"v2ray-plugin插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/v2ray-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"shadow-tls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"shadow-tls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/shadow-tls-option"}}}},{"if":{"properties":{"plugin":{"const":"restls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"restls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/restls-option"}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocksr":{"type":"object","title":"outbound-shadowsocksr","definitions":{"compatible":{"string":{"anyOf":[{"type":"string"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"integer":{"anyOf":[{"type":"integer"},{"pattern":"^\\d+$"}]},"number":{"anyOf":[{"type":"number"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"boolean":{"anyOf":[{"type":"boolean"},{"pattern":"^(?i)(true|false)$"}]}},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"type":"object","title":"出站基本配置","properties":{"tfo":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"mptcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"dialer-proxy":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"}}},"smux":{"type":"object","description":"sing-mux多路复用配置","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":false},"protocol":{"enum":["smux","yamux","h2mux"],"markdownEnumDescriptions":["[smux](https://github.com/xtaci/smux)","[yamux](https://github.com/hashicorp/yamux)","[h2mux](https://pkg.go.dev/golang.org/x/net/http2)"],"title":"多路复用协议","description":"多路复用协议","markdownDescription":"多路复用协议","default":"h2mux"},"max-connections":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"min-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最小多路复用流数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"max-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最大多路复用流数量","description":"与max-connections, max-streams冲突"},"padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充","default":false},"brutal-opts":{"type":"object","title":"Brutal拥塞控制","description":"Brutal拥塞控制","markdownDescription":"[Brutal](https://github.com/apernet/tcp-brutal)拥塞控制","properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法","default":false},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}},"statistic":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"将底层连接显示在面板中","description":"方便打断底层连接","markdownDescription":"方便打断底层连接","default":false},"only-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"是否仅允许tcp","description":"smux配置将不会对udp生效(udp连接会直接走节点默认udp协议传输)","markdownDescription":"smux配置将不会对`udp`生效(udp连接会直接走节点默认`udp`协议传输)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port","password","cipher","obfs"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"obfs":{"enum":["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],"markdownEnumDescriptions":["不使用任何混淆方式(流量以明文形式传输)","将流量伪装成HTTP `GET`请求","将流量伪装成HTTP `POST`请求","在数据包的头部添加随机字节","将流量伪装成TLS 1.2通信","与`tls1.2_ticket_fastauth`类似,但在认证过程中使用了一种更快的认证方式,但可能牺牲了一些安全性"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法"},"protocol":{"enum":["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],"title":"认证协议","description":"认证协议","markdownDescription":"认证协议"}},"allOf":[{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"http_simple"},{"title":"混淆方法","const":"http_post"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"自定义伪装地址和请求体(定义多个使用,分隔并随机选取)","description":"格式: [#body],...","markdownDescription":"格式: <`host`>[#`body`],..."}}}},{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"tls1.2_ticket_auth"},{"title":"混淆方法","const":"tls1.2_ticket_fastauth"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义伪装地址(定义多个使用,分隔并随机选取)","description":"格式: ,...","markdownDescription":"格式: <`host`>,..."}}}},{"if":{"properties":{"protocol":{"anyOf":[{"title":"认证协议","const":"auth_aes128_sha1"},{"title":"认证协议","const":"auth_chain_a"}]}}},"then":{"properties":{"protocol-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义用户ID:密钥(定义多个使用,分隔并随机选取)","description":"格式: :,...","markdownDescription":"格式: <`uderId`>:<`secret`>,..."}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"snell":{"type":"object","title":"outbound-snell","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"snell配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"psk":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"版本","description":"版本","markdownDescription":"版本","default":1},"obfs-opts":{"$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"socks5":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"http":{"type":"object","title":"outbound-http","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vmess":{"type":"object","title":"outbound-vmess","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"type":"object","title":"HTTP配置","properties":{"method":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"请求方式","description":"请求方式","markdownDescription":"请求方式","default":"GET"},"path":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},"http2-option":{"type":"object","title":"HTTP配置","properties":{"host":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":["www.example.com"]},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]}}},"grpc-option":{"type":"object","title":"HTTP配置","properties":{"grpc-service-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"GRPC服务名称","description":"GRPC服务名称","markdownDescription":"GRPC服务名称"}}},"ws-option":{"type":"object","title":"HTTP配置","properties":{"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"max-early-data":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大早期数据大小","description":"单位:bytes","markdownDescription":"单位:`bytes`"},"early-data-header-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"早期数据使用的header字段名","description":"早期数据使用的header字段名","markdownDescription":"早期数据使用的header字段名"},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vmess配置","required":["name","server","port","uuid","alterId","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"global-padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"全局填充","description":"全局填充","markdownDescription":"全局填充"},"authenticated-length":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用验证信息长度","description":"启用验证信息长度","markdownDescription":"启用验证信息长度"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vless":{"type":"object","title":"outbound-vless","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"http2-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vless配置","required":["name","server","port","uuid"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"flow":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"],"markdownEnumDescriptions":["将传入的连接直接转发到目标服务器,不做任何修改或处理","解析传入的连接中的TLS握手信息,然后直接与目标服务器建立加密连接","将传入的连接解析为TLS握手信息,然后重新生成一个新的TLS握手,并在客户端和服务器之间建立两个独立的TLS连接","尝试直接连接目标服务器,如果失败则回退到`xtls-rprx-splice`模式"],"title":"流量控制方式","description":"流量控制方式","markdownDescription":"流量控制方式","if":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice"]},"then":{"deprecationMessage":"旧版XTLS协议(xtls-rprx-origin、xtls-rprx-direct、xtls-rprx-splice)已弃用且不再支持"}},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"ws-path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"ws-headers":{"type":"object","title":"ws请求头","description":"ws请求头","markdownDescription":"ws请求头","additionalProperties":{"type":"string"}},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"trojan":{"type":"object","title":"outbound-trojan","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"type":"object","title":"outbound-reality","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["public-key","short-id"],"properties":{"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"short-id":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"short ID","description":"short ID","markdownDescription":"short ID"}}},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"trojan配置","required":["name","server","port","password"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"SNI(Server Name Indication)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria":{"type":"object","title":"outbound-hysteria","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria配置","required":["name","server","up","down"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法","default":"udp"},"obfs-protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法(为兼容Stash引入,优先级高于protocol)","markdownDescription":"混淆方法(为兼容Stash引入,优先级高于`protocol`)","default":"udp"},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"up-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于up)","markdownDescription":"单位:`Mbps`上行带宽(为兼容Stash引入,优先级高于`up`)"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于down)","markdownDescription":"单位:`Mbps`下行带宽(为兼容Stash引入,优先级高于`down`)"},"auth-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串","markdownDescription":"认证字符串"},"auth":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串(为兼容Stash引入,优先级高于auth-str)","markdownDescription":"认证字符串(为兼容Stash引入,优先级高于`auth-str`)"},"obfs":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria2":{"type":"object","title":"outbound-hysteria2","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria2配置","required":["name","server"],"dependentRequired":{"obfs":["obfs-password"]},"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"wireguard":{"type":"object","title":"outbound-wireguard","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"wireguard-peer-option":{"type":"object","title":"peer配置","required":["server","port"],"properties":{"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"pre-shared-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"预共享密钥","description":"预共享密钥","markdownDescription":"预共享密钥"},"reserved":{"type":"array","title":"保留字段值","description":"部分WARP节点需要使用","markdownDescription":"部分`WARP`节点需要使用"},"allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"允许进行流量转发的IP段","description":"允许进行流量转发的IP段","markdownDescription":"允许进行流量转发的IP段"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"wireguard配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"本机在Wireguard网络中使用的IPv4地址","description":"本机在Wireguard网络中使用的IPv4地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv4`地址"},"ipv6":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"本机在Wireguard网络中使用的IPv6地址","description":"本机在Wireguard网络中使用的IPv6地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv6`地址"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥(Base64编码)","markdownDescription":"私钥(`Base64`编码)"},"workers":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"工作线程","description":"工作线程(默认为CPU逻辑核心数)","markdownDescription":"工作线程(默认为CPU逻辑核心数)"},"mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大传输单元","description":"最大传输单元","markdownDescription":"最大传输单元","default":1408},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"persistent-keepalive":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"持久保活间隔","description":"单位:s","markdownDescription":"单位:s"},"peers":{"type":"array","title":"peer配置","description":"peer配置","markdownDescription":"peer配置","items":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},"remote-dns-resolve":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"强制DNS远程解析","description":"强制DNS远程解析","markdownDescription":"强制DNS远程解析","default":false},"dns":{"$ref":"#/definitions/rule-providers/definitions/types/serverArray","title":"DNS解析服务器","description":"DNS解析服务器(要求启用remote-dns-resolve)","markdownDescription":"DNS解析服务器(要求启用`remote-dns-resolve`)"}},"if":{"not":{"properties":{"peers":{"type":"array"}}}},"then":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"tuic":{"type":"object","title":"outbound-tuic","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"tuic配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"token":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"TUIC V5的用户标识","description":"TUIC V5的用户标识","markdownDescription":"TUIC `V5`的用户标识"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V5的用户密码","description":"TUIC V5的用户密码","markdownDescription":"TUIC `V5`的用户密码"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"覆盖server选项中设置的服务器地址的DNS查找结果","description":"覆盖server选项中设置的服务器地址的DNS查找结果","markdownDescription":"覆盖`server`选项中设置的服务器地址的DNS查找结果"},"heartbeat-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"发送保持连接活动的心跳包的间隔时间","description":"单位:ms","markdownDescription":"单位:ms","default":10000},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"reduce-rtt":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用QUIC的0-RTT握手","description":"可以减少连接建立时间,但可能增加重放攻击的风险","markdownDescription":"可以减少连接建立时间,但可能增加重放攻击的风险"},"request-timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"连接TUIC代理服务器的超时时间","description":"单位:ms","markdownDescription":"单位:ms","default":8000},"udp-relay-mode":{"enum":["native","quic"],"title":"UDP数据包中继模式","description":"UDP数据包中继模式","markdownDescription":"UDP数据包中继模式","default":"native"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"disable-sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"max-udp-relay-packet-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1252},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"max-open-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大打开流的数量","description":"过多的打开流可能会影响性能","markdownDescription":"过多的打开流可能会影响性能","default":100},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"max-datagram-frame-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大数据帧大小","description":"最大数据帧大小","markdownDescription":"最大数据帧大小"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp-over-stream":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over Stream","description":"meta和sing-box私有扩展,将ss-uot用于udp中继(开启此选项后udp-relay-mode将失效警告,与原版tuic不兼容)","markdownDescription":"`meta`和`sing-box`私有扩展,将ss-uot用于udp中继(开启此选项后`udp-relay-mode`将失效警告,与原版`tuic`不兼容)"},"udp-over-stream-version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP over Stream版本","description":"UDP over Stream版本","markdownDescription":"UDP over Stream版本"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"ssh":{"type":"object","title":"outbound-ssh","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"ssh配置","required":["name","server","port","username"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"private-key-passphrase":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥密码","markdownDescription":"私钥密码"},"host-key":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥","description":"主机私钥","markdownDescription":"主机私钥"},"host-key-algorithms":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥算法","description":"主机私钥算法","markdownDescription":"主机私钥算法"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]}},"items":{"anyOf":[{"type":"object","title":"direct","properties":{"type":{"title":"direct配置","const":"direct"}},"$ref":"#/definitions/proxies/definitions/direct"},{"type":"object","title":"dns","properties":{"type":{"title":"dns配置","const":"dns"}},"$ref":"#/definitions/proxies/definitions/dns"},{"type":"object","title":"shadowsocks","properties":{"type":{"title":"shadowsocks配置","const":"ss"}},"$ref":"#/definitions/proxies/definitions/shadowsocks"},{"type":"object","title":"shadowsocksr","properties":{"type":{"title":"shadowsocksr配置","const":"ssr"}},"$ref":"#/definitions/proxies/definitions/shadowsocksr"},{"type":"object","title":"snell","properties":{"type":{"title":"snell配置","const":"snell"}},"$ref":"#/definitions/proxies/definitions/snell"},{"type":"object","title":"socks5","properties":{"type":{"title":"socks5配置","const":"socks5"}},"$ref":"#/definitions/proxies/definitions/socks5"},{"type":"object","title":"http","properties":{"type":{"title":"http配置","const":"http"}},"$ref":"#/definitions/proxies/definitions/http"},{"type":"object","title":"vmess","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/proxies/definitions/vmess"},{"type":"object","title":"vless","properties":{"type":{"title":"vless配置","const":"vless"}},"$ref":"#/definitions/proxies/definitions/vless"},{"type":"object","title":"trojan","properties":{"type":{"title":"trojan配置","const":"trojan"}},"$ref":"#/definitions/proxies/definitions/trojan"},{"type":"object","title":"hysteria","properties":{"type":{"title":"hysteria配置","const":"hysteria"}},"$ref":"#/definitions/proxies/definitions/hysteria"},{"type":"object","title":"hysteria2","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/proxies/definitions/hysteria2"},{"type":"object","title":"wireguard","properties":{"type":{"title":"wireguard配置","const":"wireguard"}},"$ref":"#/definitions/proxies/definitions/wireguard"},{"type":"object","title":"tuic","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/proxies/definitions/tuic"},{"type":"object","title":"ssh","properties":{"type":{"title":"ssh配置","const":"ssh"}},"$ref":"#/definitions/proxies/definitions/ssh"}]}},"proxy-providers":{"type":"object","title":"代理集合配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"health-check":{"type":"object","title":"健康检查","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用健康检查","description":"启用健康检查","markdownDescription":"启用健康检查","default":false},"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"健康检查地址","description":"健康检查url","markdownDescription":"健康检查url","default":"https://www.gstatic.com/generate_204"},"interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查间隔","description":"格式: <时长>[ms或s(默认:s)]","markdownDescription":"格式: <时长>[ms或s(默认:s)]","default":"300"},"timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查超时","description":"格式: <时长>[ms或s(默认:ms)]","markdownDescription":"格式: <时长>[ms或s(默认:ms)]","default":"5000"},"lazy":{"type":"boolean","title":"懒加载","description":"未被使用时,不进行健康检查测试","markdownDescription":"未被使用时,不进行健康检查测试","default":true},"expected-status":{"anyOf":[{"type":"string","pattern":"^(?:\\/?\\d{3}(-?\\d{3})?)+$","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码","default":"*"},{"type":"integer","minimum":100,"maximum":999,"title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"},{"type":"string","const":"*","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"}]}}}},"patternProperties":{"^default$":{"type":"null","errorMessage":"不能使用default作为provider的名称"}},"additionalProperties":{"type":"object","required":["type"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"},"header":{"type":"object","errorMessage":"类型应为object"},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"},"override":{"allOf":[{"type":"object","title":"覆写节点内容","description":"覆写节点内容","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`"},"up":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置上行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置上行带宽"},"down":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置下行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置下行带宽"},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"skip-cert-verify":{"type":"boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"interface-name":{"type":"string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"additional-prefix":{"type":"string","title":"为节点名称添加固定前缀","description":"为节点名称添加固定前缀","markdownDescription":"为节点名称添加固定前缀"},"additional-suffix":{"type":"string","title":"为节点名称添加固定后缀","description":"为节点名称添加固定后缀","markdownDescription":"为节点名称添加固定后缀"}}}]},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据节点类型排除节点","description":"direct, dns, ss, ssr, snell, socks5, http, vmess, vless, trojan, hysteria, hysteria2, wireguard, tuic, ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`direct`,`dns`,`ss`,`ssr`,`snell`,`socks5`,`http`,`vmess`,`vless`,`trojan`,`hysteria`,`hysteria2`,`wireguard`,`tuic`,`ssh`(使用`|`分隔,不支持正则表达式)"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"proxy-groups":{"type":"array","title":"代理组配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"url-test":{"type":"object","title":"outboundgroup-url-test","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"url-test配置","properties":{"tolerance":{"type":"integer","title":"代理节点切换容差","description":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)","markdownDescription":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)"}}}]},"fallback":{"type":"object","title":"outboundgroup-fallback","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"fallback配置","properties":{}}]},"load-balance":{"type":"object","title":"outboundgroup-load-balance","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"type":"object","title":"outboundgroup-groupbase","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"出站基础配置","properties":{"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"出站名称","description":"出站名称","markdownDescription":"出站名称"},"type":{"enum":["select","url-test","fallback","load-balance","relay"],"markdownEnumDescriptions":["手动选择","延迟选优","故障转移","负载均衡","链式代理"],"title":"出站类型","description":"出站类型","markdownDescription":"出站类型"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"}}},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"}},"allOf":[{"title":"出站基础配置","required":["name","type"],"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase/definitions/base-option"},{"allOf":[{"type":"object","title":"代理组基础配置","properties":{"proxies":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点列表","description":"代理节点列表","markdownDescription":"代理节点列表"},"use":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"引入proxy-provider中的代理节点","description":"引入proxy-provider中的代理节点","markdownDescription":"引入proxy-provider中的代理节点"},"max-failed-times":{"type":"integer","title":"最大失败次数","description":"在timeout时间长度内,请求失败max-failed-times次,强制提前主动触发健康检查","markdownDescription":"在`timeout`时间长度内,请求失败`max-failed-times`次,强制提前主动触发健康检查","default":5},"disable-udp":{"type":"boolean","title":"禁用UDP","description":"禁用UDP","markdownDescription":"禁用`UDP`"},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据出站类型排除节点","description":"Direct, Reject, RejectDrop, Compatible, Pass, Dns, Shadowsocks, ShadowsocksR, Snell, Socks5, Http, Vmess, Vless, Trojan, Hysteria, Hysteria2, WireGuard, Tuic, Relay, Selector, Fallback, URLTest, LoadBalance, Ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`Direct`,`Reject`,`RejectDrop`,`Compatible`,`Pass`,`Dns`,`Shadowsocks`,`ShadowsocksR`,`Snell`,`Socks5`,`Http`,`Vmess`,`Vless`,`Trojan`,`Hysteria`,`Hysteria2`,`WireGuard`,`Tuic`,`Relay`,`Selector`,`Fallback`,`URLTest`,`LoadBalance`,`Ssh(使用`|`分隔,不支持正则表达式)"},"include-all":{"type":"boolean","title":"引入所有proxies和proxy-providers包含的代理节点","description":"引入所有proxies和proxy-providers包含的代理节点(优先级高于include-all-proxies和include-all-providers)","markdownDescription":"引入所有`proxies`和`proxy-providers`包含的代理节点(优先级高于`include-all-proxies`和`include-all-providers`)"},"include-all-proxies":{"type":"boolean","title":"引入所有proxies包含的代理节点","description":"引入所有proxies包含的代理节点","markdownDescription":"引入所有`proxies`包含的代理节点"},"include-all-providers":{"type":"boolean","title":"引入所有proxy-providers包含的代理节点","description":"引入所有proxy-providers包含的代理节点","markdownDescription":"引入所有`proxy-providers`包含的代理节点"},"hidden":{"type":"boolean","title":"隐藏代理组","description":"需要调用RESTful API的Web UI适配支持","markdownDescription":"需要调用RESTful API的Web UI适配支持"},"icon":{"type":"string","title":"代理组图标","description":"标签src属性支持的值(如url、data:image/*;base64等,需要调用RESTful API的Web UI适配支持)","markdownDescription":"``标签`src`属性支持的值(如`url`、`data:image/*;base64`等,需要调用RESTful API的Web UI适配支持)"}}},{"title":"健康检查配置","$ref":"#/definitions/proxy-providers/definitions/health-check"}]}]}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"load-balance配置","properties":{"strategy":{"enum":["consistent-hashing","round-robin","sticky-sessions"],"title":"负载均衡策略","markdownEnumDescriptions":["一致性哈希,把相同顶级域名的请求分配给代理组内的同一个代理节点","轮询,按照顺序将请求分发给每个可用的服务器","粘性会话,将特定的用户会话绑定到同一台服务器上"],"default":"consistent-hashing"}}}]},"relay":{"type":"object","title":"outboundgroup-relay","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"relay配置","properties":{}}]}},"items":{"anyOf":[{"title":"url-test配置","$ref":"#/definitions/proxy-groups/definitions/url-test"},{"title":"fallback配置","$ref":"#/definitions/proxy-groups/definitions/fallback"},{"title":"load-balance配置","$ref":"#/definitions/proxy-groups/definitions/load-balance"},{"title":"relay配置","$ref":"#/definitions/proxy-groups/definitions/relay"}]}},"rule-providers":{"type":"object","title":"规则集合配置","definitions":{"types":{"stringArray":{"type":"array","items":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string"}},"portArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/port"}},"portRangeArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/portRange"}},"ipv4Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"}},"ipv4PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"}},"ipv4CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"}},"ipv6Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}},"ipv6PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}},"ipv6CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}},"ipArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip"}},"ipPortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort"}},"ipCIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR"}},"serverArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/server"}},"domainArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domain"}},"domainWildcardArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domainWildcard"}},"urlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/url"}},"httpUrlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl"}}},"patterns":{"port":{"anyOf":[{"type":"integer","minimum":0,"maximum":65535},{"type":"string","pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口号(0~65535)"}]},"portRange":{"pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$|^([1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])-(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口范围(port 或 port1-port2)"},"ipv4":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$","errorMessage":"无效的IPv4地址"},"ipv4Port":{"pattern":"^((?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5])))?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的IPv4地址:端口"},"ipv4CIDR":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))(?:\\/(?:[12]?[0-9]|3[0-2]))$","errorMessage":"无效的IPv4网段"},"ipv6":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)$","errorMessage":"无效的IPv6地址"},"ipv6Port":{"pattern":"^(\\[([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\])?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的[IPv6地址]:端口"},"ipv6CIDR":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$","errorMessage":"无效的IPv6网段"},"ip":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}]},"ipPort":{"anyOf":[{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}]},"ipCIDR":{"anyOf":[{"description":"ipv4网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"},{"description":"ipv6网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}]},"domain":{"pattern":"^(xn--)?[a-zA-Z0-9-_]+(?:\\.(xn--)?[a-zA-Z0-9-_]+)+$","errorMessage":"无效的域名"},"domainWildcard":{"pattern":"^\\+?(xn--)?[a-zA-Z0-9-_*.]+(?:\\.(xn--)?[a-zA-Z0-9-_*]+)*$","errorMessage":"无效的域名通配"},"server":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"},{"description":"域名","$ref":"#/definitions/rule-providers/definitions/patterns/domain"}]},"url":{"pattern":"^.+:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的URL"},"httpUrl":{"pattern":"^https?:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的HTTP-URL"},"uuid":{"pattern":"^[0-9a-fA-F]{8}(?:-?[0-9a-fA-F]{4}){3}-?[0-9a-fA-F]{12}$","errorMessage":"无效的UUID"}},"enums":{"cipher":{"description":"加密方法","enum":["none","auto","dummy","aes-128-gcm","aes-192-gcm","aes-256-gcm","lea-128-gcm","lea-192-gcm","lea-256-gcm","aes-128-gcm-siv","aes-256-gcm-siv","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","chacha20","chacha20-ietf","chacha20-ietf-poly1305","2022-blake3-chacha20-poly1305","rabbit128-poly1305","xchacha20-ietf-poly1305","xchacha20","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5"]},"fingerprint":{"description":"指纹","enum":["chrome","chrome_psk","chrome_psk_shuffle","chrome_padding_psk_shuffle","chrome_pq","chrome_pq_psk","firefox","safari","ios","android","edge","360","qq","random","randomized"]}}},"additionalProperties":{"type":"object","required":["type","behavior"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"behavior":{"enum":["domain","ipcidr","classical"],"markdownEnumDescriptions":["域名通配","IP网段匹配","支持除`rule-set`/`sub-rule`以外的全部路由规则"],"title":"规则匹配行为","description":"规则匹配行为","markdownDescription":"规则匹配行为"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"format":{"enum":["yaml","text"],"markdownEnumDescriptions":["YAML格式","普通文本格式"],"title":"provider文件格式","description":"provider文件格式","markdownDescription":"provider文件格式","default":"yaml"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"rules":{"type":"array","title":"规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"type":"string","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"anyOf":[{"title":"匹配完整域名","pattern":"^DOMAIN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名后缀","pattern":"^DOMAIN-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名关键字","pattern":"^DOMAIN-KEYWORD((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名正则表达式","pattern":"^DOMAIN-REGEX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Geosite内的域名","pattern":"^GEOSITE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属国家代码","pattern":"^GEOIP((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属国家代码","pattern":"^SRC-GEOIP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属ASN","pattern":"^IP-ASN((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属ASN","pattern":"^SCR-IP-ASN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR6((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP地址范围","pattern":"^SRC-IP-CIDR((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP后缀范围","pattern":"^IP-SUFFIX((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP后缀范围","pattern":"^SRC-IP-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求来源端口范围","pattern":"^SRC-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求目标端口范围","pattern":"^DST-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站端口,可用端口范围","pattern":"^IN-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"DSCP标记(仅限tproxy udp入站)","pattern":"^DSCP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配进程名称(Android包名)","pattern":"^PROCESS-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配完整进程路径","pattern":"^PROCESS-PATH((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程名称(Android包名)","pattern":"^PROCESS-NAME-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程路径","pattern":"^PROCESS-PATH-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"匹配传输协议(tcp/udp)","pattern":"^NETWORK((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Linux USER ID","pattern":"^UID((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站类型","pattern":"^IN-TYPE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站用户名","pattern":"^IN-USER((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站名称","pattern":"^IN-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"子规则","pattern":"^SUB-RULE,\\(.+\\),.+$","errorMessage":"无效的规则"},{"title":"匹配规则集(rule-providers中定义)","pattern":"^RULE-SET((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"逻辑和","pattern":"^AND,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑或","pattern":"^OR,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑非","pattern":"^NOT,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"匹配所有请求(无需条件)","pattern":"^MATCH,.+$","errorMessage":"无效的规则"}]}},"items":{"$ref":"#/definitions/rules/definitions/rule"}}},"allOf":[{"title":"覆写profile配置","$ref":"#/definitions/meta-json-schema"},{"type":"object","title":"前置规则配置","properties":{"prepend-rules":{"title":"前置规则配置","$ref":"#/definitions/rules"}}},{"type":"object","title":"前置规则集合配置","properties":{"prepend-rule-providers":{"title":"前置规则集合配置","$ref":"#/definitions/rule-providers","deprecationMessage":"v1.16.2已移除(请使用rule-providers代替)"}}},{"type":"object","title":"前置代理节点配置","properties":{"prepend-proxies":{"title":"前置代理节点配置","$ref":"#/definitions/proxies"}}},{"type":"object","title":"前置代理集合配置","properties":{"prepend-proxy-providers":{"title":"前置代理集合配置","$ref":"#/definitions/proxy-providers","deprecationMessage":"v1.16.2已移除(请使用proxy-providers代替)"}}},{"type":"object","title":"前置代理组配置","properties":{"prepend-proxy-groups":{"title":"前置代理组配置","$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"后置规则配置","properties":{"append-rules":{"title":"后置规则配置","$ref":"#/definitions/rules"}}},{"type":"object","title":"后置规则集合配置","properties":{"append-rule-providers":{"title":"后置规则集合配置","$ref":"#/definitions/rule-providers","deprecationMessage":"v1.16.2已移除(请使用rule-providers代替)"}}},{"type":"object","title":"后置代理节点配置","properties":{"append-proxies":{"title":"后置代理节点配置","$ref":"#/definitions/proxies"}}},{"type":"object","title":"后置代理集合配置","properties":{"append-proxy-providers":{"title":"后置代理集合配置","$ref":"#/definitions/proxy-providers","deprecationMessage":"v1.16.2已移除(请使用proxy-providers代替)"}}},{"type":"object","title":"后置代理组配置","properties":{"append-proxy-groups":{"title":"后置代理组配置","$ref":"#/definitions/proxy-groups"}}}]} \ No newline at end of file diff --git a/schemas/meta-json-schema.json b/schemas/meta-json-schema.json index 92a6fc5..fe8dbbe 100644 --- a/schemas/meta-json-schema.json +++ b/schemas/meta-json-schema.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/MetaCubeX/meta-json-schema/schemas/meta-json-schema.json","type":"object","title":"Clash Meta Config","additionalProperties":true,"definitions":{"experimental":{"type":"object","title":"实验性内容配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"quic-go-disable-gso":{"type":"boolean","title":"quic-go禁用GSO","description":"quic禁用GSO(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量QUIC_GO_DISABLE_GSO=1)","markdownDescription":"quic禁用`GSO`(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量`QUIC_GO_DISABLE_GSO=1`)"},"quic-go-disable-ecn":{"type":"boolean","title":"quic-go禁用ECN","description":"quic禁用ECN(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","markdownDescription":"quic禁用`ECN`(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","default":true},"dialer-ip4p-convert":{"type":"boolean","title":"启用IP4P地址转换","description":"NATMap可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。","markdownDescription":"`NATMap`可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。"}}},"profile":{"type":"object","title":"缓存配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"store-selected":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":true},"store-fake-ip":{"type":"boolean","title":"持久化缓存fake-ip映射表","description":"缓存fake-ip映射表,域名再次发生连接时,使用原有映射地址","markdownDescription":"缓存`fake-ip`映射表,域名再次发生连接时,使用原有映射地址","default":false}}},"iptables":{"type":"object","title":"iptables配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":false},"inbound-interface":{"type":"string","title":"入站接口","description":"入站规则将仅应用于哪个接口(默认本地环回接口)","markdownDescription":"入站规则将仅应用于哪个接口(默认本地环回接口)","default":"lo"},"bypass":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"需要绕过iptables规则的IP地址或网段列表","description":"需要绕过iptables规则的IP地址或网段列表","markdownDescription":"需要绕过`iptables`规则的IP地址或网段列表","default":[]},"dns-redirect":{"type":"boolean","title":"DNS重定向","description":"DNS重定向","markdownDescription":"DNS重定向","default":true}}},"tls":{"type":"object","title":"TLS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"custom-certifactes":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自定义证书列表","description":"自定义证书列表","markdownDescription":"自定义证书列表"}}},"general":{"type":"object","title":"全局配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"inbound":{"type":"object","title":"inbound配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)代理端口","description":"HTTP(S)代理端口","markdownDescription":"`HTTP(S)`代理端口"},"socks-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"SOCKS代理端口","description":"SOCKS代理端口","markdownDescription":"`SOCKS`代理端口"},"redir-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux和MacOS","markdownDescription":"用于`Linux`和`MacOS`"},"tproxy-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux(TProxy TCP 和 TProxy UDP)","markdownDescription":"用于`Linux`(TProxy TCP 和 TProxy UDP)"},"mixed-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)和SOCKS代理混合端口","description":"HTTP(S)和SOCKS代理混合端口","markdownDescription":"`HTTP(S)`和`SOCKS`代理混合端口","default":7890},"ss-config":{"type":"string","title":"shadowsocks配置","description":"根据配置(URL格式)启动shadowsocks服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动shadowsocks服务器,并添加到listeners"},"vmess-config":{"type":"string","title":"vmess配置","description":"根据配置(URL格式)启动vmess服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动vmess服务器,并添加到listeners"},"allow-lan":{"type":"boolean","title":"允许局域网","description":"允许其他设备经过内核的代理端口访问互联网","markdownDescription":"允许其他设备经过内核的代理端口访问互联网","default":false},"skip-auth-prefixes":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许跳过验证的IP段","description":"允许跳过验证的IP段","markdownDescription":"允许跳过验证的IP段"},"lan-allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许连接的IP地址段","description":"需要启用allow-lan","markdownDescription":"需要启用`allow-lan`","default":["0.0.0.0/0","::/0"]},"lan-disallowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"不允许连接的IP地址段","description":"需要启用allow-lan(优先级高于lan-allowed-ips)","markdownDescription":"需要启用`allow-lan`(优先级高于`lan-allowed-ips`)"},"bind-address":{"anyOf":[{"const":"*","title":"绑定所有 IP 地址","description":"允许其他设备通过所有地址访问","markdownDescription":"允许其他设备通过所有地址访问"},{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"绑定单个 IP 地址","description":"仅允许其他设备通过这个地址访问","markdownDescription":"仅允许其他设备通过这个地址访问"}]},"inbound-tfo":{"type":"boolean","title":"入站启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"inbound-mptcp":{"type":"boolean","title":"入站启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"}}},"controller":{"type":"object","title":"controller配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"external-controller":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTP)监听地址","description":"可以使用RESTful API来控制内核","markdownDescription":"可以使用RESTful API来控制内核"},"external-controller-tls":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTPS)监听地址","description":"可以使用RESTful API over HTTPS来控制内核","markdownDescription":"可以使用RESTful API over HTTPS来控制内核"},"external-controller-unix":{"type":"string","title":"外部控制器(Unix Socket)监听地址","description":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)","markdownDescription":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)"},"external-ui":{"type":"string","title":"外部用户界面路径(默认:工作目录/ui)","description":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)","markdownDescription":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)"},"external-ui-url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"外部用户界面下载地址","description":"外部用户界面下载地址","markdownDescription":"外部用户界面下载地址","default":"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"},"external-ui-name":{"type":"string","title":"外部用户界面下载目录","description":"下载时会下载到指定文件夹(默认下载到external-ui配置的目录)","markdownDescription":"下载时会下载到指定文件夹(默认下载到`external-ui`配置的目录)"},"secret":{"type":"string","title":"外部控制器RESTful API访问密钥","description":"请求头Authorization:Bearer ","markdownDescription":"请求头Authorization:Bearer <`secret`>"}}},"geox-url":{"type":"object","title":"geox-url配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"geoip":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geoip文件下载地址","description":"geoip文件下载地址","markdownDescription":"`geoip`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat"},"mmdb":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"mmdb文件下载地址","description":"mmdb文件下载地址","markdownDescription":"`mmdb`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"},"asn":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"asn文件下载地址","description":"asn文件下载地址","markdownDescription":"`asn`文件下载地址","default":"https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geosite文件下载地址","description":"geosite文件下载地址","markdownDescription":"`geosite`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat"}}},"ebpf":{"type":"object","title":"ebpf配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"redirect-to-tun":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"重定向到TUN接口列表","description":"支持TCP+UDP(使用该功能请勿启用auto-route)","markdownDescription":"支持TCP+UDP(使用该功能请勿启用`auto-route`)"},"auto-redir":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自动重定向接口列表","description":"仅支持TCP","markdownDescription":"仅支持TCP"}}}},"allOf":[{"title":"inbound配置","$ref":"#/definitions/general/definitions/inbound"},{"title":"controller配置","$ref":"#/definitions/general/definitions/controller"},{"properties":{"unified-delay":{"type":"boolean","title":"更换延迟计算方式","description":"去除握手等额外延迟","markdownDescription":"去除握手等额外延迟","default":false},"mode":{"enum":["global","rule","direct"],"markdownEnumDescriptions":["全局代理","规则匹配","全局直连"],"title":"运行模式","description":"运行模式","markdownDescription":"运行模式","default":"rule"},"log-level":{"enum":["debug","info","warning","error","silent"],"markdownEnumDescriptions":["尽可能的输出运行中所有的信息","输出一般运行的内容,以及`error`和`warning`级别的日志","输出发生错误但不影响运行的日志,以及`error`级别内容","仅输出发生错误至无法使用的日志","静默,不输出"],"title":"日志级别","description":"日志级别","markdownDescription":"日志级别","default":"info"},"ipv6":{"type":"boolean","title":"是否允许内核接受IPv6流量","description":"是否允许内核接受IPv6流量","markdownDescription":"是否允许内核接受`IPv6`流量","default":true},"interface-name":{"type":"string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"geox-url":{"title":"geox-url配置","$ref":"#/definitions/general/definitions/geox-url"},"geo-auto-update":{"type":"boolean","title":"Geo自动更新","description":"Geo自动更新","markdownDescription":"Geo自动更新","default":false},"geo-update-interval":{"type":"integer","title":"Geo自动更新间隔","description":"单位:h","markdownDescription":"单位:h","default":24},"geodata-mode":{"type":"boolean","title":"GeoIP数据模式","description":"更改geoip使用文件(true: dat, false: mmdb)","markdownDescription":"更改geoip使用文件(true: dat, false: mmdb)","default":false},"geodata-loader":{"enum":["standard","memconservative","memc"],"markdownEnumDescriptions":["标准加载器","专为内存受限(小内存)设备优化的加载器","`memconservative`的别名"],"title":"Geo文件加载器","description":"Geo文件加载器","markdownDescription":"Geo文件加载器","default":"memconservative"},"geosite-matcher":{"enum":["mph","hybrid","succinct"],"markdownEnumDescriptions":["根据Geosite规则中的域名或IP地址信息,将匹配的网络流量代理到指定的目标服务器","根据域名、IP地址和CIDR地址等规则进行匹配,并根据预定义的优先级来选择最佳的匹配结果","使用了一种紧凑的数据结构,可以有效地存储和查询大量的Geosite规则"],"title":"Geosite匹配器","description":"Geosite匹配器","markdownDescription":"Geosite匹配器","default":"succinct"},"tcp-concurrent":{"type":"boolean","title":"TCP并发","description":"TCP并发","markdownDescription":"TCP并发","default":false},"find-process-mode":{"enum":["always","strict","off"],"markdownEnumDescriptions":["强制匹配所有进程","由内核判断是否开启","不匹配进程,推荐在路由器上使用此模式"],"title":"进程匹配模式","description":"进程匹配模式","markdownDescription":"进程匹配模式","default":"strict"},"ebpf":{"title":"ebpf配置","$ref":"#/definitions/general/definitions/ebpf"},"global-client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"全局客户端指纹","description":"支持协议有VLESS,Vmess,trojan","markdownDescription":"支持协议有`VLESS`,`Vmess`,`trojan`"},"global-ua":{"type":"string","title":"全局UA","description":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","markdownDescription":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","default":"clash.meta"}}}]},"proxies":{"type":"array","title":"代理配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"direct":{"type":"object","title":"outbound-direct","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"direct配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"dns":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocks":{"type":"object","title":"outbound-shadowsocks","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"simple-obfs-option":{"type":"object","title":"简易混淆配置","properties":{"mode":{"enums":["tls","http"],"title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"}}},"v2ray-obfs-option":{"type":"object","title":"v2ray混淆配置","required":["mode"],"properties":{"mode":{"const":"websocket","title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"mux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":true},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}},"shadow-tls-option":{"type":"object","title":"shadow-tls配置","required":["password","host"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"version":{"enum":[1,2,3],"title":"版本","description":"版本","markdownDescription":"版本","default":2}}},"restls-option":{"type":"object","title":"restls配置","required":["password","host","version-hint"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"version-hint":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"版本","description":"版本","markdownDescription":"版本"},"restls-script":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"Restls脚本","description":"Restls脚本隐藏代理流量行为","markdownDescription":"[Restls脚本隐藏代理流量行为](https://github.com/3andne/restls/blob/main/Restls-Script%3A%20Hide%20Your%20Proxy%20Traffic%20Behavior.md)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"shadowsocks配置","required":["name","server","port","password","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"plugin":{"enum":["obfs","v2ray-plugin","shadow-tls","restls"],"title":"插件","description":"插件","markdownDescription":"插件"},"udp-over-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over TCP","description":"启用UDP over TCP","markdownDescription":"启用UDP over TCP","default":false},"udp-over-tcp-version":{"enum":[0,1,2],"title":"UDP over TCP的协议版本","description":"UDP over TCP的协议版本","markdownDescription":"UDP over TCP的协议版本","default":2},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}},"allOf":[{"if":{"properties":{"plugin":{"const":"obfs"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"obfs插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"v2ray-plugin"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"v2ray-plugin插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/v2ray-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"shadow-tls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"shadow-tls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/shadow-tls-option"}}}},{"if":{"properties":{"plugin":{"const":"restls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"restls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/restls-option"}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocksr":{"type":"object","title":"outbound-shadowsocksr","definitions":{"compatible":{"string":{"anyOf":[{"type":"string"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"integer":{"anyOf":[{"type":"integer"},{"pattern":"^\\d+$"}]},"number":{"anyOf":[{"type":"number"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"boolean":{"anyOf":[{"type":"boolean"},{"pattern":"^(?i)(true|false)$"}]}},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"type":"object","title":"出站基本配置","properties":{"tfo":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"mptcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"dialer-proxy":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"}}},"smux":{"type":"object","description":"sing-mux多路复用配置","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":false},"protocol":{"enum":["smux","yamux","h2mux"],"markdownEnumDescriptions":["[smux](https://github.com/xtaci/smux)","[yamux](https://github.com/hashicorp/yamux)","[h2mux](https://pkg.go.dev/golang.org/x/net/http2)"],"title":"多路复用协议","description":"多路复用协议","markdownDescription":"多路复用协议","default":"h2mux"},"max-connections":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"min-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最小多路复用流数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"max-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最大多路复用流数量","description":"与max-connections, max-streams冲突"},"padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充","default":false},"brutal-opts":{"type":"object","title":"Brutal拥塞控制","description":"Brutal拥塞控制","markdownDescription":"[Brutal](https://github.com/apernet/tcp-brutal)拥塞控制","properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法","default":false},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}},"statistic":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"将底层连接显示在面板中","description":"方便打断底层连接","markdownDescription":"方便打断底层连接","default":false},"only-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"是否仅允许tcp","description":"smux配置将不会对udp生效(udp连接会直接走节点默认udp协议传输)","markdownDescription":"smux配置将不会对`udp`生效(udp连接会直接走节点默认`udp`协议传输)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port","password","cipher","obfs"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"obfs":{"enum":["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],"markdownEnumDescriptions":["不使用任何混淆方式(流量以明文形式传输)","将流量伪装成HTTP `GET`请求","将流量伪装成HTTP `POST`请求","在数据包的头部添加随机字节","将流量伪装成TLS 1.2通信","与`tls1.2_ticket_fastauth`类似,但在认证过程中使用了一种更快的认证方式,但可能牺牲了一些安全性"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法"},"protocol":{"enum":["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],"title":"认证协议","description":"认证协议","markdownDescription":"认证协议"}},"allOf":[{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"http_simple"},{"title":"混淆方法","const":"http_post"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"自定义伪装地址和请求体(定义多个使用,分隔并随机选取)","description":"格式: [#body],...","markdownDescription":"格式: <`host`>[#`body`],..."}}}},{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"tls1.2_ticket_auth"},{"title":"混淆方法","const":"tls1.2_ticket_fastauth"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义伪装地址(定义多个使用,分隔并随机选取)","description":"格式: ,...","markdownDescription":"格式: <`host`>,..."}}}},{"if":{"properties":{"protocol":{"anyOf":[{"title":"认证协议","const":"auth_aes128_sha1"},{"title":"认证协议","const":"auth_chain_a"}]}}},"then":{"properties":{"protocol-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义用户ID:密钥(定义多个使用,分隔并随机选取)","description":"格式: :,...","markdownDescription":"格式: <`uderId`>:<`secret`>,..."}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"snell":{"type":"object","title":"outbound-snell","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"snell配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"psk":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"版本","description":"版本","markdownDescription":"版本","default":1},"obfs-opts":{"$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"socks5":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"http":{"type":"object","title":"outbound-http","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vmess":{"type":"object","title":"outbound-vmess","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"type":"object","title":"HTTP配置","properties":{"method":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"请求方式","description":"请求方式","markdownDescription":"请求方式","default":"GET"},"path":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},"http2-option":{"type":"object","title":"HTTP配置","properties":{"host":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":["www.example.com"]},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]}}},"grpc-option":{"type":"object","title":"HTTP配置","properties":{"grpc-service-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"GRPC服务名称","description":"GRPC服务名称","markdownDescription":"GRPC服务名称"}}},"ws-option":{"type":"object","title":"HTTP配置","properties":{"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"max-early-data":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大早期数据大小","description":"单位:bytes","markdownDescription":"单位:`bytes`"},"early-data-header-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"早期数据使用的header字段名","description":"早期数据使用的header字段名","markdownDescription":"早期数据使用的header字段名"},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vmess配置","required":["name","server","port","uuid","alterId","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"global-padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"全局填充","description":"全局填充","markdownDescription":"全局填充"},"authenticated-length":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用验证信息长度","description":"启用验证信息长度","markdownDescription":"启用验证信息长度"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vless":{"type":"object","title":"outbound-vless","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"http2-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vless配置","required":["name","server","port","uuid"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"flow":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"],"markdownEnumDescriptions":["将传入的连接直接转发到目标服务器,不做任何修改或处理","解析传入的连接中的TLS握手信息,然后直接与目标服务器建立加密连接","将传入的连接解析为TLS握手信息,然后重新生成一个新的TLS握手,并在客户端和服务器之间建立两个独立的TLS连接","尝试直接连接目标服务器,如果失败则回退到`xtls-rprx-splice`模式"],"title":"流量控制方式","description":"流量控制方式","markdownDescription":"流量控制方式","if":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice"]},"then":{"deprecationMessage":"旧版XTLS协议(xtls-rprx-origin、xtls-rprx-direct、xtls-rprx-splice)已弃用且不再支持"}},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"ws-path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"ws-headers":{"type":"object","title":"ws请求头","description":"ws请求头","markdownDescription":"ws请求头","additionalProperties":{"type":"string"}},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"trojan":{"type":"object","title":"outbound-trojan","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"type":"object","title":"outbound-reality","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["public-key","short-id"],"properties":{"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"short-id":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"short ID","description":"short ID","markdownDescription":"short ID"}}},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"trojan配置","required":["name","server","port","password"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"SNI(Server Name Indication)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria":{"type":"object","title":"outbound-hysteria","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria配置","required":["name","server","up","down"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法","default":"udp"},"obfs-protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法(为兼容Stash引入,优先级高于protocol)","markdownDescription":"混淆方法(为兼容Stash引入,优先级高于`protocol`)","default":"udp"},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"up-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于up)","markdownDescription":"单位:`Mbps`上行带宽(为兼容Stash引入,优先级高于`up`)"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于down)","markdownDescription":"单位:`Mbps`下行带宽(为兼容Stash引入,优先级高于`down`)"},"auth-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串","markdownDescription":"认证字符串"},"auth":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串(为兼容Stash引入,优先级高于auth-str)","markdownDescription":"认证字符串(为兼容Stash引入,优先级高于`auth-str`)"},"obfs":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria2":{"type":"object","title":"outbound-hysteria2","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria2配置","required":["name","server"],"dependentRequired":{"obfs":["obfs-password"]},"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"wireguard":{"type":"object","title":"outbound-wireguard","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"wireguard-peer-option":{"type":"object","title":"peer配置","required":["server","port"],"properties":{"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"pre-shared-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"预共享密钥","description":"预共享密钥","markdownDescription":"预共享密钥"},"reserved":{"type":"array","title":"保留字段值","description":"部分WARP节点需要使用","markdownDescription":"部分`WARP`节点需要使用"},"allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"允许进行流量转发的IP段","description":"允许进行流量转发的IP段","markdownDescription":"允许进行流量转发的IP段"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"wireguard配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"本机在Wireguard网络中使用的IPv4地址","description":"本机在Wireguard网络中使用的IPv4地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv4`地址"},"ipv6":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"本机在Wireguard网络中使用的IPv6地址","description":"本机在Wireguard网络中使用的IPv6地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv6`地址"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥(Base64编码)","markdownDescription":"私钥(`Base64`编码)"},"workers":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"工作线程","description":"工作线程(默认为CPU逻辑核心数)","markdownDescription":"工作线程(默认为CPU逻辑核心数)"},"mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大传输单元","description":"最大传输单元","markdownDescription":"最大传输单元","default":1408},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"persistent-keepalive":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"持久保活间隔","description":"单位:s","markdownDescription":"单位:s"},"peers":{"type":"array","title":"peer配置","description":"peer配置","markdownDescription":"peer配置","items":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},"remote-dns-resolve":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"强制DNS远程解析","description":"强制DNS远程解析","markdownDescription":"强制DNS远程解析","default":false},"dns":{"$ref":"#/definitions/rule-providers/definitions/types/serverArray","title":"DNS解析服务器","description":"DNS解析服务器(要求启用remote-dns-resolve)","markdownDescription":"DNS解析服务器(要求启用`remote-dns-resolve`)"}},"if":{"not":{"properties":{"peers":{"type":"array"}}}},"then":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"tuic":{"type":"object","title":"outbound-tuic","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"tuic配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"token":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"TUIC V5的用户标识","description":"TUIC V5的用户标识","markdownDescription":"TUIC `V5`的用户标识"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V5的用户密码","description":"TUIC V5的用户密码","markdownDescription":"TUIC `V5`的用户密码"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"覆盖server选项中设置的服务器地址的DNS查找结果","description":"覆盖server选项中设置的服务器地址的DNS查找结果","markdownDescription":"覆盖`server`选项中设置的服务器地址的DNS查找结果"},"heartbeat-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"发送保持连接活动的心跳包的间隔时间","description":"单位:ms","markdownDescription":"单位:ms","default":10000},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"reduce-rtt":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用QUIC的0-RTT握手","description":"可以减少连接建立时间,但可能增加重放攻击的风险","markdownDescription":"可以减少连接建立时间,但可能增加重放攻击的风险"},"request-timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"连接TUIC代理服务器的超时时间","description":"单位:ms","markdownDescription":"单位:ms","default":8000},"udp-relay-mode":{"enum":["native","quic"],"title":"UDP数据包中继模式","description":"UDP数据包中继模式","markdownDescription":"UDP数据包中继模式","default":"native"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"disable-sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"max-udp-relay-packet-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1252},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"max-open-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大打开流的数量","description":"过多的打开流可能会影响性能","markdownDescription":"过多的打开流可能会影响性能","default":100},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"max-datagram-frame-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大数据帧大小","description":"最大数据帧大小","markdownDescription":"最大数据帧大小"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp-over-stream":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over Stream","description":"meta和sing-box私有扩展,将ss-uot用于udp中继(开启此选项后udp-relay-mode将失效警告,与原版tuic不兼容)","markdownDescription":"`meta`和`sing-box`私有扩展,将ss-uot用于udp中继(开启此选项后`udp-relay-mode`将失效警告,与原版`tuic`不兼容)"},"udp-over-stream-version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP over Stream版本","description":"UDP over Stream版本","markdownDescription":"UDP over Stream版本"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"ssh":{"type":"object","title":"outbound-ssh","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"ssh配置","required":["name","server","port","username"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"private-key-passphrase":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥密码","markdownDescription":"私钥密码"},"host-key":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥","description":"主机私钥","markdownDescription":"主机私钥"},"host-key-algorithms":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥算法","description":"主机私钥算法","markdownDescription":"主机私钥算法"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]}},"items":{"anyOf":[{"type":"object","title":"direct","properties":{"type":{"title":"direct配置","const":"direct"}},"$ref":"#/definitions/proxies/definitions/direct"},{"type":"object","title":"dns","properties":{"type":{"title":"dns配置","const":"dns"}},"$ref":"#/definitions/proxies/definitions/dns"},{"type":"object","title":"shadowsocks","properties":{"type":{"title":"shadowsocks配置","const":"ss"}},"$ref":"#/definitions/proxies/definitions/shadowsocks"},{"type":"object","title":"shadowsocksr","properties":{"type":{"title":"shadowsocksr配置","const":"ssr"}},"$ref":"#/definitions/proxies/definitions/shadowsocksr"},{"type":"object","title":"snell","properties":{"type":{"title":"snell配置","const":"snell"}},"$ref":"#/definitions/proxies/definitions/snell"},{"type":"object","title":"socks5","properties":{"type":{"title":"socks5配置","const":"socks5"}},"$ref":"#/definitions/proxies/definitions/socks5"},{"type":"object","title":"http","properties":{"type":{"title":"http配置","const":"http"}},"$ref":"#/definitions/proxies/definitions/http"},{"type":"object","title":"vmess","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/proxies/definitions/vmess"},{"type":"object","title":"vless","properties":{"type":{"title":"vless配置","const":"vless"}},"$ref":"#/definitions/proxies/definitions/vless"},{"type":"object","title":"trojan","properties":{"type":{"title":"trojan配置","const":"trojan"}},"$ref":"#/definitions/proxies/definitions/trojan"},{"type":"object","title":"hysteria","properties":{"type":{"title":"hysteria配置","const":"hysteria"}},"$ref":"#/definitions/proxies/definitions/hysteria"},{"type":"object","title":"hysteria2","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/proxies/definitions/hysteria2"},{"type":"object","title":"wireguard","properties":{"type":{"title":"wireguard配置","const":"wireguard"}},"$ref":"#/definitions/proxies/definitions/wireguard"},{"type":"object","title":"tuic","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/proxies/definitions/tuic"},{"type":"object","title":"ssh","properties":{"type":{"title":"ssh配置","const":"ssh"}},"$ref":"#/definitions/proxies/definitions/ssh"}]}},"proxy-providers":{"type":"object","title":"代理集合配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"health-check":{"type":"object","title":"健康检查","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用健康检查","description":"启用健康检查","markdownDescription":"启用健康检查","default":false},"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"健康检查地址","description":"健康检查url","markdownDescription":"健康检查url","default":"https://www.gstatic.com/generate_204"},"interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查间隔","description":"格式: <时长>[ms或s(默认:s)]","markdownDescription":"格式: <时长>[ms或s(默认:s)]","default":"300"},"timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查超时","description":"格式: <时长>[ms或s(默认:ms)]","markdownDescription":"格式: <时长>[ms或s(默认:ms)]","default":"5000"},"lazy":{"type":"boolean","title":"懒加载","description":"未被使用时,不进行健康检查测试","markdownDescription":"未被使用时,不进行健康检查测试","default":true},"expected-status":{"anyOf":[{"type":"string","pattern":"^(?:\\/?\\d{3}(-?\\d{3})?)+$","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码","default":"*"},{"type":"integer","minimum":100,"maximum":999,"title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"},{"type":"string","const":"*","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"}]}}}},"patternProperties":{"^default$":{"type":"null","errorMessage":"不能使用default作为provider的名称"}},"additionalProperties":{"type":"object","required":["type"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"},"header":{"type":"object","errorMessage":"类型应为object"},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"},"override":{"allOf":[{"type":"object","title":"覆写节点内容","description":"覆写节点内容","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`"},"up":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置上行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置上行带宽"},"down":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置下行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置下行带宽"},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"skip-cert-verify":{"type":"boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"interface-name":{"type":"string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"additional-prefix":{"type":"string","title":"为节点名称添加固定前缀","description":"为节点名称添加固定前缀","markdownDescription":"为节点名称添加固定前缀"},"additional-suffix":{"type":"string","title":"为节点名称添加固定后缀","description":"为节点名称添加固定后缀","markdownDescription":"为节点名称添加固定后缀"}}}]},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据节点类型排除节点","description":"direct, dns, ss, ssr, snell, socks5, http, vmess, vless, trojan, hysteria, hysteria2, wireguard, tuic, ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`direct`,`dns`,`ss`,`ssr`,`snell`,`socks5`,`http`,`vmess`,`vless`,`trojan`,`hysteria`,`hysteria2`,`wireguard`,`tuic`,`ssh`(使用`|`分隔,不支持正则表达式)"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"proxy-groups":{"type":"array","title":"代理组配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"url-test":{"type":"object","title":"outboundgroup-url-test","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"url-test配置","properties":{"tolerance":{"type":"integer","title":"代理节点切换容差","description":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)","markdownDescription":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)"}}}]},"fallback":{"type":"object","title":"outboundgroup-fallback","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"fallback配置","properties":{}}]},"load-balance":{"type":"object","title":"outboundgroup-load-balance","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"type":"object","title":"outboundgroup-groupbase","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"出站基础配置","properties":{"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"出站名称","description":"出站名称","markdownDescription":"出站名称"},"type":{"enum":["select","url-test","fallback","load-balance","relay"],"markdownEnumDescriptions":["手动选择","延迟选优","故障转移","负载均衡","链式代理"],"title":"出站类型","description":"出站类型","markdownDescription":"出站类型"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"}}},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"}},"allOf":[{"title":"出站基础配置","required":["name","type"],"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase/definitions/base-option"},{"allOf":[{"type":"object","title":"代理组基础配置","properties":{"proxies":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点列表","description":"代理节点列表","markdownDescription":"代理节点列表"},"use":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"引入proxy-provider中的代理节点","description":"引入proxy-provider中的代理节点","markdownDescription":"引入proxy-provider中的代理节点"},"max-failed-times":{"type":"integer","title":"最大失败次数","description":"在timeout时间长度内,请求失败max-failed-times次,强制提前主动触发健康检查","markdownDescription":"在`timeout`时间长度内,请求失败`max-failed-times`次,强制提前主动触发健康检查","default":5},"disable-udp":{"type":"boolean","title":"禁用UDP","description":"禁用UDP","markdownDescription":"禁用`UDP`"},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据出站类型排除节点","description":"Direct, Reject, RejectDrop, Compatible, Pass, Dns, Shadowsocks, ShadowsocksR, Snell, Socks5, Http, Vmess, Vless, Trojan, Hysteria, Hysteria2, WireGuard, Tuic, Relay, Selector, Fallback, URLTest, LoadBalance, Ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`Direct`,`Reject`,`RejectDrop`,`Compatible`,`Pass`,`Dns`,`Shadowsocks`,`ShadowsocksR`,`Snell`,`Socks5`,`Http`,`Vmess`,`Vless`,`Trojan`,`Hysteria`,`Hysteria2`,`WireGuard`,`Tuic`,`Relay`,`Selector`,`Fallback`,`URLTest`,`LoadBalance`,`Ssh(使用`|`分隔,不支持正则表达式)"},"include-all":{"type":"boolean","title":"引入所有proxies和proxy-providers包含的代理节点","description":"引入所有proxies和proxy-providers包含的代理节点(优先级高于include-all-proxies和include-all-providers)","markdownDescription":"引入所有`proxies`和`proxy-providers`包含的代理节点(优先级高于`include-all-proxies`和`include-all-providers`)"},"include-all-proxies":{"type":"boolean","title":"引入所有proxies包含的代理节点","description":"引入所有proxies包含的代理节点","markdownDescription":"引入所有`proxies`包含的代理节点"},"include-all-providers":{"type":"boolean","title":"引入所有proxy-providers包含的代理节点","description":"引入所有proxy-providers包含的代理节点","markdownDescription":"引入所有`proxy-providers`包含的代理节点"},"hidden":{"type":"boolean","title":"隐藏代理组","description":"需要调用RESTful API的Web UI适配支持","markdownDescription":"需要调用RESTful API的Web UI适配支持"},"icon":{"type":"string","title":"代理组图标","description":"标签src属性支持的值(如url、data:image/*;base64等,需要调用RESTful API的Web UI适配支持)","markdownDescription":"``标签`src`属性支持的值(如`url`、`data:image/*;base64`等,需要调用RESTful API的Web UI适配支持)"}}},{"title":"健康检查配置","$ref":"#/definitions/proxy-providers/definitions/health-check"}]}]}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"load-balance配置","properties":{"strategy":{"enum":["consistent-hashing","round-robin","sticky-sessions"],"title":"负载均衡策略","markdownEnumDescriptions":["一致性哈希,把相同顶级域名的请求分配给代理组内的同一个代理节点","轮询,按照顺序将请求分发给每个可用的服务器","粘性会话,将特定的用户会话绑定到同一台服务器上"],"default":"consistent-hashing"}}}]},"relay":{"type":"object","title":"outboundgroup-relay","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"relay配置","properties":{}}]}},"items":{"anyOf":[{"title":"url-test配置","$ref":"#/definitions/proxy-groups/definitions/url-test"},{"title":"fallback配置","$ref":"#/definitions/proxy-groups/definitions/fallback"},{"title":"load-balance配置","$ref":"#/definitions/proxy-groups/definitions/load-balance"},{"title":"relay配置","$ref":"#/definitions/proxy-groups/definitions/relay"}]}},"listeners":{"type":"array","title":"listeners配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"socks":{"type":"object","title":"inbound-socks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"socks配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"http":{"type":"object","title":"inbound-http","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"http配置","properties":{}}]},"tproxy":{"type":"object","title":"inbound-tproxy","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tproxy配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"redir":{"type":"object","title":"inbound-redir","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"redir配置","properties":{}}]},"mixed":{"type":"object","title":"inbound-mixed","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"mixed配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"tunnel":{"type":"object","title":"inbound-tunnel","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tunnel配置","required":["network","target"],"properties":{"network":{"type":"array","title":"传输协议","description":"传输协议","markdownDescription":"传输协议","items":{"enum":["tcp","udp"]}},"target":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"目标地址","description":"目标地址","markdownDescription":"目标地址"}}}]},"tun":{"type":"object","title":"inbound-tun","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tun配置","properties":{"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["可以提供更稳定/全面的tun体验,且占用相对其他堆栈更低","通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入tun网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"DNS劫持IPv4地址()","description":"53端口","markdownDescription":"53端口","deprecationMessage":"已弃用"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"DNS劫持IPv6地址()","description":"53端口","markdownDescription":"53端口"},"strict-route":{"type":"boolean","title":"严格路由","description":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","markdownDescription":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}}]},"shadowsocks":{"type":"object","title":"inbound-shadowsocks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"inbound-base","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["name"],"properties":{"name":{"type":"string","title":"名称","description":"名称","markdownDescription":"名称"},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"监听地址","description":"监听地址","markdownDescription":"监听地址","default":"0.0.0.0"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"监听端口","description":"监听端口","markdownDescription":"监听端口"},"rule":{"type":"string","title":"出站规则","description":"使用子规则作为入站匹配规则出站","markdownDescription":"使用子规则作为入站匹配规则出站"},"proxy":{"type":"string","title":"出站代理","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为proxy-groups,proxy的name"}}},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"string","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"integer","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option/definitions/brutal"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"shadowsocks配置","required":["password","cipher"],"properties":{"password":{"type":"string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"vmess":{"type":"object","title":"inbound-vmess","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"},"vmess-user":{"type":"object","title":"vmess用户","required":["uuid","alterId"],"properties":{"username":{"type":"string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"type":"integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"vmess配置","required":["users"],"properties":{"users":{"type":"array","title":"用户列表","description":"用户列表","markdownDescription":"用户列表","items":{"$ref":"#/definitions/listeners/definitions/vmess/definitions/vmess-user"}},"ws-path":{"type":"string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"hysteria2":{"type":"object","title":"inbound-hysteria2","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"hysteria2配置","required":["certificate","private-key"],"properties":{"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"type":"string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"ignore-client-bandwidth":{"type":"boolean","title":"忽略客户端带宽","description":"启用后使服务器忽略任何客户端设置的带宽提示,使用传统的BBR拥塞控制算法","markdownDescription":"启用后使服务器忽略任何客户端设置的带宽带宽提示,使用传统的BBR拥塞控制算法"},"masquerade":{"$ref":"#/definitions/rule-providers/definitions/patterns/url","title":"伪装流量url","description":"支持file://、http://、https://","markdownDescription":"支持`file://`、`http://`、`https://`"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"type":"integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"tuic":{"type":"object","title":"inbound-tuic","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tuic配置","required":["certificate","private-key"],"properties":{"token":{"type":"string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]}},"items":{"anyOf":[{"type":"object","title":"socks配置","properties":{"type":{"title":"socks配置","const":"socks"}},"$ref":"#/definitions/listeners/definitions/socks"},{"type":"object","title":"http配置","properties":{"type":{"title":"socks配置","const":"http"}},"$ref":"#/definitions/listeners/definitions/http"},{"type":"object","title":"tproxy配置","properties":{"type":{"title":"tproxy配置","const":"tproxy"}},"$ref":"#/definitions/listeners/definitions/tproxy"},{"type":"object","title":"redir配置","properties":{"type":{"title":"redir配置","const":"redir"}},"$ref":"#/definitions/listeners/definitions/redir"},{"type":"object","title":"mixed配置","properties":{"type":{"title":"mixed配置","const":"mixed"}},"$ref":"#/definitions/listeners/definitions/mixed"},{"type":"object","title":"tunnel配置","properties":{"type":{"title":"tunnel配置","const":"tunnel"}},"$ref":"#/definitions/listeners/definitions/tunnel"},{"type":"object","title":"TUN配置","properties":{"type":{"title":"TUN配置","const":"tun"}},"$ref":"#/definitions/listeners/definitions/tun"},{"type":"object","title":"shadowsocks配置","properties":{"type":{"title":"shadowsocks配置","const":"shadowsocks"}},"$ref":"#/definitions/listeners/definitions/shadowsocks"},{"type":"object","title":"vmess配置","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/listeners/definitions/vmess"},{"type":"object","title":"hysteria2配置","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/listeners/definitions/hysteria2"},{"type":"object","title":"tuic配置","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/listeners/definitions/tuic"}]}},"rule-providers":{"type":"object","title":"规则集合配置","definitions":{"types":{"stringArray":{"type":"array","items":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string"}},"portArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/port"}},"portRangeArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/portRange"}},"ipv4Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"}},"ipv4PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"}},"ipv4CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"}},"ipv6Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}},"ipv6PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}},"ipv6CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}},"ipArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip"}},"ipPortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort"}},"ipCIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR"}},"serverArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/server"}},"domainArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domain"}},"domainWildcardArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domainWildcard"}},"urlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/url"}},"httpUrlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl"}}},"patterns":{"port":{"anyOf":[{"type":"integer","minimum":0,"maximum":65535},{"type":"string","pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口号(0~65535)"}]},"portRange":{"pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$|^([1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])-(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口范围(port 或 port1-port2)"},"ipv4":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$","errorMessage":"无效的IPv4地址"},"ipv4Port":{"pattern":"^((?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5])))?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的IPv4地址:端口"},"ipv4CIDR":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))(?:\\/(?:[12]?[0-9]|3[0-2]))$","errorMessage":"无效的IPv4网段"},"ipv6":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)$","errorMessage":"无效的IPv6地址"},"ipv6Port":{"pattern":"^(\\[([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\])?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的[IPv6地址]:端口"},"ipv6CIDR":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$","errorMessage":"无效的IPv6网段"},"ip":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}]},"ipPort":{"anyOf":[{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}]},"ipCIDR":{"anyOf":[{"description":"ipv4网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"},{"description":"ipv6网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}]},"domain":{"pattern":"^(xn--)?[a-zA-Z0-9-_]+(?:\\.(xn--)?[a-zA-Z0-9-_]+)+$","errorMessage":"无效的域名"},"domainWildcard":{"pattern":"^\\+?(xn--)?[a-zA-Z0-9-_*.]+(?:\\.(xn--)?[a-zA-Z0-9-_*]+)*$","errorMessage":"无效的域名通配"},"server":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"},{"description":"域名","$ref":"#/definitions/rule-providers/definitions/patterns/domain"}]},"url":{"pattern":"^.+:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的URL"},"httpUrl":{"pattern":"^https?:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的HTTP-URL"},"uuid":{"pattern":"^[0-9a-fA-F]{8}(?:-?[0-9a-fA-F]{4}){3}-?[0-9a-fA-F]{12}$","errorMessage":"无效的UUID"}},"enums":{"cipher":{"description":"加密方法","enum":["none","auto","dummy","aes-128-gcm","aes-192-gcm","aes-256-gcm","lea-128-gcm","lea-192-gcm","lea-256-gcm","aes-128-gcm-siv","aes-256-gcm-siv","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","chacha20","chacha20-ietf","chacha20-ietf-poly1305","2022-blake3-chacha20-poly1305","rabbit128-poly1305","xchacha20-ietf-poly1305","xchacha20","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5"]},"fingerprint":{"description":"指纹","enum":["chrome","chrome_psk","chrome_psk_shuffle","chrome_padding_psk_shuffle","chrome_pq","chrome_pq_psk","firefox","safari","ios","android","edge","360","qq","random","randomized"]}}},"additionalProperties":{"type":"object","required":["type","behavior"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"behavior":{"enum":["domain","ipcidr","classical"],"markdownEnumDescriptions":["域名通配","IP网段匹配","支持除`rule-set`/`sub-rule`以外的全部路由规则"],"title":"规则匹配行为","description":"规则匹配行为","markdownDescription":"规则匹配行为"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"format":{"enum":["yaml","text"],"markdownEnumDescriptions":["YAML格式","普通文本格式"],"title":"provider文件格式","description":"provider文件格式","markdownDescription":"provider文件格式","default":"yaml"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"sub-rules":{"type":"object","title":"子规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"type":"string","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"anyOf":[{"title":"匹配完整域名","pattern":"^DOMAIN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名后缀","pattern":"^DOMAIN-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名关键字","pattern":"^DOMAIN-KEYWORD((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名正则表达式","pattern":"^DOMAIN-REGEX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Geosite内的域名","pattern":"^GEOSITE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属国家代码","pattern":"^GEOIP((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属国家代码","pattern":"^SRC-GEOIP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属ASN","pattern":"^IP-ASN((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属ASN","pattern":"^SCR-IP-ASN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR6((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP地址范围","pattern":"^SRC-IP-CIDR((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP后缀范围","pattern":"^IP-SUFFIX((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP后缀范围","pattern":"^SRC-IP-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求来源端口范围","pattern":"^SRC-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求目标端口范围","pattern":"^DST-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站端口,可用端口范围","pattern":"^IN-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"DSCP标记(仅限tproxy udp入站)","pattern":"^DSCP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配进程名称(Android包名)","pattern":"^PROCESS-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配完整进程路径","pattern":"^PROCESS-PATH((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程名称(Android包名)","pattern":"^PROCESS-NAME-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程路径","pattern":"^PROCESS-PATH-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"匹配传输协议(tcp/udp)","pattern":"^NETWORK((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Linux USER ID","pattern":"^UID((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站类型","pattern":"^IN-TYPE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站用户名","pattern":"^IN-USER((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站名称","pattern":"^IN-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"子规则","pattern":"^SUB-RULE,\\(.+\\),.+$","errorMessage":"无效的规则"},{"title":"匹配规则集(rule-providers中定义)","pattern":"^RULE-SET((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"逻辑和","pattern":"^AND,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑或","pattern":"^OR,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑非","pattern":"^NOT,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"匹配所有请求(无需条件)","pattern":"^MATCH,.+$","errorMessage":"无效的规则"}]}},"additionalProperties":{"type":"array","items":{"$ref":"#/definitions/sub-rules/definitions/rule"}}},"rules":{"type":"array","title":"规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"$ref":"#/definitions/sub-rules/definitions/rule"}},"items":{"$ref":"#/definitions/sub-rules/definitions/rule"}},"hosts":{"type":"object","title":"hosts配置","description":"key: value格式(域名支持通配)","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"ntp":{"type":"object","title":"NTP配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用NTP","description":"NTP(Network Time Protocol),用于同步计算机系统时钟的网络协议","markdownDescription":"`NTP`(Network Time Protocol),用于同步计算机系统时钟的网络协议","default":false},"server":{"type":"string","title":"NTP服务器地址","description":"NTP服务器地址","markdownDescription":"`NTP`服务器地址","default":"time.apple.com"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"NTP服务器端口","description":"NTP服务器端口","markdownDescription":"`NTP`服务器端口","default":123},"interval":{"type":"integer","title":"同步时钟间隔","description":"单位:m","markdownDescription":"单位:m","default":30},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"write-to-system":{"type":"boolean","title":"同步至系统时间","description":"需要root/管理员权限","markdownDescription":"需要root/管理员权限"}}},"dns":{"type":"object","description":"DNS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用DNS","description":"关闭将使用系统DNS","markdownDescription":"关闭将使用系统DNS","default":false},"prefer-h3":{"type":"boolean","title":"启用DoH的HTTP/3支持","description":"启用DoH的HTTP/3支持","markdownDescription":"启用DoH的`HTTP/3`支持","default":false},"ipv6":{"type":"boolean","title":"是否解析IPV6","description":"如为false,则回应内容为AAAA的空解析","markdownDescription":"如为false,则回应内容为AAAA的空解析","default":false},"ipv6-timeout":{"type":"integer","title":"解析IPV6超时时间","description":"单位: ms","markdownDescription":"单位: ms","default":100},"use-hosts":{"type":"boolean","title":"启用配置中的hosts配置","description":"启用配置中的hosts配置","markdownDescription":"启用配置中的`hosts`配置","default":true},"use-system-hosts":{"type":"boolean","title":"查询系统hosts文件","description":"优先级低于配置中的hosts配置","markdownDescription":"优先级低于配置中的`hosts`配置","default":true},"nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"默认域名解析服务器","description":"支持UDP,TCP,DoT,DoH,DoQ","markdownDescription":"支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`","default":["https://doh.pub/dns-query","tls://223.5.5.5:853"]},"fallback":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"备用域名解析服务器","description":"一般情况下使用境外DNS服务器,保证结果可信","markdownDescription":"一般情况下使用境外DNS服务器,保证结果可信"},"fallback-filter":{"type":"object","title":"备用域名解析服务器过滤","description":"满足条件的将采用fallback的解析结果,或只采用fallback解析结果","markdownDescription":"满足条件的将采用`fallback`的解析结果,或只采用`fallback`解析结果","properties":{"geoip":{"type":"boolean","title":"启用fallback-filter","description":"启用fallback-filter","markdownDescription":"启用`fallback-filter`","default":true},"geoip-code":{"type":"string","title":"启用fallback-filter","description":"除geoip-code配置的国家IP外,其他IP结果会被视为污染。geoip-code对应国家的结果会直接采用,其余结果将采用fallback的解析结果","markdownDescription":"除`geoip-code`配置的国家IP外,其他IP结果会被视为污染。`geoip-code`对应国家的结果会直接采用,其余结果将采用`fallback`的解析结果","default":"CN"},"ipcidr":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"DNS污染网段列表","description":"这些网段的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些网段的结果会被视为污染,将采用`fallback`的解析结果"},"domain":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染域名列表","description":"这些域名的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些域名的结果会被视为污染,将采用`fallback`的解析结果"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染GeoSite列表","description":"这些GeoSite的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些[GeoSite](https://github.com/MetaCubeX/meta-rules-dat/tree/meta/geo/geosite)的结果会被视为污染,将采用`fallback`的解析结果","deprecationMessage":"使用nameserver-policy代替geosite(geosite将在未来移除)"}}},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"DNS服务器监听地址","description":"DNS服务器监听地址","markdownDescription":"DNS服务器监听地址","default":"127.0.0.1:53"},"enhanced-mode":{"enum":["normal","fake-ip","redir-host"],"markdownEnumDescriptions":["普通模式","fake-ip模式","redir-host模式"],"title":"增强模式","description":"DNS处理模式","markdownDescription":"DNS处理模式","default":"fake-ip"},"fake-ip-range":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"fake-ip的预留映射地址段","description":"TUN模式的网卡默认IP也使用此值作为参考","markdownDescription":"TUN模式的网卡默认IP也使用此值作为参考","default":"198.18.0.1/16"},"fake-ip-filter":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"fake-ip过滤","description":"哪些域名不使用fake-ip","markdownDescription":"哪些域名不使用`fake-ip`","default":["dns.msftnsci.com","www.msftnsci.com","www.msftconnecttest.com"]},"default-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"元域名解析服务器","description":"解析nameserver,fallback以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持UDP,TCP,DoT,DoH,DoQ)","markdownDescription":"解析`nameserver`,`fallback`以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`)","default":["114.114.114.114","223.5.5.5","8.8.8.8","1.0.0.1"]},"cache-algorithm":{"enum":["lru","arc"],"markdownEnumDescriptions":["最近最少使用","自适应替换缓存"],"title":"缓存算法","description":"缓存算法","markdownDescription":"缓存算法","default":"lru"},"nameserver-policy":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/rule-providers/definitions/types/stringArray"}]},"title":"DNS解析服务器策略","description":"指定地址使用特定DNS解析服务器","markdownDescription":"指定地址使用特定DNS解析服务器"},"proxy-server-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点DNS解析服务器","description":"用于解析代理节点的域名","markdownDescription":"用于解析代理节点的域名"}}},"tun":{"type":"object","title":"tun配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用TUN模式","description":"启用TUN模式","markdownDescription":"启用`TUN`模式","default":false},"device":{"type":"string","title":"指定tun网卡名称","description":"指定tun网卡名称(macOS强制为utun)","markdownDescription":"指定tun网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["可以提供更稳定/全面的tun体验,且占用相对其他堆栈更低","通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"DNS劫持IPv4地址()","description":"53端口","markdownDescription":"53端口"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"DNS劫持IPv6地址()","description":"53端口","markdownDescription":"53端口"},"strict-route":{"type":"boolean","title":"严格路由","description":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","markdownDescription":"它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}},"tuic-server":{"type":"object","title":"tuic-server配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"type":"integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/tuic-server/definitions/mux-option/definitions/brutal"}}}},"required":["enable","listen"],"properties":{"enable":{"type":"boolean","title":"启用tuic-server","description":"启用tuic-server","markdownDescription":"启用`tuic-server`"},"listen":{"type":"string","title":"监听地址","description":"多个使用,分隔","markdownDescription":"多个使用,分隔"},"token":{"type":"string","title":"Token","description":"Token","markdownDescription":"Token"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"congestion-controller":{"enum":["cubic","new_reno","bbr_meta_v1","bbr_meta_v2","bbr"],"markdownEnumDescriptions":["根据网络拥塞窗口的大小来调整传输速率,以使其在拥塞和非拥塞期间保持平衡","通过在网络发生拥塞时执行快速恢复和快速重传来改善数据传输性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","通过动态估计网络的带宽和往返时间(`RTT`),并根据这些信息来调整数据传输速率"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"max-datagram-frame-size":{"type":"integer","title":"最大数据帧大小","description":"不超过1400","markdownDescription":"不超过1400"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/tuic-server/definitions/mux-option"}}},"authentication":{"type":"array","title":"认证配置","description":"格式: <用户>:<密码>","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"tunnels":{"type":"array","description":"隧道配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"items":{"anyOf":[{"pattern":"^(tcp)?/?(udp)?(?:,[^,]+){2,3}$","errorMessage":"格式(,
,,[proxy])"},{"type":"object","properties":{"network":{"type":"array","items":{"enum":["tcp","udp"],"markdownEnumDescriptions":["tcp","udp"]},"title":"需要监听的网络类型","description":"可为tcp/udp","markdownDescription":"可为`tcp`/`udp`"},"address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"本地监听地址","description":"本地监听地址","markdownDescription":"本地监听地址"},"target":{"type":"string","title":"转发的目标地址","description":"转发的目标地址","markdownDescription":"转发的目标地址"},"proxy":{"type":"string","title":"经由代理","description":"经由某个proxy/proxy-group发送流量(可选)","markdownDescription":"经由某个`proxy`/`proxy-group`发送流量(可选)"}}}]}},"sniffer":{"type":"object","description":"域名嗅探配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用域名嗅探","description":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","markdownDescription":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","default":false},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问","description":"全局配置,优先级低于sniffer.sniff中的配置","markdownDescription":"全局配置,优先级低于`sniffer.sniff`中的配置","default":true},"force-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要强制嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"skip-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要跳过嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"sniffing":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"限制嗅探类型范围","description":"支持TLS,HTTP,QUIC","markdownDescription":"支持`TLS`,`HTTP`,`QUIC`","deprecationMessage":"推荐使用sniff"},"port-whitelist":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","title":"限制嗅探端口范围","description":"要求搭配sniffing使用(格式:80 或 80-88)","markdownDescription":"要求搭配`sniffing`使用(格式:`80` 或 `80-88`)","deprecationMessage":"推荐使用sniff"},"force-dns-mapping":{"type":"boolean","title":"启用redir-host强制嗅探","description":"对redir-host类型识别的流量进行强制嗅探","markdownDescription":"对`redir-host`类型识别的流量进行强制嗅探","default":true},"parse-pure-ip":{"type":"boolean","title":"启用未获取到域名强制嗅探","description":"对所有未获取到域名的流量进行强制嗅探","markdownDescription":"对所有未获取到域名的流量进行强制嗅探","default":true},"sniff":{"type":"object","title":"域名嗅探规则","description":"域名嗅探规则","markdownDescription":"域名嗅探规则","properties":{"TLS":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"HTTP":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"QUIC":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}}}}},"if":{"allOf":[{"properties":{"enable":{"const":true}}},{"properties":{"sniff":{"const":{}}}}]},"then":{"properties":{"enable":{"deprecationMessage":"未配置sniff配置"}}}}},"allOf":[{"type":"object","title":"实验性内容配置","properties":{"experimental":{"$ref":"#/definitions/experimental"}}},{"type":"object","title":"缓存配置","properties":{"profile":{"$ref":"#/definitions/profile"}}},{"type":"object","title":"iptables配置","properties":{"iptables":{"$ref":"#/definitions/iptables"}}},{"type":"object","title":"TLS配置","properties":{"tls":{"$ref":"#/definitions/tls"}}},{"title":"全局配置","$ref":"#/definitions/general"},{"type":"object","title":"代理配置","properties":{"proxies":{"$ref":"#/definitions/proxies"}}},{"type":"object","title":"代理集合配置","properties":{"proxy-providers":{"$ref":"#/definitions/proxy-providers"}}},{"type":"object","title":"代理组配置","properties":{"proxy-groups":{"$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"listeners配置","properties":{"listeners":{"$ref":"#/definitions/listeners"}}},{"type":"object","title":"规则集合配置","properties":{"rule-providers":{"$ref":"#/definitions/rule-providers"}}},{"type":"object","title":"子规则配置","properties":{"sub-rules":{"$ref":"#/definitions/sub-rules"}}},{"type":"object","title":"规则配置","properties":{"rules":{"$ref":"#/definitions/rules"}}},{"type":"object","title":"hosts配置","properties":{"hosts":{"$ref":"#/definitions/hosts"}}},{"type":"object","title":"NTP配置","properties":{"ntp":{"$ref":"#/definitions/ntp"}}},{"type":"object","title":"DNS配置","properties":{"dns":{"$ref":"#/definitions/dns"}}},{"type":"object","title":"TUN配置","properties":{"tun":{"$ref":"#/definitions/tun"}}},{"type":"object","title":"tuic-server配置","properties":{"tuic-server":{"$ref":"#/definitions/tuic-server"}}},{"type":"object","title":"认证配置","properties":{"authentication":{"$ref":"#/definitions/authentication"}}},{"type":"object","title":"隧道配置","properties":{"tunnels":{"$ref":"#/definitions/tunnels"}}},{"type":"object","title":"域名嗅探配置","properties":{"sniffer":{"$ref":"#/definitions/sniffer"}}}]} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"https://github.com/MetaCubeX/meta-json-schema/schemas/meta-json-schema.json","type":"object","title":"Clash Meta Config","additionalProperties":true,"definitions":{"experimental":{"type":"object","title":"实验性内容配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"quic-go-disable-gso":{"type":"boolean","title":"quic-go禁用GSO","description":"quic禁用GSO(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量QUIC_GO_DISABLE_GSO=1)","markdownDescription":"quic禁用`GSO`(Generic Segmentation Offload)通用分段卸载,可能会导致Linux平台上的性能下降(等价于环境变量`QUIC_GO_DISABLE_GSO=1`)"},"quic-go-disable-ecn":{"type":"boolean","title":"quic-go禁用ECN","description":"quic禁用ECN(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","markdownDescription":"quic禁用`ECN`(Explicit Congestion Notification)显式拥塞通知(等价于环境变量QUIC_GO_DISABLE_ECN=1)","default":true},"dialer-ip4p-convert":{"type":"boolean","title":"启用IP4P地址转换","description":"NATMap可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。","markdownDescription":"`NATMap`可以打通运营商完全锥型NAT网关的端口,使得通过运营商网关的公网IP:端口能够访问到用户内网的服务。"}}},"profile":{"type":"object","title":"缓存配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"store-selected":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":true},"store-fake-ip":{"type":"boolean","title":"持久化缓存fake-ip映射表","description":"缓存fake-ip映射表,域名再次发生连接时,使用原有映射地址","markdownDescription":"缓存`fake-ip`映射表,域名再次发生连接时,使用原有映射地址","default":false}}},"iptables":{"type":"object","title":"iptables配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"持久化策略组的选择","description":"缓存对策略组的选择,以供下次启动时使用","markdownDescription":"缓存对策略组的选择,以供下次启动时使用","default":false},"inbound-interface":{"type":"string","title":"入站接口","description":"入站规则将仅应用于哪个接口(默认本地环回接口)","markdownDescription":"入站规则将仅应用于哪个接口(默认本地环回接口)","default":"lo"},"bypass":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"需要绕过iptables规则的IP地址或网段列表","description":"需要绕过iptables规则的IP地址或网段列表","markdownDescription":"需要绕过`iptables`规则的IP地址或网段列表","default":[]},"dns-redirect":{"type":"boolean","title":"DNS重定向","description":"DNS重定向","markdownDescription":"DNS重定向","default":true}}},"tls":{"type":"object","title":"TLS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"custom-certifactes":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自定义证书列表","description":"自定义证书列表","markdownDescription":"自定义证书列表"}}},"general":{"type":"object","title":"全局配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"inbound":{"type":"object","title":"inbound配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)代理端口","description":"HTTP(S)代理端口","markdownDescription":"`HTTP(S)`代理端口"},"socks-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"SOCKS代理端口","description":"SOCKS代理端口","markdownDescription":"`SOCKS`代理端口"},"redir-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux和MacOS","markdownDescription":"用于`Linux`和`MacOS`"},"tproxy-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"透明代理端口","description":"用于Linux(TProxy TCP 和 TProxy UDP)","markdownDescription":"用于`Linux`(TProxy TCP 和 TProxy UDP)"},"mixed-port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"HTTP(S)和SOCKS代理混合端口","description":"HTTP(S)和SOCKS代理混合端口","markdownDescription":"`HTTP(S)`和`SOCKS`代理混合端口","default":7890},"ss-config":{"type":"string","title":"shadowsocks配置","description":"根据配置(URL格式)启动shadowsocks服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动shadowsocks服务器,并添加到listeners"},"vmess-config":{"type":"string","title":"vmess配置","description":"根据配置(URL格式)启动vmess服务器,并添加到listeners","markdownDescription":"根据配置(`URL`格式)启动vmess服务器,并添加到listeners"},"allow-lan":{"type":"boolean","title":"允许局域网","description":"允许其他设备经过内核的代理端口访问互联网","markdownDescription":"允许其他设备经过内核的代理端口访问互联网","default":false},"skip-auth-prefixes":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许跳过验证的IP段","description":"允许跳过验证的IP段","markdownDescription":"允许跳过验证的IP段"},"lan-allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"允许连接的IP地址段","description":"需要启用allow-lan","markdownDescription":"需要启用`allow-lan`","default":["0.0.0.0/0","::/0"]},"lan-disallowed-ips":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"不允许连接的IP地址段","description":"需要启用allow-lan(优先级高于lan-allowed-ips)","markdownDescription":"需要启用`allow-lan`(优先级高于`lan-allowed-ips`)"},"bind-address":{"anyOf":[{"const":"*","title":"绑定所有 IP 地址","description":"允许其他设备通过所有地址访问","markdownDescription":"允许其他设备通过所有地址访问"},{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"绑定单个 IP 地址","description":"仅允许其他设备通过这个地址访问","markdownDescription":"仅允许其他设备通过这个地址访问"}]},"inbound-tfo":{"type":"boolean","title":"入站启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"inbound-mptcp":{"type":"boolean","title":"入站启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"}}},"controller":{"type":"object","title":"controller配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"external-controller":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTP)监听地址","description":"可以使用RESTful API来控制内核","markdownDescription":"可以使用RESTful API来控制内核"},"external-controller-tls":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"外部控制器(HTTPS)监听地址","description":"可以使用RESTful API over HTTPS来控制内核","markdownDescription":"可以使用RESTful API over HTTPS来控制内核"},"external-controller-unix":{"type":"string","title":"外部控制器(Unix Socket)监听地址","description":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)","markdownDescription":"从Unix Socket访问api接口不会验证secret,如果开启请自行保证安全问题(Windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用)"},"external-ui":{"type":"string","title":"外部用户界面路径(默认:工作目录/ui)","description":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)","markdownDescription":"可以将静态网页资源运行在RESTful API(可以为绝对路径,或者内核工作目录的相对路径)"},"external-ui-url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"外部用户界面下载地址","description":"外部用户界面下载地址","markdownDescription":"外部用户界面下载地址","default":"https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"},"external-ui-name":{"type":"string","title":"外部用户界面下载目录","description":"下载时会下载到指定文件夹(默认下载到external-ui配置的目录)","markdownDescription":"下载时会下载到指定文件夹(默认下载到`external-ui`配置的目录)"},"secret":{"type":"string","title":"外部控制器RESTful API访问密钥","description":"请求头Authorization:Bearer ","markdownDescription":"请求头Authorization:Bearer <`secret`>"}}},"geox-url":{"type":"object","title":"geox-url配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"geoip":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geoip文件下载地址","description":"geoip文件下载地址","markdownDescription":"`geoip`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat"},"mmdb":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"mmdb文件下载地址","description":"mmdb文件下载地址","markdownDescription":"`mmdb`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"},"asn":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"asn文件下载地址","description":"asn文件下载地址","markdownDescription":"`asn`文件下载地址","default":"https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"geosite文件下载地址","description":"geosite文件下载地址","markdownDescription":"`geosite`文件下载地址","default":"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat"}}},"ebpf":{"type":"object","title":"ebpf配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"redirect-to-tun":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"重定向到TUN接口列表","description":"支持TCP+UDP(使用该功能请勿启用auto-route)","markdownDescription":"支持TCP+UDP(使用该功能请勿启用`auto-route`)"},"auto-redir":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"自动重定向接口列表","description":"仅支持TCP","markdownDescription":"仅支持TCP"}}}},"allOf":[{"title":"inbound配置","$ref":"#/definitions/general/definitions/inbound"},{"title":"controller配置","$ref":"#/definitions/general/definitions/controller"},{"properties":{"unified-delay":{"type":"boolean","title":"更换延迟计算方式","description":"去除握手等额外延迟","markdownDescription":"去除握手等额外延迟","default":false},"mode":{"enum":["global","rule","direct"],"markdownEnumDescriptions":["全局代理","规则匹配","全局直连"],"title":"运行模式","description":"运行模式","markdownDescription":"运行模式","default":"rule"},"log-level":{"enum":["debug","info","warning","error","silent"],"markdownEnumDescriptions":["尽可能的输出运行中所有的信息","输出一般运行的内容,以及`error`和`warning`级别的日志","输出发生错误但不影响运行的日志,以及`error`级别内容","仅输出发生错误至无法使用的日志","静默,不输出"],"title":"日志级别","description":"日志级别","markdownDescription":"日志级别","default":"info"},"ipv6":{"type":"boolean","title":"是否允许内核接受IPv6流量","description":"是否允许内核接受IPv6流量","markdownDescription":"是否允许内核接受`IPv6`流量","default":true},"interface-name":{"type":"string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"geox-url":{"title":"geox-url配置","$ref":"#/definitions/general/definitions/geox-url"},"geo-auto-update":{"type":"boolean","title":"Geo自动更新","description":"Geo自动更新","markdownDescription":"Geo自动更新","default":false},"geo-update-interval":{"type":"integer","title":"Geo自动更新间隔","description":"单位:h","markdownDescription":"单位:h","default":24},"geodata-mode":{"type":"boolean","title":"GeoIP数据模式","description":"更改geoip使用文件(true: dat, false: mmdb)","markdownDescription":"更改geoip使用文件(true: dat, false: mmdb)","default":false},"geodata-loader":{"enum":["standard","memconservative","memc"],"markdownEnumDescriptions":["标准加载器","专为内存受限(小内存)设备优化的加载器","`memconservative`的别名"],"title":"Geo文件加载器","description":"Geo文件加载器","markdownDescription":"Geo文件加载器","default":"memconservative"},"geosite-matcher":{"enum":["mph","hybrid","succinct"],"markdownEnumDescriptions":["根据Geosite规则中的域名或IP地址信息,将匹配的网络流量代理到指定的目标服务器","根据域名、IP地址和CIDR地址等规则进行匹配,并根据预定义的优先级来选择最佳的匹配结果","使用了一种紧凑的数据结构,可以有效地存储和查询大量的Geosite规则"],"title":"Geosite匹配器","description":"Geosite匹配器","markdownDescription":"Geosite匹配器","default":"succinct"},"tcp-concurrent":{"type":"boolean","title":"TCP并发","description":"TCP并发","markdownDescription":"TCP并发","default":false},"find-process-mode":{"enum":["always","strict","off"],"markdownEnumDescriptions":["强制匹配所有进程","由内核判断是否开启","不匹配进程,推荐在路由器上使用此模式"],"title":"进程匹配模式","description":"进程匹配模式","markdownDescription":"进程匹配模式","default":"strict"},"ebpf":{"title":"ebpf配置","$ref":"#/definitions/general/definitions/ebpf"},"global-client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"全局客户端指纹","description":"支持协议有VLESS,Vmess,trojan","markdownDescription":"支持协议有`VLESS`,`Vmess`,`trojan`"},"global-ua":{"type":"string","title":"全局UA","description":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","markdownDescription":"下载外部资源(proxy-provider、rule-provider、Geo等)时使用","default":"clash.meta"}}}]},"proxies":{"type":"array","title":"代理配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"direct":{"type":"object","title":"outbound-direct","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"direct配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"dns":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocks":{"type":"object","title":"outbound-shadowsocks","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"simple-obfs-option":{"type":"object","title":"简易混淆配置","properties":{"mode":{"enums":["tls","http"],"title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"}}},"v2ray-obfs-option":{"type":"object","title":"v2ray混淆配置","required":["mode"],"properties":{"mode":{"const":"websocket","title":"混淆模式","description":"混淆模式","markdownDescription":"混淆模式"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":"bing.com"},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"mux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":true},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}},"shadow-tls-option":{"type":"object","title":"shadow-tls配置","required":["password","host"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"version":{"enum":[1,2,3],"title":"版本","description":"版本","markdownDescription":"版本","default":2}}},"restls-option":{"type":"object","title":"restls配置","required":["password","host","version-hint"],"properties":{"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"密码","markdownDescription":"密码"},"host":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"主机地址","description":"主机地址","markdownDescription":"主机地址"},"version-hint":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"版本","description":"版本","markdownDescription":"版本"},"restls-script":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"Restls脚本","description":"Restls脚本隐藏代理流量行为","markdownDescription":"[Restls脚本隐藏代理流量行为](https://github.com/3andne/restls/blob/main/Restls-Script%3A%20Hide%20Your%20Proxy%20Traffic%20Behavior.md)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"shadowsocks配置","required":["name","server","port","password","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"plugin":{"enum":["obfs","v2ray-plugin","shadow-tls","restls"],"title":"插件","description":"插件","markdownDescription":"插件"},"udp-over-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over TCP","description":"启用UDP over TCP","markdownDescription":"启用UDP over TCP","default":false},"udp-over-tcp-version":{"enum":[0,1,2],"title":"UDP over TCP的协议版本","description":"UDP over TCP的协议版本","markdownDescription":"UDP over TCP的协议版本","default":2},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}},"allOf":[{"if":{"properties":{"plugin":{"const":"obfs"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"obfs插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"v2ray-plugin"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"v2ray-plugin插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/v2ray-obfs-option"}}}},{"if":{"properties":{"plugin":{"const":"shadow-tls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"shadow-tls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/shadow-tls-option"}}}},{"if":{"properties":{"plugin":{"const":"restls"}}},"then":{"properties":{"plugin-opts":{"type":"object","title":"插件配置","description":"restls插件配置","$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/restls-option"}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"shadowsocksr":{"type":"object","title":"outbound-shadowsocksr","definitions":{"compatible":{"string":{"anyOf":[{"type":"string"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"integer":{"anyOf":[{"type":"integer"},{"pattern":"^\\d+$"}]},"number":{"anyOf":[{"type":"number"},{"pattern":"^\\d+(\\.\\d+)?$"}]},"boolean":{"anyOf":[{"type":"boolean"},{"pattern":"^(?i)(true|false)$"}]}},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"type":"object","title":"出站基本配置","properties":{"tfo":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"mptcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用MPTCP(Multi Path TCP)","description":"仅对TCP协议生效","markdownDescription":"仅对TCP协议生效"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"dialer-proxy":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"}}},"smux":{"type":"object","description":"sing-mux多路复用配置","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用多路复用","description":"启用多路复用","markdownDescription":"启用多路复用","default":false},"protocol":{"enum":["smux","yamux","h2mux"],"markdownEnumDescriptions":["[smux](https://github.com/xtaci/smux)","[yamux](https://github.com/hashicorp/yamux)","[h2mux](https://pkg.go.dev/golang.org/x/net/http2)"],"title":"多路复用协议","description":"多路复用协议","markdownDescription":"多路复用协议","default":"h2mux"},"max-connections":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"min-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最小多路复用流数量","description":"与max-streams冲突","markdownDescription":"与`max-streams`冲突"},"max-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"在打开新连接之前,连接中的最大多路复用流数量","description":"与max-connections, max-streams冲突"},"padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充","default":false},"brutal-opts":{"type":"object","title":"Brutal拥塞控制","description":"Brutal拥塞控制","markdownDescription":"[Brutal](https://github.com/apernet/tcp-brutal)拥塞控制","properties":{"enabled":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法","default":false},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}},"statistic":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"将底层连接显示在面板中","description":"方便打断底层连接","markdownDescription":"方便打断底层连接","default":false},"only-tcp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"是否仅允许tcp","description":"smux配置将不会对udp生效(udp连接会直接走节点默认udp协议传输)","markdownDescription":"smux配置将不会对`udp`生效(udp连接会直接走节点默认`udp`协议传输)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port","password","cipher","obfs"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"obfs":{"enum":["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],"markdownEnumDescriptions":["不使用任何混淆方式(流量以明文形式传输)","将流量伪装成HTTP `GET`请求","将流量伪装成HTTP `POST`请求","在数据包的头部添加随机字节","将流量伪装成TLS 1.2通信","与`tls1.2_ticket_fastauth`类似,但在认证过程中使用了一种更快的认证方式,但可能牺牲了一些安全性"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法"},"protocol":{"enum":["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],"title":"认证协议","description":"认证协议","markdownDescription":"认证协议"}},"allOf":[{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"http_simple"},{"title":"混淆方法","const":"http_post"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"自定义伪装地址和请求体(定义多个使用,分隔并随机选取)","description":"格式: [#body],...","markdownDescription":"格式: <`host`>[#`body`],..."}}}},{"if":{"properties":{"obfs":{"anyOf":[{"title":"混淆方法","const":"tls1.2_ticket_auth"},{"title":"混淆方法","const":"tls1.2_ticket_fastauth"}]}}},"then":{"properties":{"obfs-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义伪装地址(定义多个使用,分隔并随机选取)","description":"格式: ,...","markdownDescription":"格式: <`host`>,..."}}}},{"if":{"properties":{"protocol":{"anyOf":[{"title":"认证协议","const":"auth_aes128_sha1"},{"title":"认证协议","const":"auth_chain_a"}]}}},"then":{"properties":{"protocol-param":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"定义用户ID:密钥(定义多个使用,分隔并随机选取)","description":"格式: :,...","markdownDescription":"格式: <`uderId`>:<`secret`>,..."}}}}]},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"snell":{"type":"object","title":"outbound-snell","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"snell配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"psk":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"版本","description":"版本","markdownDescription":"版本","default":1},"obfs-opts":{"$ref":"#/definitions/proxies/definitions/shadowsocks/definitions/simple-obfs-option"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"socks5":{"type":"object","title":"outbound-dns","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"dns配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"http":{"type":"object","title":"outbound-http","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"http配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vmess":{"type":"object","title":"outbound-vmess","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"type":"object","title":"HTTP配置","properties":{"method":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"请求方式","description":"请求方式","markdownDescription":"请求方式","default":"GET"},"path":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}}}},"http2-option":{"type":"object","title":"HTTP配置","properties":{"host":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机地址","description":"主机地址","markdownDescription":"主机地址","default":["www.example.com"]},"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]}}},"grpc-option":{"type":"object","title":"HTTP配置","properties":{"grpc-service-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"GRPC服务名称","description":"GRPC服务名称","markdownDescription":"GRPC服务名称"}}},"ws-option":{"type":"object","title":"HTTP配置","properties":{"path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"路径","description":"路径","markdownDescription":"路径","default":["/"]},"headers":{"type":"object","title":"请求头","description":"请求头","markdownDescription":"请求头","additionalProperties":{"type":"string"}},"max-early-data":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大早期数据大小","description":"单位:bytes","markdownDescription":"单位:`bytes`"},"early-data-header-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"早期数据使用的header字段名","description":"早期数据使用的header字段名","markdownDescription":"早期数据使用的header字段名"},"v2ray-http-upgrade":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用HTTP协议升级","description":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议","markdownDescription":"通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"},"v2ray-http-upgrade-fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"启用TFO(TCP Fast Open)","markdownDescription":"启用`TFO`(TCP Fast Open)"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vmess配置","required":["name","server","port","uuid","alterId","cipher"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"global-padding":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"全局填充","description":"全局填充","markdownDescription":"全局填充"},"authenticated-length":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用验证信息长度","description":"启用验证信息长度","markdownDescription":"启用验证信息长度"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"vless":{"type":"object","title":"outbound-vless","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"http2-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"vless配置","required":["name","server","port","uuid"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"flow":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"],"markdownEnumDescriptions":["将传入的连接直接转发到目标服务器,不做任何修改或处理","解析传入的连接中的TLS握手信息,然后直接与目标服务器建立加密连接","将传入的连接解析为TLS握手信息,然后重新生成一个新的TLS握手,并在客户端和服务器之间建立两个独立的TLS连接","尝试直接连接目标服务器,如果失败则回退到`xtls-rprx-splice`模式"],"title":"流量控制方式","description":"流量控制方式","markdownDescription":"流量控制方式","if":{"enum":["xtls-rprx-origin","xtls-rprx-direct","xtls-rprx-splice"]},"then":{"deprecationMessage":"旧版XTLS协议(xtls-rprx-origin、xtls-rprx-direct、xtls-rprx-splice)已弃用且不再支持"}},"tls":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TLS","description":"启用TLS","markdownDescription":"启用`TLS`"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"packet-addr":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"保留原始数据包的地址信息","description":"启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用","markdownDescription":"启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"},"xudp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用XUDP","description":"启用XUDP(eXtended User Datagram Protocol)","markdownDescription":"启用`XUDP`(eXtended User Datagram Protocol)"},"packet-encoding":{"enum":["packetaddr","packet","xudp"],"title":"数据包的编码方式","description":"数据包的编码方式","markdownDescription":"数据包的编码方式"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"http-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http-option"},"h2-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/http2-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"ws-path":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"ws-headers":{"type":"object","title":"ws请求头","description":"ws请求头","markdownDescription":"ws请求头","additionalProperties":{"type":"string"}},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"servername":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"服务器名称","description":"服务器名称","markdownDescription":"服务器名称"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"trojan":{"type":"object","title":"outbound-trojan","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"reality-option":{"type":"object","title":"outbound-reality","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["public-key","short-id"],"properties":{"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"short-id":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"short ID","description":"short ID","markdownDescription":"short ID"}}},"grpc-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-option":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"trojan配置","required":["name","server","port","password"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"SNI(Server Name Indication)"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"network":{"enum":["tcp","ws","http","h2","grpc"],"title":"传输协议","description":"传输协议","markdownDescription":"传输协议"},"reality-opts":{"$ref":"#/definitions/proxies/definitions/trojan/definitions/reality-option"},"grpc-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/grpc-option"},"ws-opts":{"$ref":"#/definitions/proxies/definitions/vmess/definitions/ws-option"},"client-fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"客户端指纹","description":"客户端指纹","markdownDescription":"客户端指纹"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria":{"type":"object","title":"outbound-hysteria","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria配置","required":["name","server","up","down"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法","markdownDescription":"混淆方法","default":"udp"},"obfs-protocol":{"enum":["udp","wechat-video","faketcp"],"markdownEnumDescriptions":["伪装udp流量","伪装微信视频流量","伪装假tcp流量"],"title":"混淆方法","description":"混淆方法(为兼容Stash引入,优先级高于protocol)","markdownDescription":"混淆方法(为兼容Stash引入,优先级高于`protocol`)","default":"udp"},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"up-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"上行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于up)","markdownDescription":"单位:`Mbps`上行带宽(为兼容Stash引入,优先级高于`up`)"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down-speed":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"下行带宽","description":"单位:Mbps(为兼容Stash引入,优先级高于down)","markdownDescription":"单位:`Mbps`下行带宽(为兼容Stash引入,优先级高于`down`)"},"auth-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串","markdownDescription":"认证字符串"},"auth":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"认证字符串","description":"认证字符串(为兼容Stash引入,优先级高于auth-str)","markdownDescription":"认证字符串(为兼容Stash引入,优先级高于`auth-str`)"},"obfs":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"hysteria2":{"type":"object","title":"outbound-hysteria2","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"hysteria2配置","required":["name","server"],"dependentRequired":{"obfs":["obfs-password"]},"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"ports":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"占用端口范围","description":"占用端口范围","markdownDescription":"占用端口范围"},"hop-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP端口跳跃间隔","description":"单位:s","markdownDescription":"单位:s","default":10},"up":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"wireguard":{"type":"object","title":"outbound-wireguard","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"},"wireguard-peer-option":{"type":"object","title":"peer配置","required":["server","port"],"properties":{"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"public-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"公钥","description":"公钥","markdownDescription":"公钥"},"pre-shared-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"预共享密钥","description":"预共享密钥","markdownDescription":"预共享密钥"},"reserved":{"type":"array","title":"保留字段值","description":"部分WARP节点需要使用","markdownDescription":"部分`WARP`节点需要使用"},"allowed-ips":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"允许进行流量转发的IP段","description":"允许进行流量转发的IP段","markdownDescription":"允许进行流量转发的IP段"}}}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"wireguard配置","required":["name"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"本机在Wireguard网络中使用的IPv4地址","description":"本机在Wireguard网络中使用的IPv4地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv4`地址"},"ipv6":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"本机在Wireguard网络中使用的IPv6地址","description":"本机在Wireguard网络中使用的IPv6地址","markdownDescription":"本机在`Wireguard`网络中使用的`IPv6`地址"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥(Base64编码)","markdownDescription":"私钥(`Base64`编码)"},"workers":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"工作线程","description":"工作线程(默认为CPU逻辑核心数)","markdownDescription":"工作线程(默认为CPU逻辑核心数)"},"mtu":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大传输单元","description":"最大传输单元","markdownDescription":"最大传输单元","default":1408},"udp":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"persistent-keepalive":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"持久保活间隔","description":"单位:s","markdownDescription":"单位:s"},"peers":{"type":"array","title":"peer配置","description":"peer配置","markdownDescription":"peer配置","items":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},"remote-dns-resolve":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"强制DNS远程解析","description":"强制DNS远程解析","markdownDescription":"强制DNS远程解析","default":false},"dns":{"$ref":"#/definitions/rule-providers/definitions/types/serverArray","title":"DNS解析服务器","description":"DNS解析服务器(要求启用remote-dns-resolve)","markdownDescription":"DNS解析服务器(要求启用`remote-dns-resolve`)"}},"if":{"not":{"properties":{"peers":{"type":"array"}}}},"then":{"$ref":"#/definitions/proxies/definitions/wireguard/definitions/wireguard-peer-option"}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"tuic":{"type":"object","title":"outbound-tuic","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"tuic配置","required":["name","server","port"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"token":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"TUIC V5的用户标识","description":"TUIC V5的用户标识","markdownDescription":"TUIC `V5`的用户标识"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"TUIC V5的用户密码","description":"TUIC V5的用户密码","markdownDescription":"TUIC `V5`的用户密码"},"ip":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"覆盖server选项中设置的服务器地址的DNS查找结果","description":"覆盖server选项中设置的服务器地址的DNS查找结果","markdownDescription":"覆盖`server`选项中设置的服务器地址的DNS查找结果"},"heartbeat-interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"发送保持连接活动的心跳包的间隔时间","description":"单位:ms","markdownDescription":"单位:ms","default":10000},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"reduce-rtt":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用QUIC的0-RTT握手","description":"可以减少连接建立时间,但可能增加重放攻击的风险","markdownDescription":"可以减少连接建立时间,但可能增加重放攻击的风险"},"request-timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"连接TUIC代理服务器的超时时间","description":"单位:ms","markdownDescription":"单位:ms","default":8000},"udp-relay-mode":{"enum":["native","quic"],"title":"UDP数据包中继模式","description":"UDP数据包中继模式","markdownDescription":"UDP数据包中继模式","default":"native"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"disable-sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"max-udp-relay-packet-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1252},"fast-open":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用TFO(TCP Fast Open)","description":"仅对TCP协议生效(优先级高于tfo)","markdownDescription":"仅对TCP协议生效(优先级高于`tfo`)"},"max-open-streams":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大打开流的数量","description":"过多的打开流可能会影响性能","markdownDescription":"过多的打开流可能会影响性能","default":100},"cwnd":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"skip-cert-verify":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"fingerprint":{"$ref":"#/definitions/rule-providers/definitions/enums/fingerprint","title":"指纹","description":"指纹","markdownDescription":"指纹"},"ca":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书文件路径","description":"CA证书文件路径","markdownDescription":"CA证书文件路径"},"ca-str":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"CA证书内容","description":"CA证书内容(优先级低于ca)","markdownDescription":"CA证书内容CA证书内容(优先级低于`ca`)"},"recv-window-conn":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大流接收窗口大小","description":"最大流接收窗口大小(默认限制最大15 MB/s)","markdownDescription":"最大流接收窗口大小(默认限制最大15 MB/s)"},"recv-window":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大连接收窗口大小","description":"最大连接收窗口大小(默认限制最大64 MB/s)","markdownDescription":"最大连接收窗口大小(默认限制最大64 MB/s)"},"disable-mtu-discovery":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"禁用MTU发现","description":"禁用MTU(Maximum Transmission Unit)发现","markdownDescription":"禁用`MTU`(Maximum Transmission Unit)发现"},"max-datagram-frame-size":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"最大数据帧大小","description":"最大数据帧大小","markdownDescription":"最大数据帧大小"},"sni":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"SNI","description":"SNI(Server Name Indication)","markdownDescription":"`SNI`(Server Name Indication)"},"udp-over-stream":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/boolean","title":"启用UDP over Stream","description":"meta和sing-box私有扩展,将ss-uot用于udp中继(开启此选项后udp-relay-mode将失效警告,与原版tuic不兼容)","markdownDescription":"`meta`和`sing-box`私有扩展,将ss-uot用于udp中继(开启此选项后`udp-relay-mode`将失效警告,与原版`tuic`不兼容)"},"udp-over-stream-version":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"UDP over Stream版本","description":"UDP over Stream版本","markdownDescription":"UDP over Stream版本"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]},"ssh":{"type":"object","title":"outbound-ssh","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"basic-option":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},"smux":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}},"allOf":[{"title":"basic配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/basic-option"},{"type":"object","title":"ssh配置","required":["name","server","port","username"],"properties":{"type":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点类型","description":"代理节点类型","markdownDescription":"代理节点类型"},"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"代理节点名称","description":"代理节点名称","markdownDescription":"代理节点名称"},"server":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"代理节点服务器","description":"域名或IP","markdownDescription":"域名或IP"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"代理节点端口号","description":"代理节点端口号","markdownDescription":"代理节点端口号"},"username":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"password":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"private-key":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"private-key-passphrase":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"私钥","description":"私钥密码","markdownDescription":"私钥密码"},"host-key":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥","description":"主机私钥","markdownDescription":"主机私钥"},"host-key-algorithms":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"主机私钥算法","description":"主机私钥算法","markdownDescription":"主机私钥算法"}}},{"type":"object","title":"smux配置","properties":{"smux":{"title":"smux配置","$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/smux"}}}]}},"items":{"anyOf":[{"type":"object","title":"direct","properties":{"type":{"title":"direct配置","const":"direct"}},"$ref":"#/definitions/proxies/definitions/direct"},{"type":"object","title":"dns","properties":{"type":{"title":"dns配置","const":"dns"}},"$ref":"#/definitions/proxies/definitions/dns"},{"type":"object","title":"shadowsocks","properties":{"type":{"title":"shadowsocks配置","const":"ss"}},"$ref":"#/definitions/proxies/definitions/shadowsocks"},{"type":"object","title":"shadowsocksr","properties":{"type":{"title":"shadowsocksr配置","const":"ssr"}},"$ref":"#/definitions/proxies/definitions/shadowsocksr"},{"type":"object","title":"snell","properties":{"type":{"title":"snell配置","const":"snell"}},"$ref":"#/definitions/proxies/definitions/snell"},{"type":"object","title":"socks5","properties":{"type":{"title":"socks5配置","const":"socks5"}},"$ref":"#/definitions/proxies/definitions/socks5"},{"type":"object","title":"http","properties":{"type":{"title":"http配置","const":"http"}},"$ref":"#/definitions/proxies/definitions/http"},{"type":"object","title":"vmess","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/proxies/definitions/vmess"},{"type":"object","title":"vless","properties":{"type":{"title":"vless配置","const":"vless"}},"$ref":"#/definitions/proxies/definitions/vless"},{"type":"object","title":"trojan","properties":{"type":{"title":"trojan配置","const":"trojan"}},"$ref":"#/definitions/proxies/definitions/trojan"},{"type":"object","title":"hysteria","properties":{"type":{"title":"hysteria配置","const":"hysteria"}},"$ref":"#/definitions/proxies/definitions/hysteria"},{"type":"object","title":"hysteria2","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/proxies/definitions/hysteria2"},{"type":"object","title":"wireguard","properties":{"type":{"title":"wireguard配置","const":"wireguard"}},"$ref":"#/definitions/proxies/definitions/wireguard"},{"type":"object","title":"tuic","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/proxies/definitions/tuic"},{"type":"object","title":"ssh","properties":{"type":{"title":"ssh配置","const":"ssh"}},"$ref":"#/definitions/proxies/definitions/ssh"}]}},"proxy-providers":{"type":"object","title":"代理集合配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"health-check":{"type":"object","title":"健康检查","definitions":{"compatible":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible"},"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用健康检查","description":"启用健康检查","markdownDescription":"启用健康检查","default":false},"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"健康检查地址","description":"健康检查url","markdownDescription":"健康检查url","default":"https://www.gstatic.com/generate_204"},"interval":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查间隔","description":"格式: <时长>[ms或s(默认:s)]","markdownDescription":"格式: <时长>[ms或s(默认:s)]","default":"300"},"timeout":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"健康检查超时","description":"格式: <时长>[ms或s(默认:ms)]","markdownDescription":"格式: <时长>[ms或s(默认:ms)]","default":"5000"},"lazy":{"type":"boolean","title":"懒加载","description":"未被使用时,不进行健康检查测试","markdownDescription":"未被使用时,不进行健康检查测试","default":true},"expected-status":{"anyOf":[{"type":"string","pattern":"^(?:\\/?\\d{3}(-?\\d{3})?)+$","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码","default":"*"},{"type":"integer","minimum":100,"maximum":999,"title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"},{"type":"string","const":"*","title":"期望状态码","description":"健康检查时期望的HTTP响应状态码","markdownDescription":"健康检查时期望的HTTP响应状态码"}]}}}},"patternProperties":{"^default$":{"type":"null","errorMessage":"不能使用default作为provider的名称"}},"additionalProperties":{"type":"object","required":["type"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"},"header":{"type":"object","errorMessage":"类型应为object"},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"},"override":{"allOf":[{"type":"object","title":"覆写节点内容","description":"覆写节点内容","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`"},"up":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置上行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置上行带宽"},"down":{"type":"string","title":"是否允许UDP通过代理","description":"Hysteria/Hysteria2协议配置下行带宽","markdownDescription":"`Hysteria`/`Hysteria2`协议配置下行带宽"},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"skip-cert-verify":{"type":"boolean","title":"跳过证书验证","description":"跳过证书验证","markdownDescription":"跳过证书验证"},"interface-name":{"type":"string","title":"指定节点绑定的接口,从此接口发起连接","description":"指定节点绑定的接口,从此接口发起连接","markdownDescription":"指定节点绑定的接口,从此接口发起连接"},"routing-mark":{"type":"integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"},"ip-version":{"enum":["dual","ipv4","ipv6","ipv4-prefer","ipv6-prefer"],"markdownEnumDescriptions":["`IPv4`/`IPv6`双栈","仅使用`IPv4`","仅使用`IPv6`","优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`","优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"],"title":"设置节点使用IP版本","description":"设置节点使用IP版本","markdownDescription":"设置节点使用IP版本","default":"dual"},"additional-prefix":{"type":"string","title":"为节点名称添加固定前缀","description":"为节点名称添加固定前缀","markdownDescription":"为节点名称添加固定前缀"},"additional-suffix":{"type":"string","title":"为节点名称添加固定后缀","description":"为节点名称添加固定后缀","markdownDescription":"为节点名称添加固定后缀"}}}]},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据节点类型排除节点","description":"direct, dns, ss, ssr, snell, socks5, http, vmess, vless, trojan, hysteria, hysteria2, wireguard, tuic, ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`direct`,`dns`,`ss`,`ssr`,`snell`,`socks5`,`http`,`vmess`,`vless`,`trojan`,`hysteria`,`hysteria2`,`wireguard`,`tuic`,`ssh`(使用`|`分隔,不支持正则表达式)"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"proxy-groups":{"type":"array","title":"代理组配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"url-test":{"type":"object","title":"outboundgroup-url-test","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"url-test配置","properties":{"tolerance":{"type":"integer","title":"代理节点切换容差","description":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)","markdownDescription":"新代理节点延迟至少比当前小多少程度,才进行代理节点切换(单位:ms)"}}}]},"fallback":{"type":"object","title":"outboundgroup-fallback","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"fallback配置","properties":{}}]},"load-balance":{"type":"object","title":"outboundgroup-load-balance","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"type":"object","title":"outboundgroup-groupbase","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"出站基础配置","properties":{"name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"出站名称","description":"出站名称","markdownDescription":"出站名称"},"type":{"enum":["select","url-test","fallback","load-balance","relay"],"markdownEnumDescriptions":["手动选择","延迟选优","故障转移","负载均衡","链式代理"],"title":"出站类型","description":"出站类型","markdownDescription":"出站类型"},"interface-name":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string","title":"流量出站接口","description":"流量出站接口","markdownDescription":"流量出站接口"},"routing-mark":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/integer","title":"节点发起连接时附加的路由标记","description":"为Linux下的出站连接提供默认流量标记","markdownDescription":"为Linux下的出站连接提供默认流量标记"}}},"health-check":{"$ref":"#/definitions/proxy-providers/definitions/health-check"}},"allOf":[{"title":"出站基础配置","required":["name","type"],"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase/definitions/base-option"},{"allOf":[{"type":"object","title":"代理组基础配置","properties":{"proxies":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点列表","description":"代理节点列表","markdownDescription":"代理节点列表"},"use":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"引入proxy-provider中的代理节点","description":"引入proxy-provider中的代理节点","markdownDescription":"引入proxy-provider中的代理节点"},"max-failed-times":{"type":"integer","title":"最大失败次数","description":"在timeout时间长度内,请求失败max-failed-times次,强制提前主动触发健康检查","markdownDescription":"在`timeout`时间长度内,请求失败`max-failed-times`次,强制提前主动触发健康检查","default":5},"disable-udp":{"type":"boolean","title":"禁用UDP","description":"禁用UDP","markdownDescription":"禁用`UDP`"},"filter":{"type":"string","title":"节点过滤","description":"保留满足关键词或正则表达式的节点(使用`号分隔)","markdownDescription":"筛选满足关键词或`正则表达式`的节点(使用`号分隔)"},"exclude-filter":{"type":"string","title":"节点排除","description":"排除满足关键词或正则表达式的节点(不支持多个表达式)","markdownDescription":"排除满足关键词或`正则表达式`的节点(不支持多个表达式)"},"exclude-type":{"type":"string","title":"根据出站类型排除节点","description":"Direct, Reject, RejectDrop, Compatible, Pass, Dns, Shadowsocks, ShadowsocksR, Snell, Socks5, Http, Vmess, Vless, Trojan, Hysteria, Hysteria2, WireGuard, Tuic, Relay, Selector, Fallback, URLTest, LoadBalance, Ssh(使用|分隔,不支持正则表达式)","markdownDescription":"`Direct`,`Reject`,`RejectDrop`,`Compatible`,`Pass`,`Dns`,`Shadowsocks`,`ShadowsocksR`,`Snell`,`Socks5`,`Http`,`Vmess`,`Vless`,`Trojan`,`Hysteria`,`Hysteria2`,`WireGuard`,`Tuic`,`Relay`,`Selector`,`Fallback`,`URLTest`,`LoadBalance`,`Ssh(使用`|`分隔,不支持正则表达式)"},"include-all":{"type":"boolean","title":"引入所有proxies和proxy-providers包含的代理节点","description":"引入所有proxies和proxy-providers包含的代理节点(优先级高于include-all-proxies和include-all-providers)","markdownDescription":"引入所有`proxies`和`proxy-providers`包含的代理节点(优先级高于`include-all-proxies`和`include-all-providers`)"},"include-all-proxies":{"type":"boolean","title":"引入所有proxies包含的代理节点","description":"引入所有proxies包含的代理节点","markdownDescription":"引入所有`proxies`包含的代理节点"},"include-all-providers":{"type":"boolean","title":"引入所有proxy-providers包含的代理节点","description":"引入所有proxy-providers包含的代理节点","markdownDescription":"引入所有`proxy-providers`包含的代理节点"},"hidden":{"type":"boolean","title":"隐藏代理组","description":"需要调用RESTful API的Web UI适配支持","markdownDescription":"需要调用RESTful API的Web UI适配支持"},"icon":{"type":"string","title":"代理组图标","description":"标签src属性支持的值(如url、data:image/*;base64等,需要调用RESTful API的Web UI适配支持)","markdownDescription":"``标签`src`属性支持的值(如`url`、`data:image/*;base64`等,需要调用RESTful API的Web UI适配支持)"}}},{"title":"健康检查配置","$ref":"#/definitions/proxy-providers/definitions/health-check"}]}]}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"load-balance配置","properties":{"strategy":{"enum":["consistent-hashing","round-robin","sticky-sessions"],"title":"负载均衡策略","markdownEnumDescriptions":["一致性哈希,把相同顶级域名的请求分配给代理组内的同一个代理节点","轮询,按照顺序将请求分发给每个可用的服务器","粘性会话,将特定的用户会话绑定到同一台服务器上"],"default":"consistent-hashing"}}}]},"relay":{"type":"object","title":"outboundgroup-relay","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"groupbase":{"$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"}},"allOf":[{"title":"代理组基础配置","$ref":"#/definitions/proxy-groups/definitions/load-balance/definitions/groupbase"},{"type":"object","title":"relay配置","properties":{}}]}},"items":{"anyOf":[{"title":"url-test配置","$ref":"#/definitions/proxy-groups/definitions/url-test"},{"title":"fallback配置","$ref":"#/definitions/proxy-groups/definitions/fallback"},{"title":"load-balance配置","$ref":"#/definitions/proxy-groups/definitions/load-balance"},{"title":"relay配置","$ref":"#/definitions/proxy-groups/definitions/relay"}]}},"listeners":{"type":"array","title":"listeners配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"socks":{"type":"object","title":"inbound-socks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"socks配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"http":{"type":"object","title":"inbound-http","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"http配置","properties":{}}]},"tproxy":{"type":"object","title":"inbound-tproxy","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tproxy配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"redir":{"type":"object","title":"inbound-redir","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"redir配置","properties":{}}]},"mixed":{"type":"object","title":"inbound-mixed","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"mixed配置","properties":{"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true}}}]},"tunnel":{"type":"object","title":"inbound-tunnel","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tunnel配置","required":["network","target"],"properties":{"network":{"type":"array","title":"传输协议","description":"传输协议","markdownDescription":"传输协议","items":{"enum":["tcp","udp"]}},"target":{"$ref":"#/definitions/rule-providers/definitions/patterns/server","title":"目标地址","description":"目标地址","markdownDescription":"目标地址"}}}]},"tun":{"type":"object","title":"inbound-tun","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tun配置","properties":{"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["基于系统网络栈执行`L3`到`L4`转换。可以提供更稳定/全面的TUN体验,且占用相对其他堆栈更低。","基于`gVisor`虚拟网络栈执行`L3`到`L4`转换。通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能。","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好。"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"TUN接口的IPv4前缀","description":"TUN接口的IPv4前缀","markdownDescription":"`TUN`接口的`IPv4`前缀","deprecationMessage":"已弃用"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"TUN接口的IPv6前缀","description":"TUN接口的IPv6前缀","markdownDescription":"`TUN`接口的`IPv6`前缀"},"strict-route":{"type":"boolean","title":"严格路由","description":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的普通多宿主DNS解析行为造成的DNS泄露(可能会使某些应用程序如VirtualBox在某些情况下无法正常工作)。","markdownDescription":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用`systemd-resolved`的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的`普通多宿主DNS`解析行为造成的DNS泄露(可能会使某些应用程序如`VirtualBox`在某些情况下无法正常工作)。","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}}]},"shadowsocks":{"type":"object","title":"inbound-shadowsocks","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"type":"object","title":"inbound-base","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"required":["name"],"properties":{"name":{"type":"string","title":"名称","description":"名称","markdownDescription":"名称"},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip","title":"监听地址","description":"监听地址","markdownDescription":"监听地址","default":"0.0.0.0"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"监听端口","description":"监听端口","markdownDescription":"监听端口"},"rule":{"type":"string","title":"出站规则","description":"使用子规则作为入站匹配规则出站","markdownDescription":"使用子规则作为入站匹配规则出站"},"proxy":{"type":"string","title":"出站代理","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为proxy-groups,proxy的name"}}},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"string","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"integer","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option/definitions/brutal"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"shadowsocks配置","required":["password","cipher"],"properties":{"password":{"type":"string","title":"密码","description":"认证密码","markdownDescription":"认证密码"},"cipher":{"$ref":"#/definitions/rule-providers/definitions/enums/cipher","title":"加密方法","description":"加密方法","markdownDescription":"加密方法"},"udp":{"type":"boolean","title":"启用UDP","description":"启用UDP","markdownDescription":"启用`UDP`","default":true},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"vmess":{"type":"object","title":"inbound-vmess","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"},"vmess-user":{"type":"object","title":"vmess用户","required":["uuid","alterId"],"properties":{"username":{"type":"string","title":"用户名","description":"认证用户名","markdownDescription":"认证用户名"},"uuid":{"$ref":"#/definitions/rule-providers/definitions/patterns/uuid","title":"UUID","description":"UUID","markdownDescription":"UUID"},"alterId":{"type":"integer","title":"AlterID","description":"Alternate ID(替代标识)","markdownDescription":"Alternate ID(替代标识)"}}}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"vmess配置","required":["users"],"properties":{"users":{"type":"array","title":"用户列表","description":"用户列表","markdownDescription":"用户列表","items":{"$ref":"#/definitions/listeners/definitions/vmess/definitions/vmess-user"}},"ws-path":{"type":"string","title":"ws路径","description":"ws路径","markdownDescription":"ws路径"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"hysteria2":{"type":"object","title":"inbound-hysteria2","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"hysteria2配置","required":["certificate","private-key"],"properties":{"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"obfs":{"const":"salamander","title":"混淆方式","description":"混淆方式","markdownDescription":"混淆方式"},"obfs-password":{"type":"string","title":"混淆密钥","description":"混淆密钥","markdownDescription":"混淆密钥"},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"up":{"type":"string","title":"上行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"down":{"type":"string","title":"下行带宽","description":"格式:<带宽数值> [带宽单位(默认:Mbps)]","markdownDescription":"格式:<带宽数值> [带宽单位(默认:`Mbps`)]"},"ignore-client-bandwidth":{"type":"boolean","title":"忽略客户端带宽","description":"启用后使服务器忽略任何客户端设置的带宽提示,使用传统的BBR拥塞控制算法","markdownDescription":"启用后使服务器忽略任何客户端设置的带宽带宽提示,使用传统的BBR拥塞控制算法"},"masquerade":{"$ref":"#/definitions/rule-providers/definitions/patterns/url","title":"伪装流量url","description":"支持file://、http://、https://","markdownDescription":"支持`file://`、`http://`、`https://`"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)"},"udp-mtu":{"type":"integer","title":"UDP最大传输单元","description":"UDP最大传输单元(Maximum Transmission Unit)","markdownDescription":"UDP最大传输单元(Maximum Transmission Unit)","default":1197},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]},"tuic":{"type":"object","title":"inbound-tuic","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"base-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},"mux-option":{"$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}},"allOf":[{"title":"入站基础配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/base-option"},{"type":"object","title":"tuic配置","required":["certificate","private-key"],"properties":{"token":{"type":"string","title":"TUIC V4的用户标识","description":"TUIC V4的用户标识","markdownDescription":"TUIC `V4`的用户标识"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥内容或私钥文件路径","markdownDescription":"私钥内容或私钥文件路径"},"congestion-controller":{"enum":["cubic","new_reno","bbr"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/listeners/definitions/shadowsocks/definitions/mux-option"}}}]}},"items":{"anyOf":[{"type":"object","title":"socks配置","properties":{"type":{"title":"socks配置","const":"socks"}},"$ref":"#/definitions/listeners/definitions/socks"},{"type":"object","title":"http配置","properties":{"type":{"title":"socks配置","const":"http"}},"$ref":"#/definitions/listeners/definitions/http"},{"type":"object","title":"tproxy配置","properties":{"type":{"title":"tproxy配置","const":"tproxy"}},"$ref":"#/definitions/listeners/definitions/tproxy"},{"type":"object","title":"redir配置","properties":{"type":{"title":"redir配置","const":"redir"}},"$ref":"#/definitions/listeners/definitions/redir"},{"type":"object","title":"mixed配置","properties":{"type":{"title":"mixed配置","const":"mixed"}},"$ref":"#/definitions/listeners/definitions/mixed"},{"type":"object","title":"tunnel配置","properties":{"type":{"title":"tunnel配置","const":"tunnel"}},"$ref":"#/definitions/listeners/definitions/tunnel"},{"type":"object","title":"TUN配置","properties":{"type":{"title":"TUN配置","const":"tun"}},"$ref":"#/definitions/listeners/definitions/tun"},{"type":"object","title":"shadowsocks配置","properties":{"type":{"title":"shadowsocks配置","const":"shadowsocks"}},"$ref":"#/definitions/listeners/definitions/shadowsocks"},{"type":"object","title":"vmess配置","properties":{"type":{"title":"vmess配置","const":"vmess"}},"$ref":"#/definitions/listeners/definitions/vmess"},{"type":"object","title":"hysteria2配置","properties":{"type":{"title":"hysteria2配置","const":"hysteria2"}},"$ref":"#/definitions/listeners/definitions/hysteria2"},{"type":"object","title":"tuic配置","properties":{"type":{"title":"tuic配置","const":"tuic"}},"$ref":"#/definitions/listeners/definitions/tuic"}]}},"rule-providers":{"type":"object","title":"规则集合配置","definitions":{"types":{"stringArray":{"type":"array","items":{"$ref":"#/definitions/proxies/definitions/shadowsocksr/definitions/compatible/string"}},"portArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/port"}},"portRangeArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/portRange"}},"ipv4Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"}},"ipv4PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"}},"ipv4CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"}},"ipv6Array":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}},"ipv6PortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}},"ipv6CIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}},"ipArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ip"}},"ipPortArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort"}},"ipCIDRArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR"}},"serverArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/server"}},"domainArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domain"}},"domainWildcardArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/domainWildcard"}},"urlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/url"}},"httpUrlArray":{"type":"array","items":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl"}}},"patterns":{"port":{"anyOf":[{"type":"integer","minimum":0,"maximum":65535},{"type":"string","pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口号(0~65535)"}]},"portRange":{"pattern":"^(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$|^([1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])-(?:[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$","errorMessage":"无效的端口范围(port 或 port1-port2)"},"ipv4":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$","errorMessage":"无效的IPv4地址"},"ipv4Port":{"pattern":"^((?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5])))?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的IPv4地址:端口"},"ipv4CIDR":{"pattern":"^(?:(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[1-9]?[0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))(?:\\/(?:[12]?[0-9]|3[0-2]))$","errorMessage":"无效的IPv4网段"},"ipv6":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)$","errorMessage":"无效的IPv6地址"},"ipv6Port":{"pattern":"^(\\[([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\])?:(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-5]{2}[0-3][0-5])$","errorMessage":"无效的[IPv6地址]:端口"},"ipv6CIDR":{"pattern":"^([0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){7}|::|:(?::[0-9a-fA-F]{1,4}){1,6}|[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,5}|(?:[0-9a-fA-F]{1,4}:){2}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){3}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){4}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){5}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,6}:)\\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$","errorMessage":"无效的IPv6网段"},"ip":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"}]},"ipPort":{"anyOf":[{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"}]},"ipCIDR":{"anyOf":[{"description":"ipv4网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4CIDR"},{"description":"ipv6网段","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6CIDR"}]},"domain":{"pattern":"^(xn--)?[a-zA-Z0-9-_]+(?:\\.(xn--)?[a-zA-Z0-9-_]+)+$","errorMessage":"无效的域名"},"domainWildcard":{"pattern":"^\\+?(xn--)?[a-zA-Z0-9-_*.]+(?:\\.(xn--)?[a-zA-Z0-9-_*]+)*$","errorMessage":"无效的域名通配"},"server":{"anyOf":[{"description":"ipv4","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4"},{"description":"ipv4:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv4Port"},{"description":"ipv6","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6"},{"description":"[ipv6]:端口","$ref":"#/definitions/rule-providers/definitions/patterns/ipv6Port"},{"description":"域名","$ref":"#/definitions/rule-providers/definitions/patterns/domain"}]},"url":{"pattern":"^.+:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的URL"},"httpUrl":{"pattern":"^https?:\\/\\/([^\\s/$.?#].[^\\s]*)\\.[^\\s]{2,}(\\/[^\\s]*)?$","errorMessage":"无效的HTTP-URL"},"uuid":{"pattern":"^[0-9a-fA-F]{8}(?:-?[0-9a-fA-F]{4}){3}-?[0-9a-fA-F]{12}$","errorMessage":"无效的UUID"}},"enums":{"cipher":{"description":"加密方法","enum":["none","auto","dummy","aes-128-gcm","aes-192-gcm","aes-256-gcm","lea-128-gcm","lea-192-gcm","lea-256-gcm","aes-128-gcm-siv","aes-256-gcm-siv","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","chacha20","chacha20-ietf","chacha20-ietf-poly1305","2022-blake3-chacha20-poly1305","rabbit128-poly1305","xchacha20-ietf-poly1305","xchacha20","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5"]},"fingerprint":{"description":"指纹","enum":["chrome","chrome_psk","chrome_psk_shuffle","chrome_padding_psk_shuffle","chrome_pq","chrome_pq_psk","firefox","safari","ios","android","edge","360","qq","random","randomized"]}}},"additionalProperties":{"type":"object","required":["type","behavior"],"properties":{"type":{"enum":["file","http"],"markdownEnumDescriptions":["本地文件","网络文件"],"title":"provider类型","description":"provider类型","markdownDescription":"provider类型"},"behavior":{"enum":["domain","ipcidr","classical"],"markdownEnumDescriptions":["域名通配","IP网段匹配","支持除`rule-set`/`sub-rule`以外的全部路由规则"],"title":"规则匹配行为","description":"规则匹配行为","markdownDescription":"规则匹配行为"},"path":{"type":"string","title":"provider文件保存路径","description":"默认使用MD5(url)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量SKIP_SAFE_PATH_CHECK=1)","markdownDescription":"默认使用MD5(`url`)作为文件名。内核工作目录的相对路径(如果想保存到任意位置,配置环境变量`SKIP_SAFE_PATH_CHECK=1`)"},"format":{"enum":["yaml","text"],"markdownEnumDescriptions":["YAML格式","普通文本格式"],"title":"provider文件格式","description":"provider文件格式","markdownDescription":"provider文件格式","default":"yaml"},"interval":{"type":"integer","title":"provider更新间隔","description":"单位:s","markdownDescription":"单位:s"}},"if":{"properties":{"type":{"const":"http"}}},"then":{"required":["url"],"properties":{"url":{"$ref":"#/definitions/rule-providers/definitions/patterns/httpUrl","title":"provider网络文件地址","description":"provider网络文件地址","markdownDescription":"provider网络文件地址"},"proxy":{"type":"string","title":"使用指定代理下载/更新provider","description":"使用指定代理下载/更新provider","markdownDescription":"使用指定代理下载/更新provider"}}}}},"sub-rules":{"type":"object","title":"子规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"type":"string","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"anyOf":[{"title":"匹配完整域名","pattern":"^DOMAIN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名后缀","pattern":"^DOMAIN-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名关键字","pattern":"^DOMAIN-KEYWORD((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配域名正则表达式","pattern":"^DOMAIN-REGEX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Geosite内的域名","pattern":"^GEOSITE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属国家代码","pattern":"^GEOIP((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属国家代码","pattern":"^SRC-GEOIP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP所属ASN","pattern":"^IP-ASN((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP所属ASN","pattern":"^SCR-IP-ASN((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配IP地址范围","pattern":"^IP-CIDR6((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP地址范围","pattern":"^SRC-IP-CIDR((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配IP后缀范围","pattern":"^IP-SUFFIX((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"匹配来源IP后缀范围","pattern":"^SRC-IP-SUFFIX((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求来源端口范围","pattern":"^SRC-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配请求目标端口范围","pattern":"^DST-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站端口,可用端口范围","pattern":"^IN-PORT((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"DSCP标记(仅限tproxy udp入站)","pattern":"^DSCP((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配进程名称(Android包名)","pattern":"^PROCESS-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配完整进程路径","pattern":"^PROCESS-PATH((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程名称(Android包名)","pattern":"^PROCESS-NAME-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"正则匹配完整进程路径","pattern":"^PROCESS-PATH-REGEX((?:,.+){2})$","errorMessage":"无效的规则"},{"title":"匹配传输协议(tcp/udp)","pattern":"^NETWORK((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配Linux USER ID","pattern":"^UID((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站类型","pattern":"^IN-TYPE((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站用户名","pattern":"^IN-USER((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"匹配入站名称","pattern":"^IN-NAME((?:,[^,]+){2})$","errorMessage":"无效的规则"},{"title":"子规则","pattern":"^SUB-RULE,\\(.+\\),.+$","errorMessage":"无效的规则"},{"title":"匹配规则集(rule-providers中定义)","pattern":"^RULE-SET((?:,[^,]+){2})(,no-resolve)?$","errorMessage":"无效的规则"},{"title":"逻辑和","pattern":"^AND,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑或","pattern":"^OR,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"逻辑非","pattern":"^NOT,\\(\\(.+,.+\\)\\),.+$","errorMessage":"无效的规则"},{"title":"匹配所有请求(无需条件)","pattern":"^MATCH,.+$","errorMessage":"无效的规则"}]}},"additionalProperties":{"type":"array","items":{"$ref":"#/definitions/sub-rules/definitions/rule"}}},"rules":{"type":"array","title":"规则配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"rule":{"$ref":"#/definitions/sub-rules/definitions/rule"}},"items":{"$ref":"#/definitions/sub-rules/definitions/rule"}},"hosts":{"type":"object","title":"hosts配置","description":"key: value格式(域名支持通配)","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"ntp":{"type":"object","title":"NTP配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用NTP","description":"NTP(Network Time Protocol),用于同步计算机系统时钟的网络协议","markdownDescription":"`NTP`(Network Time Protocol),用于同步计算机系统时钟的网络协议","default":false},"server":{"type":"string","title":"NTP服务器地址","description":"NTP服务器地址","markdownDescription":"`NTP`服务器地址","default":"time.apple.com"},"port":{"$ref":"#/definitions/rule-providers/definitions/patterns/port","title":"NTP服务器端口","description":"NTP服务器端口","markdownDescription":"`NTP`服务器端口","default":123},"interval":{"type":"integer","title":"同步时钟间隔","description":"单位:m","markdownDescription":"单位:m","default":30},"dialer-proxy":{"type":"string","title":"指定当前proxy通过下一跳的dialer-proxy建立网络连接","description":"取值为proxy-groups,proxy的name","markdownDescription":"取值为`proxy-groups`,`proxy`的`name`"},"write-to-system":{"type":"boolean","title":"同步至系统时间","description":"需要root/管理员权限","markdownDescription":"需要root/管理员权限"}}},"dns":{"type":"object","description":"DNS配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用DNS","description":"关闭将使用系统DNS","markdownDescription":"关闭将使用系统DNS","default":false},"prefer-h3":{"type":"boolean","title":"启用DoH的HTTP/3支持","description":"启用DoH的HTTP/3支持","markdownDescription":"启用DoH的`HTTP/3`支持","default":false},"ipv6":{"type":"boolean","title":"是否解析IPV6","description":"如为false,则回应内容为AAAA的空解析","markdownDescription":"如为false,则回应内容为AAAA的空解析","default":false},"ipv6-timeout":{"type":"integer","title":"解析IPV6超时时间","description":"单位: ms","markdownDescription":"单位: ms","default":100},"use-hosts":{"type":"boolean","title":"启用配置中的hosts配置","description":"启用配置中的hosts配置","markdownDescription":"启用配置中的`hosts`配置","default":true},"use-system-hosts":{"type":"boolean","title":"查询系统hosts文件","description":"优先级低于配置中的hosts配置","markdownDescription":"优先级低于配置中的`hosts`配置","default":true},"nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"默认域名解析服务器","description":"支持UDP,TCP,DoT,DoH,DoQ","markdownDescription":"支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`","default":["https://doh.pub/dns-query","tls://223.5.5.5:853"]},"fallback":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"备用域名解析服务器","description":"一般情况下使用境外DNS服务器,保证结果可信","markdownDescription":"一般情况下使用境外DNS服务器,保证结果可信"},"fallback-filter":{"type":"object","title":"备用域名解析服务器过滤","description":"满足条件的将采用fallback的解析结果,或只采用fallback解析结果","markdownDescription":"满足条件的将采用`fallback`的解析结果,或只采用`fallback`解析结果","properties":{"geoip":{"type":"boolean","title":"启用fallback-filter","description":"启用fallback-filter","markdownDescription":"启用`fallback-filter`","default":true},"geoip-code":{"type":"string","title":"启用fallback-filter","description":"除geoip-code配置的国家IP外,其他IP结果会被视为污染。geoip-code对应国家的结果会直接采用,其余结果将采用fallback的解析结果","markdownDescription":"除`geoip-code`配置的国家IP外,其他IP结果会被视为污染。`geoip-code`对应国家的结果会直接采用,其余结果将采用`fallback`的解析结果","default":"CN"},"ipcidr":{"$ref":"#/definitions/rule-providers/definitions/types/ipCIDRArray","title":"DNS污染网段列表","description":"这些网段的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些网段的结果会被视为污染,将采用`fallback`的解析结果"},"domain":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染域名列表","description":"这些域名的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些域名的结果会被视为污染,将采用`fallback`的解析结果"},"geosite":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS污染GeoSite列表","description":"这些GeoSite的结果会被视为污染,将采用fallback的解析结果","markdownDescription":"这些[GeoSite](https://github.com/MetaCubeX/meta-rules-dat/tree/meta/geo/geosite)的结果会被视为污染,将采用`fallback`的解析结果","deprecationMessage":"使用nameserver-policy代替geosite(geosite将在未来移除)"}}},"listen":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"DNS服务器监听地址","description":"DNS服务器监听地址","markdownDescription":"DNS服务器监听地址","default":"127.0.0.1:53"},"enhanced-mode":{"enum":["normal","fake-ip","redir-host"],"markdownEnumDescriptions":["普通模式","fake-ip模式","redir-host模式"],"title":"增强模式","description":"DNS处理模式","markdownDescription":"DNS处理模式","default":"fake-ip"},"fake-ip-range":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipCIDR","title":"fake-ip的预留映射地址段","description":"TUN模式的网卡默认IP也使用此值作为参考","markdownDescription":"TUN模式的网卡默认IP也使用此值作为参考","default":"198.18.0.1/16"},"fake-ip-filter":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"fake-ip过滤","description":"哪些域名不使用fake-ip","markdownDescription":"哪些域名不使用`fake-ip`","default":["dns.msftnsci.com","www.msftnsci.com","www.msftconnecttest.com"]},"default-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"元域名解析服务器","description":"解析nameserver,fallback以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持UDP,TCP,DoT,DoH,DoQ)","markdownDescription":"解析`nameserver`,`fallback`以及其他DNS服务器配置的DNS服务器(只能使用纯IP地址,支持`UDP`,`TCP`,`DoT`,`DoH`,`DoQ`)","default":["114.114.114.114","223.5.5.5","8.8.8.8","1.0.0.1"]},"cache-algorithm":{"enum":["lru","arc"],"markdownEnumDescriptions":["最近最少使用","自适应替换缓存"],"title":"缓存算法","description":"缓存算法","markdownDescription":"缓存算法","default":"lru"},"nameserver-policy":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"$ref":"#/definitions/rule-providers/definitions/types/stringArray"}]},"title":"DNS解析服务器策略","description":"指定地址使用特定DNS解析服务器","markdownDescription":"指定地址使用特定DNS解析服务器"},"proxy-server-nameserver":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"代理节点DNS解析服务器","description":"用于解析代理节点的域名","markdownDescription":"用于解析代理节点的域名"}}},"tun":{"type":"object","title":"tun配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"}},"properties":{"enable":{"type":"boolean","title":"启用TUN模式","description":"启用TUN模式","markdownDescription":"启用`TUN`模式","default":false},"device":{"type":"string","title":"指定TUN网卡名称","description":"指定TUN网卡名称(macOS强制为utun)","markdownDescription":"指定TUN网卡名称(macOS强制为`utun`)"},"stack":{"type":"string","title":"TUN模式堆栈","enum":["system","gvisor","mixed"],"markdownEnumDescriptions":["基于系统网络栈执行`L3`到`L4`转换。可以提供更稳定/全面的TUN体验,且占用相对其他堆栈更低。","基于`gVisor`虚拟网络栈执行`L3`到`L4`转换。通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能。","混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好。"],"description":"如无使用问题,建议使用mixed(默认gvisor)","markdownDescription":"如无使用问题,建议使用`mixed`(默认`gvisor`)","default":"gvisor"},"dns-hijack":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"DNS劫持","description":"一般设置为any:53即可,即劫持所有53端口的udp流量","markdownDescription":"一般设置为`any:53`即可,即劫持所有53端口的udp流量","default":["0.0.0.0:53"]},"auto-route":{"type":"boolean","title":"自动设置全局路由","description":"可以自动将全局流量路由进入TUN网卡","markdownDescription":"可以自动将全局流量路由进入`TUN`网卡","default":true},"auto-detect-interface":{"type":"boolean","title":"自动选择流量出口接口","description":"多出口网卡同时连接的设备建议手动指定出口网卡","markdownDescription":"多出口网卡同时连接的设备建议手动指定出口网卡","default":true},"mtu":{"type":"integer","minimum":1,"maximum":65534,"title":"最大传输单元","description":"会影响极限状态下的速率,一般用户默认即可","markdownDescription":"会影响极限状态下的速率,一般用户默认即可","default":9000},"gso":{"type":"boolean","title":"启用通用分段卸载","description":"仅支持Linux","markdownDescription":"仅支持Linux","default":false},"gso-max-size":{"type":"integer","title":"通用分段卸载包的最大大小","description":"通用分段卸载包的最大大小","markdownDescription":"通用分段卸载包的最大大小","default":65536},"inet4-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv4","title":"TUN接口的IPv4前缀","description":"TUN接口的IPv4前缀","markdownDescription":"`TUN`接口的`IPv4`前缀"},"inet6-address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipv6","title":"TUN接口的IPv6前缀","description":"TUN接口的IPv6前缀","markdownDescription":"`TUN`接口的`IPv6`前缀"},"strict-route":{"type":"boolean","title":"严格路由","description":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的普通多宿主DNS解析行为造成的DNS泄露(可能会使某些应用程序如VirtualBox在某些情况下无法正常工作)。","markdownDescription":"在Linux中,它可以防止地址泄漏,并使DNS劫持在Android和使用`systemd-resolved`的Linux上工作(你的设备将无法被其他设备访问)。在Windows中,添加防火墙规则以阻止Windows的`普通多宿主DNS`解析行为造成的DNS泄露(可能会使某些应用程序如`VirtualBox`在某些情况下无法正常工作)。","default":false},"inet4-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用自定义路由","description":"启用auto-route时,指定这些IPV4网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用自定义路由"},"inet6-route-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用自定义路由","description":"启用auto-route时,指定这些IPV6网段使用自定义路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用自定义路由"},"inet4-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv4CIDRArray","title":"启用auto-route时,指定这些IPV4网段使用默认路由","description":"启用auto-route时,指定这些IPV4网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV4网段使用默认路由"},"inet6-route-exclude-address":{"$ref":"#/definitions/rule-providers/definitions/types/ipv6CIDRArray","title":"启用auto-route时,指定这些IPV6网段使用默认路由","description":"启用auto-route时,指定这些IPV6网段使用默认路由","markdownDescription":"启用`auto-route`时,指定这些IPV6网段使用默认路由"},"include-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的接口","description":"与exclude-interface冲突","markdownDescription":"与`exclude-interface`冲突"},"exclude-interface":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的接口","description":"与include-interface冲突","markdownDescription":"与`include-interface`冲突"},"include-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Linux用户范围,使其被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"exclude-uid":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"exclude-uid-range":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Linux用户范围,使其不被Tun路由流量","description":"格式: :(需要启用auto-route)","markdownDescription":"格式: :(需要启用`auto-route`)"},"include-android-user":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android用户","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"include-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"包含被路由的Android应用包名","description":"使其被Tun路由流量(需要启用auto-route)","markdownDescription":"使其被Tun路由流量(需要启用`auto-route`)"},"exclude-package":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"排除被路由的Android应用包名","description":"使其避免被Tun路由流量","markdownDescription":"使其避免被Tun路由流量"},"endpoint-independent-nat":{"type":"boolean","title":"启用独立于端点的NAT","description":"性能可能会略有下降,不建议在不需要的时候开启","markdownDescription":"性能可能会略有下降,不建议在不需要的时候开启","default":false},"udp-timeout":{"type":"integer","title":"UDP NAT过期时间","description":"单位:s","markdownDescription":"单位:s","default":300},"file-descriptor":{"type":"integer","title":"文件描述符","description":"绑定到文件描述符对应设备接口(Unix-like系统)","markdownDescription":"绑定到文件描述符对应设备接口(Unix-like系统)"},"table-index":{"type":"integer","title":"使用的路由表索引值","description":"docker子系统限制最高1023","markdownDescription":"docker子系统限制最高1023","default":2022}}},"tuic-server":{"type":"object","title":"tuic-server配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"mux-option":{"type":"object","title":"sing配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"},"enums":{"$ref":"#/definitions/rule-providers/definitions/enums"},"brutal":{"type":"object","title":"brutal配置","properties":{"enabled":{"type":"boolean","title":"启用Brutal拥塞控制算法","description":"启用Brutal拥塞控制算法","markdownDescription":"启用Brutal拥塞控制算法"},"up":{"type":"integer","title":"上行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"},"down":{"type":"integer","title":"下行带宽","description":"以Mbps为单位","markdownDescription":"以`Mbps`为单位"}}}},"properties":{"padding":{"type":"boolean","title":"启用填充","description":"启用填充","markdownDescription":"启用填充"},"brutal":{"title":"brutal配置","$ref":"#/definitions/tuic-server/definitions/mux-option/definitions/brutal"}}}},"required":["enable","listen"],"properties":{"enable":{"type":"boolean","title":"启用tuic-server","description":"启用tuic-server","markdownDescription":"启用`tuic-server`"},"listen":{"type":"string","title":"监听地址","description":"多个使用,分隔","markdownDescription":"多个使用,分隔"},"token":{"type":"string","title":"Token","description":"Token","markdownDescription":"Token"},"users":{"type":"object","title":"用户列表(key: value格式)","description":"uuid:password","markdownDescription":"`uuid`:`password`","additionalProperties":{"type":"string"}},"certificate":{"type":"string","title":"证书或证书路径","description":"PEM格式","markdownDescription":"PEM格式"},"private-key":{"type":"string","title":"私钥","description":"私钥","markdownDescription":"私钥"},"congestion-controller":{"enum":["cubic","new_reno","bbr_meta_v1","bbr_meta_v2","bbr"],"markdownEnumDescriptions":["根据网络拥塞窗口的大小来调整传输速率,以使其在拥塞和非拥塞期间保持平衡","通过在网络发生拥塞时执行快速恢复和快速重传来改善数据传输性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","`BBR`算法变体版本,通过引入新的机制和策略来进一步提升网络性能","通过动态估计网络的带宽和往返时间(`RTT`),并根据这些信息来调整数据传输速率"],"title":"拥塞控制算法","description":"拥塞控制算法","markdownDescription":"拥塞控制算法"},"max-idle-time":{"type":"integer","title":"连接的最大空闲时间","description":"单位:ms","markdownDescription":"单位:ms"},"authentication-timeout":{"type":"integer","title":"认证超时时间","description":"单位:ms","markdownDescription":"单位:ms"},"alpn":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"ALPN","description":"Application-Layer Protocol Negotiation(应用层协议协商)","markdownDescription":"Application-Layer Protocol Negotiation(应用层协议协商)"},"max-udp-relay-packet-size":{"type":"integer","title":"最大的UDP数据包中继大小","description":"单位:bytes","markdownDescription":"单位:bytes","default":1500},"max-datagram-frame-size":{"type":"integer","title":"最大数据帧大小","description":"不超过1400","markdownDescription":"不超过1400"},"cwnd":{"type":"integer","title":"拥塞窗口大小","description":"拥塞窗口大小(Congestion Window)","markdownDescription":"拥塞窗口大小(Congestion Window)","default":32},"mux-option":{"title":"多路复用配置","$ref":"#/definitions/tuic-server/definitions/mux-option"}}},"authentication":{"type":"array","title":"认证配置","description":"格式: <用户>:<密码>","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}}},"tunnels":{"type":"array","description":"隧道配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"items":{"anyOf":[{"pattern":"^(tcp)?/?(udp)?(?:,[^,]+){2,3}$","errorMessage":"格式(,
,,[proxy])"},{"type":"object","properties":{"network":{"type":"array","items":{"enum":["tcp","udp"],"markdownEnumDescriptions":["tcp","udp"]},"title":"需要监听的网络类型","description":"可为tcp/udp","markdownDescription":"可为`tcp`/`udp`"},"address":{"$ref":"#/definitions/rule-providers/definitions/patterns/ipPort","title":"本地监听地址","description":"本地监听地址","markdownDescription":"本地监听地址"},"target":{"type":"string","title":"转发的目标地址","description":"转发的目标地址","markdownDescription":"转发的目标地址"},"proxy":{"type":"string","title":"经由代理","description":"经由某个proxy/proxy-group发送流量(可选)","markdownDescription":"经由某个`proxy`/`proxy-group`发送流量(可选)"}}}]}},"sniffer":{"type":"object","description":"域名嗅探配置","definitions":{"types":{"$ref":"#/definitions/rule-providers/definitions/types"},"patterns":{"$ref":"#/definitions/rule-providers/definitions/patterns"}},"properties":{"enable":{"type":"boolean","title":"启用域名嗅探","description":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","markdownDescription":"Clash使用Mapping机制解决透明代理情况下,无法通过Redir端口传递域名的问题。但此机制会导致如果不使用Clash内置的DNS解析服务,就无法准确还原域名,进行域名分流的问题。Meta内置了Sniffer域名嗅器,通过读取握手包内的域名字段,将IP还原成域名,有效解决Mapping机制的短板。","default":false},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问","description":"全局配置,优先级低于sniffer.sniff中的配置","markdownDescription":"全局配置,优先级低于`sniffer.sniff`中的配置","default":true},"force-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要强制嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"skip-domain":{"$ref":"#/definitions/rule-providers/definitions/types/domainWildcardArray","title":"需要跳过嗅探的域名","description":"默认情况下只对IP进行嗅探","markdownDescription":"默认情况下只对IP进行嗅探"},"sniffing":{"$ref":"#/definitions/rule-providers/definitions/types/stringArray","title":"限制嗅探类型范围","description":"支持TLS,HTTP,QUIC","markdownDescription":"支持`TLS`,`HTTP`,`QUIC`","deprecationMessage":"推荐使用sniff"},"port-whitelist":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","title":"限制嗅探端口范围","description":"要求搭配sniffing使用(格式:80 或 80-88)","markdownDescription":"要求搭配`sniffing`使用(格式:`80` 或 `80-88`)","deprecationMessage":"推荐使用sniff"},"force-dns-mapping":{"type":"boolean","title":"启用redir-host强制嗅探","description":"对redir-host类型识别的流量进行强制嗅探","markdownDescription":"对`redir-host`类型识别的流量进行强制嗅探","default":true},"parse-pure-ip":{"type":"boolean","title":"启用未获取到域名强制嗅探","description":"对所有未获取到域名的流量进行强制嗅探","markdownDescription":"对所有未获取到域名的流量进行强制嗅探","default":true},"sniff":{"type":"object","title":"域名嗅探规则","description":"域名嗅探规则","markdownDescription":"域名嗅探规则","properties":{"TLS":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"HTTP":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}},"QUIC":{"type":"object","properties":{"ports":{"$ref":"#/definitions/rule-providers/definitions/types/portRangeArray","description":"嗅探端口列表"},"override-destination":{"type":"boolean","title":"启用嗅探结果作为实际访问"}}}}}},"if":{"allOf":[{"properties":{"enable":{"const":true}}},{"properties":{"sniff":{"const":{}}}}]},"then":{"properties":{"enable":{"deprecationMessage":"未配置sniff配置"}}}}},"allOf":[{"type":"object","title":"实验性内容配置","properties":{"experimental":{"$ref":"#/definitions/experimental"}}},{"type":"object","title":"缓存配置","properties":{"profile":{"$ref":"#/definitions/profile"}}},{"type":"object","title":"iptables配置","properties":{"iptables":{"$ref":"#/definitions/iptables"}}},{"type":"object","title":"TLS配置","properties":{"tls":{"$ref":"#/definitions/tls"}}},{"title":"全局配置","$ref":"#/definitions/general"},{"type":"object","title":"代理配置","properties":{"proxies":{"$ref":"#/definitions/proxies"}}},{"type":"object","title":"代理集合配置","properties":{"proxy-providers":{"$ref":"#/definitions/proxy-providers"}}},{"type":"object","title":"代理组配置","properties":{"proxy-groups":{"$ref":"#/definitions/proxy-groups"}}},{"type":"object","title":"listeners配置","properties":{"listeners":{"$ref":"#/definitions/listeners"}}},{"type":"object","title":"规则集合配置","properties":{"rule-providers":{"$ref":"#/definitions/rule-providers"}}},{"type":"object","title":"子规则配置","properties":{"sub-rules":{"$ref":"#/definitions/sub-rules"}}},{"type":"object","title":"规则配置","properties":{"rules":{"$ref":"#/definitions/rules"}}},{"type":"object","title":"hosts配置","properties":{"hosts":{"$ref":"#/definitions/hosts"}}},{"type":"object","title":"NTP配置","properties":{"ntp":{"$ref":"#/definitions/ntp"}}},{"type":"object","title":"DNS配置","properties":{"dns":{"$ref":"#/definitions/dns"}}},{"type":"object","title":"TUN配置","properties":{"tun":{"$ref":"#/definitions/tun"}}},{"type":"object","title":"tuic-server配置","properties":{"tuic-server":{"$ref":"#/definitions/tuic-server"}}},{"type":"object","title":"认证配置","properties":{"authentication":{"$ref":"#/definitions/authentication"}}},{"type":"object","title":"隧道配置","properties":{"tunnels":{"$ref":"#/definitions/tunnels"}}},{"type":"object","title":"域名嗅探配置","properties":{"sniffer":{"$ref":"#/definitions/sniffer"}}}]} \ No newline at end of file diff --git a/scripts/release.mjs b/scripts/release.mjs deleted file mode 100644 index fea978c..0000000 --- a/scripts/release.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import bundle from "./util/bundle.mjs"; -import { pkg, resolve } from "./util/env.mjs"; -import { writeToFileSync } from "./util/file.mjs"; -import fs from "fs"; - -(async () => { - // 读取release配置 - const releases = pkg.config.releases; - for (let release of releases) { - if (release.enabled) { - const source = resolve(release.source); - const target = resolve(release.target); - const optimization = release.optimization; - // 执行bundle - await bundle(source, target, optimization, true); - } - } - - // 提取CHANGELOG - const changelogs = fs.readFileSync(resolve("CHANGELOG.md"), "utf8"); - writeToFileSync( - resolve("CHANGELOG"), - changelogs - .split("---") - .map(log => log.trim()) - .filter(log => log.startsWith(`## v${pkg.version}`)) - .filter(Boolean)?.[0] ?? "" - ); -})(); diff --git a/scripts/util/bundle.mjs b/scripts/util/bundle.mjs deleted file mode 100644 index f86f4b6..0000000 --- a/scripts/util/bundle.mjs +++ /dev/null @@ -1,91 +0,0 @@ -import $RefParser from '@apidevtools/json-schema-ref-parser'; -import prettier from 'prettier'; -import { writeToFileSync } from './file.mjs'; - -const print = (message, verbose) => { - if (verbose) console.log(message); -}; - -// 处理间接引用(引用的内容是另一个内容的引用) -// 间接引用虽然语法正确,但可能会无法被某些解析器正确解析 -const handleIndirectReference = async jsonObject => { - // 先进行格式化,防止出错 - let formatted = await format(JSON.stringify(jsonObject)); - // 获取所有引用 - let references = allReferences(formatted); - // 找出间接引用 - let indirectReferences; - while ((indirectReferences = references.map(ref => indirectReference(jsonObject, ref)).filter(Boolean)).length > 0) { - // 替换间接引用为目标引用 - indirectReferences.forEach(reference => { - formatted = formatted.replaceAll(reference.path, reference.target); - jsonObject = JSON.parse(formatted); - references = allReferences(formatted); - }); - } - return formatted; -}; - -// 获取所有引用 -const allReferences = formatted => { - let references = []; - const regex = /"\$ref": "(.*)"/gm; - let matcher; - while ((matcher = regex.exec(formatted)) !== null) { - regex.lastIndex += matcher.index === regex.lastIndex ? 1 : 0; - references.push(matcher[1]); - } - return [...new Set(references)]; -}; - -// 获取间接引用 -const indirectReference = (jsonObject, ref) => { - const nodes = ref?.replace('#/', '')?.split('/'); - let path = '#'; - let current = jsonObject; - let next; - if (nodes.length > 0) { - for (let node of nodes) { - if (!(next = current[node])) break; - path = `${path}/${node}`; - current = next; - if (typeof next === 'object' && next['$ref'] && Object.keys(next).length === 1) { - return { - path: path, - target: next['$ref'] - }; - } - } - } -}; - -const format = async json => { - // 格式化json内容 - const options = { - parser: 'json', - quoteProps: 'as-needed', // 添加引号包裹 - singleQuote: false, //使用单引号 - trailingComma: 'all', // 添加尾随逗号 - bracketSpacing: false, // 添加对象{}之间空格 - proseWrap: 'preserve', // 换行行为 - endOfLine: 'lf', // 换行符 - embeddedLanguageFormatting: 'auto' // 格式化内容中的代码 - }; - return await prettier.format(json, options).then(formatted => formatted); -}; - -export default async function (input, output, optimization, verbose) { - // bundle文件片段 - print(`📦 Bundling...(${input})`, verbose); - await $RefParser.bundle(input).then(async jsonObject => { - // 间接引用解引用,提高兼容性 - let dereferred = await handleIndirectReference(jsonObject); - - // 格式化 / 最小化(约缩减40%) - const schema = optimization ? JSON.stringify(JSON.parse(dereferred)) : (dereferred = await format(dereferred)); - - // 输出内容 - writeToFileSync(output, schema, true); - print(`💾 Saving to: ${output}`, verbose); - }); -} diff --git a/scripts/util/env.mjs b/scripts/util/env.mjs deleted file mode 100644 index 7de91c1..0000000 --- a/scripts/util/env.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import fs from 'fs'; -import path from 'path'; - -// package.json对象 -export const pkg = JSON.parse(fs.readFileSync(path.resolve('package.json'), 'utf8')); - -// resolve路径 -const workspace = path.dirname(path.resolve('package.json')); -export const resolve = (...args) => path.resolve(workspace, ...args); diff --git a/scripts/util/file.mjs b/scripts/util/file.mjs deleted file mode 100644 index 58783b9..0000000 --- a/scripts/util/file.mjs +++ /dev/null @@ -1,13 +0,0 @@ -import fs from 'fs'; -import path from 'path'; - -export const writeToFileSync = (file, data, clean = true) => { - if (fs.existsSync(file) && clean) { - fs.rmSync(file); - } - const directory = path.dirname(file); - if (!fs.existsSync(directory)) { - fs.mkdirSync(directory, { recursive: true }); - } - fs.writeFileSync(file, data); -}; diff --git a/scripts/watch.mjs b/scripts/watch.mjs deleted file mode 100644 index 3799caa..0000000 --- a/scripts/watch.mjs +++ /dev/null @@ -1,28 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import bundle from './util/bundle.mjs'; -import { pkg, resolve } from './util/env.mjs'; - -const watchPath = resolve('./src'); -(async () => { - console.log(`♻️ Watching for: ${watchPath} ...`); - - for (let source of pkg.config.watches) { - const target = resolve(`./.temp/${source.substr(source.lastIndexOf('/') + 1)}`); - - // 监测目录及子目录的文件变动 - fs.watch(watchPath, { recursive: true }, async (_type, filename) => { - const file = path.resolve(watchPath, filename); - if (fs.existsSync(file)) { - try { - console.log(`Changes in: ${file}`); - - // 执行bundle - await bundle(source, target, false, false); - } catch (error) { - console.error(`Error watching: ${file}: `, error); - } - } - }); - } -})();