meta-json-schema 1.18.3-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +2 -0
- package/.vscode/extensions.json +3 -0
- package/.vscode/settings.json +18 -0
- package/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/README.md +200 -0
- package/package.json +40 -0
- package/schemas/clash-verge-merge-json-schema.json +1 -0
- package/schemas/meta-json-schema.json +1 -0
- package/scripts/release.mjs +16 -0
- package/scripts/util/bundle.mjs +91 -0
- package/scripts/util/env.mjs +9 -0
- package/scripts/util/file.mjs +13 -0
- package/scripts/watch.mjs +28 -0
- package/src/clash-verge-merge-json-schema.json +88 -0
- package/src/definitions/compatible.json +6 -0
- package/src/definitions/enums.json +57 -0
- package/src/definitions/patterns.json +87 -0
- package/src/definitions/types.json +155 -0
- package/src/meta-json-schema.json +168 -0
- package/src/modules/adapter/outbound/base.json +91 -0
- package/src/modules/adapter/outbound/direct.json +39 -0
- package/src/modules/adapter/outbound/dns.json +39 -0
- package/src/modules/adapter/outbound/http.json +101 -0
- package/src/modules/adapter/outbound/hysteria.json +182 -0
- package/src/modules/adapter/outbound/hysteria2.json +146 -0
- package/src/modules/adapter/outbound/reality.json +25 -0
- package/src/modules/adapter/outbound/shadowsocks.json +308 -0
- package/src/modules/adapter/outbound/shadowsocksr.json +151 -0
- package/src/modules/adapter/outbound/singmux.json +95 -0
- package/src/modules/adapter/outbound/snell.json +65 -0
- package/src/modules/adapter/outbound/socks5.json +88 -0
- package/src/modules/adapter/outbound/ssh.json +87 -0
- package/src/modules/adapter/outbound/trojan.json +93 -0
- package/src/modules/adapter/outbound/tuic.json +213 -0
- package/src/modules/adapter/outbound/vless.json +146 -0
- package/src/modules/adapter/outbound/vmess.json +251 -0
- package/src/modules/adapter/outbound/wireguard.json +150 -0
- package/src/modules/adapter/outboundgroup/fallback.json +18 -0
- package/src/modules/adapter/outboundgroup/groupbase.json +98 -0
- package/src/modules/adapter/outboundgroup/loadbalance.json +29 -0
- package/src/modules/adapter/outboundgroup/relay.json +18 -0
- package/src/modules/adapter/outboundgroup/urltest.json +25 -0
- package/src/modules/adapter/provider/health-check.json +73 -0
- package/src/modules/adapter/provider/provider.json +159 -0
- package/src/modules/config/authentication.json +9 -0
- package/src/modules/config/controller.json +47 -0
- package/src/modules/config/dns.json +156 -0
- package/src/modules/config/ebpf.json +22 -0
- package/src/modules/config/experimental.json +31 -0
- package/src/modules/config/general.json +140 -0
- package/src/modules/config/geox-url.json +38 -0
- package/src/modules/config/hosts.json +9 -0
- package/src/modules/config/inbound.json +98 -0
- package/src/modules/config/iptables.json +38 -0
- package/src/modules/config/listeners.json +90 -0
- package/src/modules/config/ntp.json +50 -0
- package/src/modules/config/profile.json +24 -0
- package/src/modules/config/proxies.json +118 -0
- package/src/modules/config/proxy-groups.json +21 -0
- package/src/modules/config/proxy-providers.json +11 -0
- package/src/modules/config/rules.json +11 -0
- package/src/modules/config/sniffer.json +111 -0
- package/src/modules/config/sub-rules.json +14 -0
- package/src/modules/config/tls.json +28 -0
- package/src/modules/config/tunnels.json +49 -0
- package/src/modules/listener/config/tuic.json +102 -0
- package/src/modules/listener/config/tun.json +205 -0
- package/src/modules/listener/inbound/base.json +43 -0
- package/src/modules/listener/inbound/http.json +18 -0
- package/src/modules/listener/inbound/hysteria2.json +102 -0
- package/src/modules/listener/inbound/mixed.json +26 -0
- package/src/modules/listener/inbound/mux.json +42 -0
- package/src/modules/listener/inbound/redir.json +18 -0
- package/src/modules/listener/inbound/shadowsocks.json +41 -0
- package/src/modules/listener/inbound/socks.json +26 -0
- package/src/modules/listener/inbound/tproxy.json +26 -0
- package/src/modules/listener/inbound/tuic.json +84 -0
- package/src/modules/listener/inbound/tun.json +207 -0
- package/src/modules/listener/inbound/tunnel.json +33 -0
- package/src/modules/listener/inbound/vmess.json +72 -0
- package/src/modules/listener/sing/sing.json +42 -0
- package/src/modules/rules/provider/provider.json +71 -0
- package/src/modules/rules/rule.json +165 -0
- package/test/clash-meta/example1.yaml +3170 -0
- package/test/clash-verge/merge.yaml +212 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "outbound-vless",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"compatible": { "$ref": "../../../definitions/compatible.json" },
|
|
6
|
+
"types": { "$ref": "../../../definitions/types.json" },
|
|
7
|
+
"patterns": { "$ref": "../../../definitions/patterns.json" },
|
|
8
|
+
"enums": { "$ref": "../../../definitions/enums.json" },
|
|
9
|
+
"basic-option": { "$ref": "./base.json#/definitions/basic-option" },
|
|
10
|
+
"smux": { "$ref": "./singmux.json" },
|
|
11
|
+
"reality-option": { "$ref": "./reality.json" },
|
|
12
|
+
"http-option": { "$ref": "./vmess.json#/definitions/http-option" },
|
|
13
|
+
"http2-option": { "$ref": "./vmess.json#/definitions/http2-option" },
|
|
14
|
+
"grpc-option": { "$ref": "./vmess.json#/definitions/grpc-option" },
|
|
15
|
+
"ws-option": { "$ref": "./vmess.json#/definitions/ws-option" }
|
|
16
|
+
},
|
|
17
|
+
"allOf": [
|
|
18
|
+
{ "title": "basic配置", "$ref": "#/definitions/basic-option" },
|
|
19
|
+
{
|
|
20
|
+
"type": "object",
|
|
21
|
+
"title": "vless配置",
|
|
22
|
+
"required": ["name", "server", "port", "uuid"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"type": {
|
|
25
|
+
"$ref": "#/definitions/compatible/string",
|
|
26
|
+
"title": "代理节点类型",
|
|
27
|
+
"description": "代理节点类型",
|
|
28
|
+
"markdownDescription": "代理节点类型"
|
|
29
|
+
},
|
|
30
|
+
"name": {
|
|
31
|
+
"$ref": "#/definitions/compatible/string",
|
|
32
|
+
"title": "代理节点名称",
|
|
33
|
+
"description": "代理节点名称",
|
|
34
|
+
"markdownDescription": "代理节点名称"
|
|
35
|
+
},
|
|
36
|
+
"server": {
|
|
37
|
+
"$ref": "#/definitions/patterns/server",
|
|
38
|
+
"title": "代理节点服务器",
|
|
39
|
+
"description": "域名或IP",
|
|
40
|
+
"markdownDescription": "域名或IP"
|
|
41
|
+
},
|
|
42
|
+
"port": {
|
|
43
|
+
"$ref": "#/definitions/patterns/port",
|
|
44
|
+
"title": "代理节点端口号",
|
|
45
|
+
"description": "代理节点端口号",
|
|
46
|
+
"markdownDescription": "代理节点端口号"
|
|
47
|
+
},
|
|
48
|
+
"uuid": {
|
|
49
|
+
"$ref": "#/definitions/patterns/uuid",
|
|
50
|
+
"title": "UUID",
|
|
51
|
+
"description": "UUID",
|
|
52
|
+
"markdownDescription": "UUID"
|
|
53
|
+
},
|
|
54
|
+
"flow": {
|
|
55
|
+
"enum": ["xtls-rprx-origin", "xtls-rprx-direct", "xtls-rprx-splice", "xtls-rprx-vision"],
|
|
56
|
+
"markdownEnumDescriptions": [
|
|
57
|
+
"将传入的连接直接转发到目标服务器,不做任何修改或处理",
|
|
58
|
+
"解析传入的连接中的TLS握手信息,然后直接与目标服务器建立加密连接",
|
|
59
|
+
"将传入的连接解析为TLS握手信息,然后重新生成一个新的TLS握手,并在客户端和服务器之间建立两个独立的TLS连接",
|
|
60
|
+
"尝试直接连接目标服务器,如果失败则回退到`xtls-rprx-splice`模式"
|
|
61
|
+
],
|
|
62
|
+
"title": "流量控制方式",
|
|
63
|
+
"description": "流量控制方式",
|
|
64
|
+
"markdownDescription": "流量控制方式"
|
|
65
|
+
},
|
|
66
|
+
"tls": {
|
|
67
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
68
|
+
"title": "启用TLS",
|
|
69
|
+
"description": "启用TLS",
|
|
70
|
+
"markdownDescription": "启用`TLS`"
|
|
71
|
+
},
|
|
72
|
+
"alpn": {
|
|
73
|
+
"$ref": "#/definitions/types/stringArray",
|
|
74
|
+
"title": "ALPN",
|
|
75
|
+
"description": "Application-Layer Protocol Negotiation(应用层协议协商)",
|
|
76
|
+
"markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
|
|
77
|
+
},
|
|
78
|
+
"packet-addr": {
|
|
79
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
80
|
+
"title": "保留原始数据包的地址信息",
|
|
81
|
+
"description": "启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用",
|
|
82
|
+
"markdownDescription": "启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"
|
|
83
|
+
},
|
|
84
|
+
"xudp": {
|
|
85
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
86
|
+
"title": "启用XUDP",
|
|
87
|
+
"description": "启用XUDP(eXtended User Datagram Protocol)",
|
|
88
|
+
"markdownDescription": "启用`XUDP`(eXtended User Datagram Protocol)"
|
|
89
|
+
},
|
|
90
|
+
"packet-encoding": {
|
|
91
|
+
"enum": ["packetaddr", "packet", "xudp"],
|
|
92
|
+
"title": "数据包的编码方式",
|
|
93
|
+
"description": "数据包的编码方式",
|
|
94
|
+
"markdownDescription": "数据包的编码方式"
|
|
95
|
+
},
|
|
96
|
+
"network": {
|
|
97
|
+
"enum": ["tcp", "ws", "http", "h2", "grpc"],
|
|
98
|
+
"title": "传输协议",
|
|
99
|
+
"description": "传输协议",
|
|
100
|
+
"markdownDescription": "传输协议"
|
|
101
|
+
},
|
|
102
|
+
"reality-opts": { "$ref": "#/definitions/reality-option" },
|
|
103
|
+
"http-opts": { "$ref": "#/definitions/http-option" },
|
|
104
|
+
"h2-opts": { "$ref": "#/definitions/http2-option" },
|
|
105
|
+
"grpc-opts": { "$ref": "#/definitions/grpc-option" },
|
|
106
|
+
"ws-opts": { "$ref": "#/definitions/ws-option" },
|
|
107
|
+
"ws-path": {
|
|
108
|
+
"$ref": "#/definitions/compatible/string",
|
|
109
|
+
"title": "ws路径",
|
|
110
|
+
"description": "ws路径",
|
|
111
|
+
"markdownDescription": "ws路径"
|
|
112
|
+
},
|
|
113
|
+
"ws-headers": {
|
|
114
|
+
"type": "object",
|
|
115
|
+
"title": "ws请求头",
|
|
116
|
+
"description": "ws请求头",
|
|
117
|
+
"markdownDescription": "ws请求头",
|
|
118
|
+
"additionalProperties": { "type": "string" }
|
|
119
|
+
},
|
|
120
|
+
"fingerprint": {
|
|
121
|
+
"$ref": "#/definitions/enums/fingerprint",
|
|
122
|
+
"title": "指纹",
|
|
123
|
+
"description": "指纹",
|
|
124
|
+
"markdownDescription": "指纹"
|
|
125
|
+
},
|
|
126
|
+
"servername": {
|
|
127
|
+
"$ref": "#/definitions/compatible/string",
|
|
128
|
+
"title": "服务器名称",
|
|
129
|
+
"description": "服务器名称",
|
|
130
|
+
"markdownDescription": "服务器名称"
|
|
131
|
+
},
|
|
132
|
+
"client-fingerprint": {
|
|
133
|
+
"$ref": "#/definitions/enums/fingerprint",
|
|
134
|
+
"title": "客户端指纹",
|
|
135
|
+
"description": "客户端指纹",
|
|
136
|
+
"markdownDescription": "客户端指纹"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "object",
|
|
142
|
+
"title": "smux配置",
|
|
143
|
+
"properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "outbound-vmess",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"compatible": { "$ref": "../../../definitions/compatible.json" },
|
|
6
|
+
"types": { "$ref": "../../../definitions/types.json" },
|
|
7
|
+
"patterns": { "$ref": "../../../definitions/patterns.json" },
|
|
8
|
+
"enums": { "$ref": "../../../definitions/enums.json" },
|
|
9
|
+
"basic-option": { "$ref": "./base.json#/definitions/basic-option" },
|
|
10
|
+
"smux": { "$ref": "./singmux.json" },
|
|
11
|
+
"reality-option": { "$ref": "./reality.json" },
|
|
12
|
+
"http-option": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"title": "HTTP配置",
|
|
15
|
+
"properties": {
|
|
16
|
+
"method": {
|
|
17
|
+
"$ref": "#/definitions/compatible/string",
|
|
18
|
+
"title": "请求方式",
|
|
19
|
+
"description": "请求方式",
|
|
20
|
+
"markdownDescription": "请求方式",
|
|
21
|
+
"default": "GET"
|
|
22
|
+
},
|
|
23
|
+
"path": {
|
|
24
|
+
"$ref": "#/definitions/types/stringArray",
|
|
25
|
+
"title": "路径",
|
|
26
|
+
"description": "路径",
|
|
27
|
+
"markdownDescription": "路径",
|
|
28
|
+
"default": ["/"]
|
|
29
|
+
},
|
|
30
|
+
"headers": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"title": "请求头",
|
|
33
|
+
"description": "请求头",
|
|
34
|
+
"markdownDescription": "请求头",
|
|
35
|
+
"additionalProperties": { "type": "string" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"http2-option": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"title": "HTTP配置",
|
|
42
|
+
"properties": {
|
|
43
|
+
"host": {
|
|
44
|
+
"$ref": "#/definitions/types/stringArray",
|
|
45
|
+
"title": "主机地址",
|
|
46
|
+
"description": "主机地址",
|
|
47
|
+
"markdownDescription": "主机地址",
|
|
48
|
+
"default": ["www.example.com"]
|
|
49
|
+
},
|
|
50
|
+
"path": {
|
|
51
|
+
"$ref": "#/definitions/compatible/string",
|
|
52
|
+
"title": "路径",
|
|
53
|
+
"description": "路径",
|
|
54
|
+
"markdownDescription": "路径",
|
|
55
|
+
"default": ["/"]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"grpc-option": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"title": "HTTP配置",
|
|
62
|
+
"properties": {
|
|
63
|
+
"grpc-service-name": {
|
|
64
|
+
"$ref": "#/definitions/compatible/string",
|
|
65
|
+
"title": "GRPC服务名称",
|
|
66
|
+
"description": "GRPC服务名称",
|
|
67
|
+
"markdownDescription": "GRPC服务名称"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"ws-option": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"title": "HTTP配置",
|
|
74
|
+
"properties": {
|
|
75
|
+
"path": {
|
|
76
|
+
"$ref": "#/definitions/compatible/string",
|
|
77
|
+
"title": "路径",
|
|
78
|
+
"description": "路径",
|
|
79
|
+
"markdownDescription": "路径",
|
|
80
|
+
"default": ["/"]
|
|
81
|
+
},
|
|
82
|
+
"headers": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"title": "请求头",
|
|
85
|
+
"description": "请求头",
|
|
86
|
+
"markdownDescription": "请求头",
|
|
87
|
+
"additionalProperties": { "type": "string" }
|
|
88
|
+
},
|
|
89
|
+
"max-early-data": {
|
|
90
|
+
"$ref": "#/definitions/compatible/integer",
|
|
91
|
+
"title": "最大早期数据大小",
|
|
92
|
+
"description": "单位:bytes",
|
|
93
|
+
"markdownDescription": "单位:`bytes`"
|
|
94
|
+
},
|
|
95
|
+
"early-data-header-name": {
|
|
96
|
+
"$ref": "#/definitions/compatible/string",
|
|
97
|
+
"title": "早期数据使用的header字段名",
|
|
98
|
+
"description": "早期数据使用的header字段名",
|
|
99
|
+
"markdownDescription": "早期数据使用的header字段名"
|
|
100
|
+
},
|
|
101
|
+
"v2ray-http-upgrade": {
|
|
102
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
103
|
+
"title": "启用HTTP协议升级",
|
|
104
|
+
"description": "通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议",
|
|
105
|
+
"markdownDescription": "通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"
|
|
106
|
+
},
|
|
107
|
+
"v2ray-http-upgrade-fast-open": {
|
|
108
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
109
|
+
"title": "启用TFO(TCP Fast Open)",
|
|
110
|
+
"description": "启用TFO(TCP Fast Open)",
|
|
111
|
+
"markdownDescription": "启用`TFO`(TCP Fast Open)"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"allOf": [
|
|
117
|
+
{ "title": "basic配置", "$ref": "#/definitions/basic-option" },
|
|
118
|
+
{
|
|
119
|
+
"type": "object",
|
|
120
|
+
"title": "vmess配置",
|
|
121
|
+
"required": ["name", "server", "port", "uuid", "alterId", "cipher"],
|
|
122
|
+
"properties": {
|
|
123
|
+
"type": {
|
|
124
|
+
"$ref": "#/definitions/compatible/string",
|
|
125
|
+
"title": "代理节点类型",
|
|
126
|
+
"description": "代理节点类型",
|
|
127
|
+
"markdownDescription": "代理节点类型"
|
|
128
|
+
},
|
|
129
|
+
"name": {
|
|
130
|
+
"$ref": "#/definitions/compatible/string",
|
|
131
|
+
"title": "代理节点名称",
|
|
132
|
+
"description": "代理节点名称",
|
|
133
|
+
"markdownDescription": "代理节点名称"
|
|
134
|
+
},
|
|
135
|
+
"server": {
|
|
136
|
+
"$ref": "#/definitions/patterns/server",
|
|
137
|
+
"title": "代理节点服务器",
|
|
138
|
+
"description": "域名或IP",
|
|
139
|
+
"markdownDescription": "域名或IP"
|
|
140
|
+
},
|
|
141
|
+
"port": {
|
|
142
|
+
"$ref": "#/definitions/patterns/port",
|
|
143
|
+
"title": "代理节点端口号",
|
|
144
|
+
"description": "代理节点端口号",
|
|
145
|
+
"markdownDescription": "代理节点端口号"
|
|
146
|
+
},
|
|
147
|
+
"uuid": {
|
|
148
|
+
"$ref": "#/definitions/patterns/uuid",
|
|
149
|
+
"title": "UUID",
|
|
150
|
+
"description": "UUID",
|
|
151
|
+
"markdownDescription": "UUID"
|
|
152
|
+
},
|
|
153
|
+
"alterId": {
|
|
154
|
+
"$ref": "#/definitions/compatible/integer",
|
|
155
|
+
"title": "AlterID",
|
|
156
|
+
"description": "Alternate ID(替代标识)",
|
|
157
|
+
"markdownDescription": "Alternate ID(替代标识)"
|
|
158
|
+
},
|
|
159
|
+
"cipher": {
|
|
160
|
+
"$ref": "#/definitions/enums/cipher",
|
|
161
|
+
"title": "加密方法",
|
|
162
|
+
"description": "加密方法",
|
|
163
|
+
"markdownDescription": "加密方法"
|
|
164
|
+
},
|
|
165
|
+
"udp": {
|
|
166
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
167
|
+
"title": "启用UDP",
|
|
168
|
+
"description": "启用UDP",
|
|
169
|
+
"markdownDescription": "启用`UDP`",
|
|
170
|
+
"default": true
|
|
171
|
+
},
|
|
172
|
+
"network": {
|
|
173
|
+
"enum": ["tcp", "ws", "http", "h2", "grpc"],
|
|
174
|
+
"title": "传输协议",
|
|
175
|
+
"description": "传输协议",
|
|
176
|
+
"markdownDescription": "传输协议"
|
|
177
|
+
},
|
|
178
|
+
"tls": {
|
|
179
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
180
|
+
"title": "启用TLS",
|
|
181
|
+
"description": "启用TLS",
|
|
182
|
+
"markdownDescription": "启用`TLS`"
|
|
183
|
+
},
|
|
184
|
+
"alpn": {
|
|
185
|
+
"$ref": "#/definitions/types/stringArray",
|
|
186
|
+
"title": "ALPN",
|
|
187
|
+
"description": "Application-Layer Protocol Negotiation(应用层协议协商)",
|
|
188
|
+
"markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
|
|
189
|
+
},
|
|
190
|
+
"fingerprint": {
|
|
191
|
+
"$ref": "#/definitions/enums/fingerprint",
|
|
192
|
+
"title": "指纹",
|
|
193
|
+
"description": "指纹",
|
|
194
|
+
"markdownDescription": "指纹"
|
|
195
|
+
},
|
|
196
|
+
"servername": {
|
|
197
|
+
"$ref": "#/definitions/compatible/string",
|
|
198
|
+
"title": "服务器名称",
|
|
199
|
+
"description": "服务器名称",
|
|
200
|
+
"markdownDescription": "服务器名称"
|
|
201
|
+
},
|
|
202
|
+
"reality-opts": { "$ref": "#/definitions/reality-option" },
|
|
203
|
+
"http-opts": { "$ref": "#/definitions/http-option" },
|
|
204
|
+
"h2-opts": { "$ref": "#/definitions/http2-option" },
|
|
205
|
+
"grpc-opts": { "$ref": "#/definitions/grpc-option" },
|
|
206
|
+
"ws-opts": { "$ref": "#/definitions/ws-option" },
|
|
207
|
+
"packet-addr": {
|
|
208
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
209
|
+
"title": "保留原始数据包的地址信息",
|
|
210
|
+
"description": "启用xudp时关闭;packet-encoding取值为packetaddr,packet时启用",
|
|
211
|
+
"markdownDescription": "启用`xudp`时关闭;`packet-encoding`取值为`packetaddr`,`packet`时启用"
|
|
212
|
+
},
|
|
213
|
+
"xudp": {
|
|
214
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
215
|
+
"title": "启用XUDP",
|
|
216
|
+
"description": "启用XUDP(eXtended User Datagram Protocol)",
|
|
217
|
+
"markdownDescription": "启用`XUDP`(eXtended User Datagram Protocol)"
|
|
218
|
+
},
|
|
219
|
+
"packet-encoding": {
|
|
220
|
+
"enum": ["packetaddr", "packet", "xudp"],
|
|
221
|
+
"title": "数据包的编码方式",
|
|
222
|
+
"description": "数据包的编码方式",
|
|
223
|
+
"markdownDescription": "数据包的编码方式"
|
|
224
|
+
},
|
|
225
|
+
"global-padding": {
|
|
226
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
227
|
+
"title": "全局填充",
|
|
228
|
+
"description": "全局填充",
|
|
229
|
+
"markdownDescription": "全局填充"
|
|
230
|
+
},
|
|
231
|
+
"authenticated-length": {
|
|
232
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
233
|
+
"title": "启用验证信息长度",
|
|
234
|
+
"description": "启用验证信息长度",
|
|
235
|
+
"markdownDescription": "启用验证信息长度"
|
|
236
|
+
},
|
|
237
|
+
"client-fingerprint": {
|
|
238
|
+
"$ref": "#/definitions/enums/fingerprint",
|
|
239
|
+
"title": "客户端指纹",
|
|
240
|
+
"description": "客户端指纹",
|
|
241
|
+
"markdownDescription": "客户端指纹"
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"type": "object",
|
|
247
|
+
"title": "smux配置",
|
|
248
|
+
"properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "outbound-wireguard",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"compatible": { "$ref": "../../../definitions/compatible.json" },
|
|
6
|
+
"types": { "$ref": "../../../definitions/types.json" },
|
|
7
|
+
"patterns": { "$ref": "../../../definitions/patterns.json" },
|
|
8
|
+
"enums": { "$ref": "../../../definitions/enums.json" },
|
|
9
|
+
"basic-option": { "$ref": "./base.json#/definitions/basic-option" },
|
|
10
|
+
"smux": { "$ref": "./singmux.json" },
|
|
11
|
+
"wireguard-peer-option": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"title": "peer配置",
|
|
14
|
+
"required": ["server", "port"],
|
|
15
|
+
"properties": {
|
|
16
|
+
"server": {
|
|
17
|
+
"$ref": "#/definitions/patterns/server",
|
|
18
|
+
"title": "代理节点服务器",
|
|
19
|
+
"description": "域名或IP",
|
|
20
|
+
"markdownDescription": "域名或IP"
|
|
21
|
+
},
|
|
22
|
+
"port": {
|
|
23
|
+
"$ref": "#/definitions/patterns/port",
|
|
24
|
+
"title": "代理节点端口号",
|
|
25
|
+
"description": "代理节点端口号",
|
|
26
|
+
"markdownDescription": "代理节点端口号"
|
|
27
|
+
},
|
|
28
|
+
"public-key": {
|
|
29
|
+
"$ref": "#/definitions/compatible/string",
|
|
30
|
+
"title": "公钥",
|
|
31
|
+
"description": "公钥",
|
|
32
|
+
"markdownDescription": "公钥"
|
|
33
|
+
},
|
|
34
|
+
"pre-shared-key": {
|
|
35
|
+
"$ref": "#/definitions/compatible/string",
|
|
36
|
+
"title": "预共享密钥",
|
|
37
|
+
"description": "预共享密钥",
|
|
38
|
+
"markdownDescription": "预共享密钥"
|
|
39
|
+
},
|
|
40
|
+
"reserved": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"title": "保留字段值",
|
|
43
|
+
"description": "部分WARP节点需要使用",
|
|
44
|
+
"markdownDescription": "部分`WARP`节点需要使用"
|
|
45
|
+
},
|
|
46
|
+
"allowed-ips": {
|
|
47
|
+
"$ref": "#/definitions/types/ipCIDRArray",
|
|
48
|
+
"title": "允许进行流量转发的IP段",
|
|
49
|
+
"description": "允许进行流量转发的IP段",
|
|
50
|
+
"markdownDescription": "允许进行流量转发的IP段"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"allOf": [
|
|
56
|
+
{ "title": "basic配置", "$ref": "#/definitions/basic-option" },
|
|
57
|
+
{
|
|
58
|
+
"type": "object",
|
|
59
|
+
"title": "wireguard配置",
|
|
60
|
+
"required": ["name"],
|
|
61
|
+
"properties": {
|
|
62
|
+
"type": {
|
|
63
|
+
"$ref": "#/definitions/compatible/string",
|
|
64
|
+
"title": "代理节点类型",
|
|
65
|
+
"description": "代理节点类型",
|
|
66
|
+
"markdownDescription": "代理节点类型"
|
|
67
|
+
},
|
|
68
|
+
"name": {
|
|
69
|
+
"$ref": "#/definitions/compatible/string",
|
|
70
|
+
"title": "代理节点名称",
|
|
71
|
+
"description": "代理节点名称",
|
|
72
|
+
"markdownDescription": "代理节点名称"
|
|
73
|
+
},
|
|
74
|
+
"ip": {
|
|
75
|
+
"$ref": "#/definitions/patterns/ipv4",
|
|
76
|
+
"title": "本机在Wireguard网络中使用的IPv4地址",
|
|
77
|
+
"description": "本机在Wireguard网络中使用的IPv4地址",
|
|
78
|
+
"markdownDescription": "本机在`Wireguard`网络中使用的`IPv4`地址"
|
|
79
|
+
},
|
|
80
|
+
"ipv6": {
|
|
81
|
+
"$ref": "#/definitions/patterns/ipv6",
|
|
82
|
+
"title": "本机在Wireguard网络中使用的IPv6地址",
|
|
83
|
+
"description": "本机在Wireguard网络中使用的IPv6地址",
|
|
84
|
+
"markdownDescription": "本机在`Wireguard`网络中使用的`IPv6`地址"
|
|
85
|
+
},
|
|
86
|
+
"private-key": {
|
|
87
|
+
"$ref": "#/definitions/compatible/string",
|
|
88
|
+
"title": "私钥",
|
|
89
|
+
"description": "私钥(Base64编码)",
|
|
90
|
+
"markdownDescription": "私钥(`Base64`编码)"
|
|
91
|
+
},
|
|
92
|
+
"workers": {
|
|
93
|
+
"$ref": "#/definitions/compatible/integer",
|
|
94
|
+
"title": "工作线程",
|
|
95
|
+
"description": "工作线程(默认为CPU逻辑核心数)",
|
|
96
|
+
"markdownDescription": "工作线程(默认为CPU逻辑核心数)"
|
|
97
|
+
},
|
|
98
|
+
"mtu": {
|
|
99
|
+
"$ref": "#/definitions/compatible/integer",
|
|
100
|
+
"title": "最大传输单元",
|
|
101
|
+
"description": "最大传输单元",
|
|
102
|
+
"markdownDescription": "最大传输单元",
|
|
103
|
+
"default": 1408
|
|
104
|
+
},
|
|
105
|
+
"udp": {
|
|
106
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
107
|
+
"title": "启用UDP",
|
|
108
|
+
"description": "启用UDP",
|
|
109
|
+
"markdownDescription": "启用`UDP`",
|
|
110
|
+
"default": true
|
|
111
|
+
},
|
|
112
|
+
"persistent-keepalive": {
|
|
113
|
+
"$ref": "#/definitions/compatible/integer",
|
|
114
|
+
"title": "持久保活间隔",
|
|
115
|
+
"description": "单位:s",
|
|
116
|
+
"markdownDescription": "单位:s"
|
|
117
|
+
},
|
|
118
|
+
"peers": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"title": "peer配置",
|
|
121
|
+
"description": "peer配置",
|
|
122
|
+
"markdownDescription": "peer配置",
|
|
123
|
+
"items": { "$ref": "#/definitions/wireguard-peer-option" }
|
|
124
|
+
},
|
|
125
|
+
"remote-dns-resolve": {
|
|
126
|
+
"$ref": "#/definitions/compatible/boolean",
|
|
127
|
+
"title": "强制DNS远程解析",
|
|
128
|
+
"description": "强制DNS远程解析",
|
|
129
|
+
"markdownDescription": "强制DNS远程解析",
|
|
130
|
+
"default": false
|
|
131
|
+
},
|
|
132
|
+
"dns": {
|
|
133
|
+
"$ref": "#/definitions/types/serverArray",
|
|
134
|
+
"title": "DNS解析服务器",
|
|
135
|
+
"description": "DNS解析服务器(要求启用remote-dns-resolve)",
|
|
136
|
+
"markdownDescription": "DNS解析服务器(要求启用`remote-dns-resolve`)"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"if": { "not": { "properties": { "peers": { "type": "array" } } } },
|
|
140
|
+
"then": {
|
|
141
|
+
"$ref": "#/definitions/wireguard-peer-option"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"type": "object",
|
|
146
|
+
"title": "smux配置",
|
|
147
|
+
"properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "outboundgroup-fallback",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../../definitions/enums.json" },
|
|
8
|
+
"groupbase": { "$ref": "./groupbase.json" }
|
|
9
|
+
},
|
|
10
|
+
"allOf": [
|
|
11
|
+
{ "title": "代理组基础配置", "$ref": "#/definitions/groupbase" },
|
|
12
|
+
{
|
|
13
|
+
"type": "object",
|
|
14
|
+
"title": "fallback配置",
|
|
15
|
+
"properties": {}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "outboundgroup-groupbase",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../../definitions/enums.json" },
|
|
8
|
+
"base-option": { "$ref": "../outbound/base.json#/definitions/base-option" },
|
|
9
|
+
"health-check": { "$ref": "../provider/health-check.json" }
|
|
10
|
+
},
|
|
11
|
+
"allOf": [
|
|
12
|
+
{ "title": "outbound基础配置", "required": ["name", "type"], "$ref": "#/definitions/base-option" },
|
|
13
|
+
{
|
|
14
|
+
"allOf": [
|
|
15
|
+
{
|
|
16
|
+
"type": "object",
|
|
17
|
+
"title": "代理组基础配置",
|
|
18
|
+
"properties": {
|
|
19
|
+
"proxies": {
|
|
20
|
+
"$ref": "#/definitions/types/stringArray",
|
|
21
|
+
"title": "代理节点列表",
|
|
22
|
+
"description": "代理节点列表",
|
|
23
|
+
"markdownDescription": "代理节点列表"
|
|
24
|
+
},
|
|
25
|
+
"use": {
|
|
26
|
+
"$ref": "#/definitions/types/stringArray",
|
|
27
|
+
"title": "引入proxy-provider中的代理节点",
|
|
28
|
+
"description": "引入proxy-provider中的代理节点",
|
|
29
|
+
"markdownDescription": "引入proxy-provider中的代理节点"
|
|
30
|
+
},
|
|
31
|
+
"max-failed-times": {
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"title": "最大失败次数",
|
|
34
|
+
"description": "在timeout时间长度内,请求失败max-failed-times次,提前主动触发健康检查",
|
|
35
|
+
"markdownDescription": "在`timeout`时间长度内,请求失败`max-failed-times`次,提前主动触发健康检查",
|
|
36
|
+
"default": 5
|
|
37
|
+
},
|
|
38
|
+
"disable-udp": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"title": "禁用UDP",
|
|
41
|
+
"description": "禁用UDP",
|
|
42
|
+
"markdownDescription": "禁用`UDP`"
|
|
43
|
+
},
|
|
44
|
+
"filter": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"title": "节点过滤",
|
|
47
|
+
"description": "保留满足关键词或正则表达式的节点(使用`号分隔)",
|
|
48
|
+
"markdownDescription": "筛选满足关键词或`正则表达式`的节点(使用`号分隔)"
|
|
49
|
+
},
|
|
50
|
+
"exclude-filter": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"title": "节点排除",
|
|
53
|
+
"description": "排除满足关键词或正则表达式的节点(不支持多个表达式)",
|
|
54
|
+
"markdownDescription": "排除满足关键词或`正则表达式`的节点(不支持多个表达式)"
|
|
55
|
+
},
|
|
56
|
+
"exclude-type": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"title": "根据出站类型排除节点",
|
|
59
|
+
"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(使用|分隔,不支持正则表达式)",
|
|
60
|
+
"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(使用`|`分隔,不支持正则表达式)"
|
|
61
|
+
},
|
|
62
|
+
"include-all": {
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"title": "引入所有proxies和proxy-providers包含的代理节点",
|
|
65
|
+
"description": "引入所有proxies和proxy-providers包含的代理节点(优先级高于include-all-proxies和include-all-providers)",
|
|
66
|
+
"markdownDescription": "引入所有`proxies`和`proxy-providers`包含的代理节点(优先级高于`include-all-proxies`和`include-all-providers`)"
|
|
67
|
+
},
|
|
68
|
+
"include-all-proxies": {
|
|
69
|
+
"type": "boolean",
|
|
70
|
+
"title": "引入所有proxies包含的代理节点",
|
|
71
|
+
"description": "引入所有proxies包含的代理节点",
|
|
72
|
+
"markdownDescription": "引入所有`proxies`包含的代理节点"
|
|
73
|
+
},
|
|
74
|
+
"include-all-providers": {
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"title": "引入所有proxy-providers包含的代理节点",
|
|
77
|
+
"description": "引入所有proxy-providers包含的代理节点",
|
|
78
|
+
"markdownDescription": "引入所有`proxy-providers`包含的代理节点"
|
|
79
|
+
},
|
|
80
|
+
"hidden": {
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"title": "隐藏代理组",
|
|
83
|
+
"description": "需要调用RESTful API的Web UI适配支持",
|
|
84
|
+
"markdownDescription": "需要调用RESTful API的Web UI适配支持"
|
|
85
|
+
},
|
|
86
|
+
"icon": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"title": "代理组图标",
|
|
89
|
+
"description": "<img/>标签src属性支持的值(如url、data:image/*;base64等,需要调用RESTful API的Web UI适配支持)",
|
|
90
|
+
"markdownDescription": "`<img/>`标签`src`属性支持的值(如`url`、`data:image/*;base64`等,需要调用RESTful API的Web UI适配支持)"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{ "title": "健康检查配置", "$ref": "#/definitions/health-check" }
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|