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.
Files changed (86) hide show
  1. package/.gitattributes +2 -0
  2. package/.vscode/extensions.json +3 -0
  3. package/.vscode/settings.json +18 -0
  4. package/CHANGELOG.md +9 -0
  5. package/LICENSE +21 -0
  6. package/README.md +200 -0
  7. package/package.json +40 -0
  8. package/schemas/clash-verge-merge-json-schema.json +1 -0
  9. package/schemas/meta-json-schema.json +1 -0
  10. package/scripts/release.mjs +16 -0
  11. package/scripts/util/bundle.mjs +91 -0
  12. package/scripts/util/env.mjs +9 -0
  13. package/scripts/util/file.mjs +13 -0
  14. package/scripts/watch.mjs +28 -0
  15. package/src/clash-verge-merge-json-schema.json +88 -0
  16. package/src/definitions/compatible.json +6 -0
  17. package/src/definitions/enums.json +57 -0
  18. package/src/definitions/patterns.json +87 -0
  19. package/src/definitions/types.json +155 -0
  20. package/src/meta-json-schema.json +168 -0
  21. package/src/modules/adapter/outbound/base.json +91 -0
  22. package/src/modules/adapter/outbound/direct.json +39 -0
  23. package/src/modules/adapter/outbound/dns.json +39 -0
  24. package/src/modules/adapter/outbound/http.json +101 -0
  25. package/src/modules/adapter/outbound/hysteria.json +182 -0
  26. package/src/modules/adapter/outbound/hysteria2.json +146 -0
  27. package/src/modules/adapter/outbound/reality.json +25 -0
  28. package/src/modules/adapter/outbound/shadowsocks.json +308 -0
  29. package/src/modules/adapter/outbound/shadowsocksr.json +151 -0
  30. package/src/modules/adapter/outbound/singmux.json +95 -0
  31. package/src/modules/adapter/outbound/snell.json +65 -0
  32. package/src/modules/adapter/outbound/socks5.json +88 -0
  33. package/src/modules/adapter/outbound/ssh.json +87 -0
  34. package/src/modules/adapter/outbound/trojan.json +93 -0
  35. package/src/modules/adapter/outbound/tuic.json +213 -0
  36. package/src/modules/adapter/outbound/vless.json +146 -0
  37. package/src/modules/adapter/outbound/vmess.json +251 -0
  38. package/src/modules/adapter/outbound/wireguard.json +150 -0
  39. package/src/modules/adapter/outboundgroup/fallback.json +18 -0
  40. package/src/modules/adapter/outboundgroup/groupbase.json +98 -0
  41. package/src/modules/adapter/outboundgroup/loadbalance.json +29 -0
  42. package/src/modules/adapter/outboundgroup/relay.json +18 -0
  43. package/src/modules/adapter/outboundgroup/urltest.json +25 -0
  44. package/src/modules/adapter/provider/health-check.json +73 -0
  45. package/src/modules/adapter/provider/provider.json +159 -0
  46. package/src/modules/config/authentication.json +9 -0
  47. package/src/modules/config/controller.json +47 -0
  48. package/src/modules/config/dns.json +156 -0
  49. package/src/modules/config/ebpf.json +22 -0
  50. package/src/modules/config/experimental.json +31 -0
  51. package/src/modules/config/general.json +140 -0
  52. package/src/modules/config/geox-url.json +38 -0
  53. package/src/modules/config/hosts.json +9 -0
  54. package/src/modules/config/inbound.json +98 -0
  55. package/src/modules/config/iptables.json +38 -0
  56. package/src/modules/config/listeners.json +90 -0
  57. package/src/modules/config/ntp.json +50 -0
  58. package/src/modules/config/profile.json +24 -0
  59. package/src/modules/config/proxies.json +118 -0
  60. package/src/modules/config/proxy-groups.json +21 -0
  61. package/src/modules/config/proxy-providers.json +11 -0
  62. package/src/modules/config/rules.json +11 -0
  63. package/src/modules/config/sniffer.json +111 -0
  64. package/src/modules/config/sub-rules.json +14 -0
  65. package/src/modules/config/tls.json +28 -0
  66. package/src/modules/config/tunnels.json +49 -0
  67. package/src/modules/listener/config/tuic.json +102 -0
  68. package/src/modules/listener/config/tun.json +205 -0
  69. package/src/modules/listener/inbound/base.json +43 -0
  70. package/src/modules/listener/inbound/http.json +18 -0
  71. package/src/modules/listener/inbound/hysteria2.json +102 -0
  72. package/src/modules/listener/inbound/mixed.json +26 -0
  73. package/src/modules/listener/inbound/mux.json +42 -0
  74. package/src/modules/listener/inbound/redir.json +18 -0
  75. package/src/modules/listener/inbound/shadowsocks.json +41 -0
  76. package/src/modules/listener/inbound/socks.json +26 -0
  77. package/src/modules/listener/inbound/tproxy.json +26 -0
  78. package/src/modules/listener/inbound/tuic.json +84 -0
  79. package/src/modules/listener/inbound/tun.json +207 -0
  80. package/src/modules/listener/inbound/tunnel.json +33 -0
  81. package/src/modules/listener/inbound/vmess.json +72 -0
  82. package/src/modules/listener/sing/sing.json +42 -0
  83. package/src/modules/rules/provider/provider.json +71 -0
  84. package/src/modules/rules/rule.json +165 -0
  85. package/test/clash-meta/example1.yaml +3170 -0
  86. package/test/clash-verge/merge.yaml +212 -0
@@ -0,0 +1,146 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-hysteria2",
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
+ },
12
+ "allOf": [
13
+ { "title": "basic配置", "$ref": "#/definitions/basic-option" },
14
+ {
15
+ "type": "object",
16
+ "title": "hysteria2配置",
17
+ "required": ["name", "server"],
18
+ "dependentRequired": {
19
+ "obfs": ["obfs-password"]
20
+ },
21
+ "properties": {
22
+ "type": {
23
+ "$ref": "#/definitions/compatible/string",
24
+ "title": "代理节点类型",
25
+ "description": "代理节点类型",
26
+ "markdownDescription": "代理节点类型"
27
+ },
28
+ "name": {
29
+ "$ref": "#/definitions/compatible/string",
30
+ "title": "代理节点名称",
31
+ "description": "代理节点名称",
32
+ "markdownDescription": "代理节点名称"
33
+ },
34
+ "server": {
35
+ "$ref": "#/definitions/patterns/server",
36
+ "title": "代理节点服务器",
37
+ "description": "域名或IP",
38
+ "markdownDescription": "域名或IP"
39
+ },
40
+ "port": {
41
+ "$ref": "#/definitions/patterns/port",
42
+ "title": "代理节点端口号",
43
+ "description": "代理节点端口号",
44
+ "markdownDescription": "代理节点端口号"
45
+ },
46
+ "ports": {
47
+ "$ref": "#/definitions/compatible/string",
48
+ "title": "占用端口范围",
49
+ "description": "占用端口范围",
50
+ "markdownDescription": "占用端口范围"
51
+ },
52
+ "hop-interval": {
53
+ "$ref": "#/definitions/compatible/integer",
54
+ "title": "UDP端口跳跃间隔",
55
+ "description": "单位:s",
56
+ "markdownDescription": "单位:s",
57
+ "default": 10
58
+ },
59
+ "up": {
60
+ "$ref": "#/definitions/compatible/string",
61
+ "title": "上行带宽",
62
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
63
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
64
+ },
65
+ "down": {
66
+ "$ref": "#/definitions/compatible/string",
67
+ "title": "下行带宽",
68
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
69
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
70
+ },
71
+ "password": {
72
+ "$ref": "#/definitions/compatible/string",
73
+ "title": "密码",
74
+ "description": "认证密码",
75
+ "markdownDescription": "认证密码"
76
+ },
77
+ "obfs": {
78
+ "const": "salamander",
79
+ "title": "混淆方式",
80
+ "description": "混淆方式",
81
+ "markdownDescription": "混淆方式"
82
+ },
83
+ "obfs-password": {
84
+ "$ref": "#/definitions/compatible/string",
85
+ "title": "混淆密钥",
86
+ "description": "混淆密钥",
87
+ "markdownDescription": "混淆密钥"
88
+ },
89
+ "sni": {
90
+ "$ref": "#/definitions/compatible/string",
91
+ "title": "SNI",
92
+ "description": "SNI(Server Name Indication)",
93
+ "markdownDescription": "`SNI`(Server Name Indication)"
94
+ },
95
+ "skip-cert-verify": {
96
+ "$ref": "#/definitions/compatible/boolean",
97
+ "title": "跳过证书验证",
98
+ "description": "跳过证书验证",
99
+ "markdownDescription": "跳过证书验证"
100
+ },
101
+ "fingerprint": {
102
+ "$ref": "#/definitions/enums/fingerprint",
103
+ "title": "指纹",
104
+ "description": "指纹",
105
+ "markdownDescription": "指纹"
106
+ },
107
+ "alpn": {
108
+ "$ref": "#/definitions/types/stringArray",
109
+ "title": "ALPN",
110
+ "description": "Application-Layer Protocol Negotiation(应用层协议协商)",
111
+ "markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
112
+ },
113
+ "ca": {
114
+ "$ref": "#/definitions/compatible/string",
115
+ "title": "CA证书文件路径",
116
+ "description": "CA证书文件路径",
117
+ "markdownDescription": "CA证书文件路径"
118
+ },
119
+ "ca-str": {
120
+ "$ref": "#/definitions/compatible/string",
121
+ "title": "CA证书内容",
122
+ "description": "CA证书内容(优先级低于ca)",
123
+ "markdownDescription": "CA证书内容CA证书内容(优先级低于`ca`)"
124
+ },
125
+ "cwnd": {
126
+ "$ref": "#/definitions/compatible/integer",
127
+ "title": "拥塞窗口大小",
128
+ "description": "拥塞窗口大小(Congestion Window)",
129
+ "markdownDescription": "拥塞窗口大小(Congestion Window)"
130
+ },
131
+ "udp-mtu": {
132
+ "$ref": "#/definitions/compatible/integer",
133
+ "title": "UDP最大传输单元",
134
+ "description": "UDP最大传输单元(Maximum Transmission Unit)",
135
+ "markdownDescription": "UDP最大传输单元(Maximum Transmission Unit)",
136
+ "default": 1197
137
+ }
138
+ }
139
+ },
140
+ {
141
+ "type": "object",
142
+ "title": "smux配置",
143
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
144
+ }
145
+ ]
146
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-reality",
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
+ },
10
+ "required": ["public-key", "short-id"],
11
+ "properties": {
12
+ "public-key": {
13
+ "$ref": "#/definitions/compatible/string",
14
+ "title": "公钥",
15
+ "description": "公钥",
16
+ "markdownDescription": "公钥"
17
+ },
18
+ "short-id": {
19
+ "$ref": "#/definitions/compatible/string",
20
+ "title": "short ID",
21
+ "description": "short ID",
22
+ "markdownDescription": "short ID"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,308 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-shadowsocks",
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
+ "simple-obfs-option": {
12
+ "type": "object",
13
+ "title": "简易混淆配置",
14
+ "properties": {
15
+ "mode": {
16
+ "enums": ["tls", "http"],
17
+ "title": "混淆模式",
18
+ "description": "混淆模式",
19
+ "markdownDescription": "混淆模式"
20
+ },
21
+ "host": {
22
+ "$ref": "#/definitions/patterns/server",
23
+ "title": "主机地址",
24
+ "description": "主机地址",
25
+ "markdownDescription": "主机地址",
26
+ "default": "bing.com"
27
+ }
28
+ }
29
+ },
30
+ "v2ray-obfs-option": {
31
+ "type": "object",
32
+ "title": "v2ray混淆配置",
33
+ "required": ["mode"],
34
+ "properties": {
35
+ "mode": {
36
+ "const": "websocket",
37
+ "title": "混淆模式",
38
+ "description": "混淆模式",
39
+ "markdownDescription": "混淆模式"
40
+ },
41
+ "host": {
42
+ "$ref": "#/definitions/patterns/server",
43
+ "title": "主机地址",
44
+ "description": "主机地址",
45
+ "markdownDescription": "主机地址",
46
+ "default": "bing.com"
47
+ },
48
+ "path": {
49
+ "$ref": "#/definitions/compatible/string",
50
+ "title": "路径",
51
+ "description": "路径",
52
+ "markdownDescription": "路径"
53
+ },
54
+ "tls": {
55
+ "$ref": "#/definitions/compatible/boolean",
56
+ "title": "启用TLS",
57
+ "description": "启用TLS",
58
+ "markdownDescription": "启用`TLS`"
59
+ },
60
+ "fingerprint": {
61
+ "$ref": "#/definitions/enums/fingerprint",
62
+ "title": "指纹",
63
+ "description": "指纹",
64
+ "markdownDescription": "指纹"
65
+ },
66
+ "headers": {
67
+ "type": "object",
68
+ "title": "请求头",
69
+ "description": "请求头",
70
+ "markdownDescription": "请求头",
71
+ "additionalProperties": { "type": "string" }
72
+ },
73
+ "skip-cert-verify": {
74
+ "$ref": "#/definitions/compatible/boolean",
75
+ "title": "跳过证书验证",
76
+ "description": "跳过证书验证",
77
+ "markdownDescription": "跳过证书验证"
78
+ },
79
+ "mux": {
80
+ "$ref": "#/definitions/compatible/boolean",
81
+ "title": "启用多路复用",
82
+ "description": "启用多路复用",
83
+ "markdownDescription": "启用多路复用",
84
+ "default": true
85
+ },
86
+ "v2ray-http-upgrade": {
87
+ "$ref": "#/definitions/compatible/boolean",
88
+ "title": "启用HTTP协议升级",
89
+ "description": "通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议",
90
+ "markdownDescription": "通过HTTP协议与客户端进行通信,并在需要时升级到更高级的协议"
91
+ },
92
+ "v2ray-http-upgrade-fast-open": {
93
+ "$ref": "#/definitions/compatible/boolean",
94
+ "title": "启用TFO(TCP Fast Open)",
95
+ "description": "启用TFO(TCP Fast Open)",
96
+ "markdownDescription": "启用`TFO`(TCP Fast Open)"
97
+ }
98
+ }
99
+ },
100
+ "shadow-tls-option": {
101
+ "type": "object",
102
+ "title": "shadow-tls配置",
103
+ "required": ["password", "host"],
104
+ "properties": {
105
+ "password": {
106
+ "$ref": "#/definitions/compatible/string",
107
+ "title": "密码",
108
+ "description": "密码",
109
+ "markdownDescription": "密码"
110
+ },
111
+ "host": {
112
+ "$ref": "#/definitions/patterns/server",
113
+ "title": "主机地址",
114
+ "description": "主机地址",
115
+ "markdownDescription": "主机地址"
116
+ },
117
+ "fingerprint": {
118
+ "$ref": "#/definitions/enums/fingerprint",
119
+ "title": "指纹",
120
+ "description": "指纹",
121
+ "markdownDescription": "指纹"
122
+ },
123
+ "skip-cert-verify": {
124
+ "$ref": "#/definitions/compatible/boolean",
125
+ "title": "跳过证书验证",
126
+ "description": "跳过证书验证",
127
+ "markdownDescription": "跳过证书验证"
128
+ },
129
+ "version": {
130
+ "enum": [1, 2, 3],
131
+ "title": "版本",
132
+ "description": "版本",
133
+ "markdownDescription": "版本",
134
+ "default": 2
135
+ }
136
+ }
137
+ },
138
+ "restls-option": {
139
+ "type": "object",
140
+ "title": "restls配置",
141
+ "required": ["password", "host", "version-hint"],
142
+ "properties": {
143
+ "password": {
144
+ "$ref": "#/definitions/compatible/string",
145
+ "title": "密码",
146
+ "description": "密码",
147
+ "markdownDescription": "密码"
148
+ },
149
+ "host": {
150
+ "$ref": "#/definitions/patterns/server",
151
+ "title": "主机地址",
152
+ "description": "主机地址",
153
+ "markdownDescription": "主机地址"
154
+ },
155
+ "version-hint": {
156
+ "$ref": "#/definitions/compatible/string",
157
+ "title": "版本",
158
+ "description": "版本",
159
+ "markdownDescription": "版本"
160
+ },
161
+ "restls-script": {
162
+ "$ref": "#/definitions/compatible/string",
163
+ "title": "Restls脚本",
164
+ "description": "Restls脚本隐藏代理流量行为",
165
+ "markdownDescription": "[Restls脚本隐藏代理流量行为](https://github.com/3andne/restls/blob/main/Restls-Script%3A%20Hide%20Your%20Proxy%20Traffic%20Behavior.md)"
166
+ }
167
+ }
168
+ }
169
+ },
170
+ "allOf": [
171
+ { "title": "basic配置", "$ref": "#/definitions/basic-option" },
172
+ {
173
+ "type": "object",
174
+ "title": "shadowsocks配置",
175
+ "required": ["name", "server", "port", "password", "cipher"],
176
+ "properties": {
177
+ "type": {
178
+ "$ref": "#/definitions/compatible/string",
179
+ "title": "代理节点类型",
180
+ "description": "代理节点类型",
181
+ "markdownDescription": "代理节点类型"
182
+ },
183
+ "name": {
184
+ "$ref": "#/definitions/compatible/string",
185
+ "title": "代理节点名称",
186
+ "description": "代理节点名称",
187
+ "markdownDescription": "代理节点名称"
188
+ },
189
+ "server": {
190
+ "$ref": "#/definitions/patterns/server",
191
+ "title": "代理节点服务器",
192
+ "description": "域名或IP",
193
+ "markdownDescription": "域名或IP"
194
+ },
195
+ "port": {
196
+ "$ref": "#/definitions/patterns/port",
197
+ "title": "代理节点端口号",
198
+ "description": "代理节点端口号",
199
+ "markdownDescription": "代理节点端口号"
200
+ },
201
+ "password": {
202
+ "$ref": "#/definitions/compatible/string",
203
+ "title": "密码",
204
+ "description": "认证密码",
205
+ "markdownDescription": "认证密码"
206
+ },
207
+ "cipher": {
208
+ "$ref": "#/definitions/enums/cipher",
209
+ "title": "加密方法",
210
+ "description": "加密方法",
211
+ "markdownDescription": "加密方法"
212
+ },
213
+ "udp": {
214
+ "$ref": "#/definitions/compatible/boolean",
215
+ "title": "启用UDP",
216
+ "description": "启用UDP",
217
+ "markdownDescription": "启用`UDP`",
218
+ "default": true
219
+ },
220
+ "plugin": {
221
+ "enum": ["obfs", "v2ray-plugin", "shadow-tls", "restls"],
222
+ "title": "插件",
223
+ "description": "插件",
224
+ "markdownDescription": "插件"
225
+ },
226
+ "udp-over-tcp": {
227
+ "$ref": "#/definitions/compatible/boolean",
228
+ "title": "启用UDP over TCP",
229
+ "description": "启用UDP over TCP",
230
+ "markdownDescription": "启用UDP over TCP",
231
+ "default": false
232
+ },
233
+ "udp-over-tcp-version": {
234
+ "enum": [0, 1, 2],
235
+ "title": "UDP over TCP的协议版本",
236
+ "description": "UDP over TCP的协议版本",
237
+ "markdownDescription": "UDP over TCP的协议版本",
238
+ "default": 2
239
+ },
240
+ "client-fingerprint": {
241
+ "$ref": "#/definitions/enums/fingerprint",
242
+ "title": "客户端指纹",
243
+ "description": "客户端指纹",
244
+ "markdownDescription": "客户端指纹"
245
+ }
246
+ },
247
+ "allOf": [
248
+ {
249
+ "if": { "properties": { "plugin": { "const": "obfs" } } },
250
+ "then": {
251
+ "properties": {
252
+ "plugin-opts": {
253
+ "type": "object",
254
+ "title": "插件配置",
255
+ "description": "obfs插件配置",
256
+ "$ref": "#/definitions/simple-obfs-option"
257
+ }
258
+ }
259
+ }
260
+ },
261
+ {
262
+ "if": { "properties": { "plugin": { "const": "v2ray-plugin" } } },
263
+ "then": {
264
+ "properties": {
265
+ "plugin-opts": {
266
+ "type": "object",
267
+ "title": "插件配置",
268
+ "description": "v2ray-plugin插件配置",
269
+ "$ref": "#/definitions/v2ray-obfs-option"
270
+ }
271
+ }
272
+ }
273
+ },
274
+ {
275
+ "if": { "properties": { "plugin": { "const": "shadow-tls" } } },
276
+ "then": {
277
+ "properties": {
278
+ "plugin-opts": {
279
+ "type": "object",
280
+ "title": "插件配置",
281
+ "description": "shadow-tls插件配置",
282
+ "$ref": "#/definitions/shadow-tls-option"
283
+ }
284
+ }
285
+ }
286
+ },
287
+ {
288
+ "if": { "properties": { "plugin": { "const": "restls" } } },
289
+ "then": {
290
+ "properties": {
291
+ "plugin-opts": {
292
+ "type": "object",
293
+ "title": "插件配置",
294
+ "description": "restls插件配置",
295
+ "$ref": "#/definitions/restls-option"
296
+ }
297
+ }
298
+ }
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "type": "object",
304
+ "title": "smux配置",
305
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
306
+ }
307
+ ]
308
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-shadowsocksr",
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
+ },
12
+ "allOf": [
13
+ { "title": "basic配置", "$ref": "#/definitions/basic-option" },
14
+ {
15
+ "type": "object",
16
+ "title": "http配置",
17
+ "required": ["name", "server", "port", "password", "cipher", "obfs"],
18
+ "properties": {
19
+ "type": {
20
+ "$ref": "#/definitions/compatible/string",
21
+ "title": "代理节点类型",
22
+ "description": "代理节点类型",
23
+ "markdownDescription": "代理节点类型"
24
+ },
25
+ "name": {
26
+ "$ref": "#/definitions/compatible/string",
27
+ "title": "代理节点名称",
28
+ "description": "代理节点名称",
29
+ "markdownDescription": "代理节点名称"
30
+ },
31
+ "server": {
32
+ "$ref": "#/definitions/patterns/server",
33
+ "title": "代理节点服务器",
34
+ "description": "域名或IP",
35
+ "markdownDescription": "域名或IP"
36
+ },
37
+ "port": {
38
+ "$ref": "#/definitions/patterns/port",
39
+ "title": "代理节点端口号",
40
+ "description": "代理节点端口号",
41
+ "markdownDescription": "代理节点端口号"
42
+ },
43
+ "password": {
44
+ "$ref": "#/definitions/compatible/string",
45
+ "title": "密码",
46
+ "description": "认证密码",
47
+ "markdownDescription": "认证密码"
48
+ },
49
+ "cipher": {
50
+ "$ref": "#/definitions/enums/cipher",
51
+ "title": "加密方法",
52
+ "description": "加密方法",
53
+ "markdownDescription": "加密方法"
54
+ },
55
+ "obfs": {
56
+ "enum": ["plain", "http_simple", "http_post", "random_head", "tls1.2_ticket_auth", "tls1.2_ticket_fastauth"],
57
+ "markdownEnumDescriptions": [
58
+ "不使用任何混淆方式(流量以明文形式传输)",
59
+ "将流量伪装成HTTP `GET`请求",
60
+ "将流量伪装成HTTP `POST`请求",
61
+ "在数据包的头部添加随机字节",
62
+ "将流量伪装成TLS 1.2通信",
63
+ "与`tls1.2_ticket_fastauth`类似,但在认证过程中使用了一种更快的认证方式,但可能牺牲了一些安全性"
64
+ ],
65
+ "title": "混淆方法",
66
+ "description": "混淆方法",
67
+ "markdownDescription": "混淆方法"
68
+ },
69
+ "protocol": {
70
+ "enum": ["origin", "auth_sha1_v4", "auth_aes128_md5", "auth_aes128_sha1", "auth_chain_a", "auth_chain_b"],
71
+ "title": "认证协议",
72
+ "description": "认证协议",
73
+ "markdownDescription": "认证协议"
74
+ }
75
+ },
76
+ "allOf": [
77
+ {
78
+ "if": {
79
+ "properties": {
80
+ "obfs": {
81
+ "anyOf": [
82
+ { "title": "混淆方法", "const": "http_simple" },
83
+ { "title": "混淆方法", "const": "http_post" }
84
+ ]
85
+ }
86
+ }
87
+ },
88
+ "then": {
89
+ "properties": {
90
+ "obfs-param": {
91
+ "$ref": "#/definitions/compatible/string",
92
+ "title": "自定义伪装地址和请求体(定义多个使用,分隔并随机选取)",
93
+ "description": "格式: <host>[#body],...",
94
+ "markdownDescription": "格式: <`host`>[#`body`],..."
95
+ }
96
+ }
97
+ }
98
+ },
99
+ {
100
+ "if": {
101
+ "properties": {
102
+ "obfs": {
103
+ "anyOf": [
104
+ { "title": "混淆方法", "const": "tls1.2_ticket_auth" },
105
+ { "title": "混淆方法", "const": "tls1.2_ticket_fastauth" }
106
+ ]
107
+ }
108
+ }
109
+ },
110
+ "then": {
111
+ "properties": {
112
+ "obfs-param": {
113
+ "$ref": "#/definitions/compatible/string",
114
+ "title": "定义伪装地址(定义多个使用,分隔并随机选取)",
115
+ "description": "格式: <host>,...",
116
+ "markdownDescription": "格式: <`host`>,..."
117
+ }
118
+ }
119
+ }
120
+ },
121
+ {
122
+ "if": {
123
+ "properties": {
124
+ "protocol": {
125
+ "anyOf": [
126
+ { "title": "认证协议", "const": "auth_aes128_sha1" },
127
+ { "title": "认证协议", "const": "auth_chain_a" }
128
+ ]
129
+ }
130
+ }
131
+ },
132
+ "then": {
133
+ "properties": {
134
+ "protocol-param": {
135
+ "$ref": "#/definitions/compatible/string",
136
+ "title": "定义用户ID:密钥(定义多个使用,分隔并随机选取)",
137
+ "description": "格式: <uderId>:<secret>,...",
138
+ "markdownDescription": "格式: <`uderId`>:<`secret`>,..."
139
+ }
140
+ }
141
+ }
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "type": "object",
147
+ "title": "smux配置",
148
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
149
+ }
150
+ ]
151
+ }