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,168 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "https://github.com/MetaCubeX/meta-json-schema/schemas/meta-json-schema.json",
4
+ "type": "object",
5
+ "title": "Clash.Meta Config",
6
+ "additionalProperties": true,
7
+ "definitions": {
8
+ "experimental": { "$ref": "./modules/config/experimental.json" },
9
+ "profile": { "$ref": "./modules/config/profile.json" },
10
+ "iptables": { "$ref": "./modules/config/iptables.json" },
11
+ "tls": { "$ref": "./modules/config/tls.json" },
12
+ "general": { "$ref": "./modules/config/general.json" },
13
+ "proxies": { "$ref": "./modules/config/proxies.json" },
14
+ "proxy-providers": { "$ref": "./modules/config/proxy-providers.json" },
15
+ "proxy-groups": { "$ref": "./modules/config/proxy-groups.json" },
16
+ "listeners": { "$ref": "./modules/config/listeners.json" },
17
+ "rule-providers": { "$ref": "./modules/rules/provider/provider.json" },
18
+ "sub-rules": { "$ref": "./modules/config/sub-rules.json" },
19
+ "rules": { "$ref": "./modules/config/rules.json" },
20
+ "hosts": { "$ref": "./modules/config/hosts.json" },
21
+ "ntp": { "$ref": "./modules/config/ntp.json" },
22
+ "dns": { "$ref": "./modules/config/dns.json" },
23
+ "tun": { "$ref": "./modules/listener/config/tun.json" },
24
+ "tuic-server": { "$ref": "./modules/listener/config/tuic.json" },
25
+ "authentication": { "$ref": "./modules/config/authentication.json" },
26
+ "tunnels": { "$ref": "./modules/config/tunnels.json" },
27
+ "sniffer": { "$ref": "./modules/config/sniffer.json" }
28
+ },
29
+ "allOf": [
30
+ {
31
+ "type": "object",
32
+ "title": "实验性内容配置",
33
+ "properties": {
34
+ "experimental": { "$ref": "#/definitions/experimental" }
35
+ }
36
+ },
37
+ {
38
+ "type": "object",
39
+ "title": "缓存配置",
40
+ "properties": {
41
+ "profile": { "$ref": "#/definitions/profile" }
42
+ }
43
+ },
44
+ {
45
+ "type": "object",
46
+ "title": "iptables配置",
47
+ "properties": {
48
+ "iptables": { "$ref": "#/definitions/iptables" }
49
+ }
50
+ },
51
+ {
52
+ "type": "object",
53
+ "title": "TLS配置",
54
+ "properties": {
55
+ "tls": { "$ref": "#/definitions/tls" }
56
+ }
57
+ },
58
+ {
59
+ "title": "全局配置",
60
+ "$ref": "#/definitions/general"
61
+ },
62
+ {
63
+ "type": "object",
64
+ "title": "代理配置",
65
+ "properties": {
66
+ "proxies": { "$ref": "#/definitions/proxies" }
67
+ }
68
+ },
69
+ {
70
+ "type": "object",
71
+ "title": "代理集合配置",
72
+ "properties": {
73
+ "proxy-providers": { "$ref": "#/definitions/proxy-providers" }
74
+ }
75
+ },
76
+ {
77
+ "type": "object",
78
+ "title": "代理组配置",
79
+ "properties": {
80
+ "proxy-groups": { "$ref": "#/definitions/proxy-groups" }
81
+ }
82
+ },
83
+ {
84
+ "type": "object",
85
+ "title": "listeners配置",
86
+ "properties": {
87
+ "listeners": { "$ref": "#/definitions/listeners" }
88
+ }
89
+ },
90
+ {
91
+ "type": "object",
92
+ "title": "规则集合配置",
93
+ "properties": {
94
+ "rule-providers": { "$ref": "#/definitions/rule-providers" }
95
+ }
96
+ },
97
+ {
98
+ "type": "object",
99
+ "title": "子规则配置",
100
+ "properties": {
101
+ "sub-rules": { "$ref": "#/definitions/sub-rules" }
102
+ }
103
+ },
104
+ {
105
+ "type": "object",
106
+ "title": "规则配置",
107
+ "properties": {
108
+ "rules": { "$ref": "#/definitions/rules" }
109
+ }
110
+ },
111
+ {
112
+ "type": "object",
113
+ "title": "hosts配置",
114
+ "properties": {
115
+ "hosts": { "$ref": "#/definitions/hosts" }
116
+ }
117
+ },
118
+ {
119
+ "type": "object",
120
+ "title": "NTP配置",
121
+ "properties": {
122
+ "ntp": { "$ref": "#/definitions/ntp" }
123
+ }
124
+ },
125
+ {
126
+ "type": "object",
127
+ "title": "DNS配置",
128
+ "properties": {
129
+ "dns": { "$ref": "#/definitions/dns" }
130
+ }
131
+ },
132
+ {
133
+ "type": "object",
134
+ "title": "TUN配置",
135
+ "properties": {
136
+ "tun": { "$ref": "#/definitions/tun" }
137
+ }
138
+ },
139
+ {
140
+ "type": "object",
141
+ "title": "tuic-server配置",
142
+ "properties": {
143
+ "tuic-server": { "$ref": "#/definitions/tuic-server" }
144
+ }
145
+ },
146
+ {
147
+ "type": "object",
148
+ "title": "认证配置",
149
+ "properties": {
150
+ "authentication": { "$ref": "#/definitions/authentication" }
151
+ }
152
+ },
153
+ {
154
+ "type": "object",
155
+ "title": "隧道配置",
156
+ "properties": {
157
+ "tunnels": { "$ref": "#/definitions/tunnels" }
158
+ }
159
+ },
160
+ {
161
+ "type": "object",
162
+ "title": "域名嗅探配置",
163
+ "properties": {
164
+ "sniffer": { "$ref": "#/definitions/sniffer" }
165
+ }
166
+ }
167
+ ]
168
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-base",
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
+ "base-option": {
10
+ "type": "object",
11
+ "title": "outbound基础配置",
12
+ "properties": {
13
+ "name": {
14
+ "$ref": "#/definitions/compatible/string",
15
+ "title": "outbound名称",
16
+ "description": "outbound名称",
17
+ "markdownDescription": "outbound名称"
18
+ },
19
+ "type": {
20
+ "enum": ["select", "url-test", "fallback", "load-balance", "relay"],
21
+ "markdownEnumDescriptions": ["手动选择", "延迟选优", "故障转移", "负载均衡", "链式代理"],
22
+ "title": "outbound类型",
23
+ "description": "outbound类型",
24
+ "markdownDescription": "outbound类型"
25
+ },
26
+ "interface-name": {
27
+ "$ref": "#/definitions/compatible/string",
28
+ "title": "流量出站接口",
29
+ "description": "流量出站接口",
30
+ "markdownDescription": "流量出站接口"
31
+ },
32
+ "routing-mark": {
33
+ "$ref": "#/definitions/compatible/integer",
34
+ "title": "节点发起连接时附加的路由标记",
35
+ "description": "为Linux下的出站连接提供默认流量标记",
36
+ "markdownDescription": "为Linux下的出站连接提供默认流量标记"
37
+ }
38
+ }
39
+ },
40
+ "basic-option": {
41
+ "type": "object",
42
+ "title": "outbound基本配置",
43
+ "properties": {
44
+ "tfo": {
45
+ "$ref": "#/definitions/compatible/boolean",
46
+ "title": "启用TFO(TCP Fast Open)",
47
+ "description": "仅对TCP协议生效",
48
+ "markdownDescription": "仅对TCP协议生效"
49
+ },
50
+ "mptcp": {
51
+ "$ref": "#/definitions/compatible/boolean",
52
+ "title": "启用MPTCP(Multi Path TCP)",
53
+ "description": "仅对TCP协议生效",
54
+ "markdownDescription": "仅对TCP协议生效"
55
+ },
56
+ "interface-name": {
57
+ "$ref": "#/definitions/compatible/string",
58
+ "title": "指定节点绑定的接口,从此接口发起连接",
59
+ "description": "指定节点绑定的接口,从此接口发起连接",
60
+ "markdownDescription": "指定节点绑定的接口,从此接口发起连接"
61
+ },
62
+ "routing-mark": {
63
+ "$ref": "#/definitions/compatible/integer",
64
+ "title": "节点发起连接时附加的路由标记",
65
+ "description": "为Linux下的出站连接提供默认流量标记",
66
+ "markdownDescription": "为Linux下的出站连接提供默认流量标记"
67
+ },
68
+ "ip-version": {
69
+ "enum": ["dual", "ipv4", "ipv6", "ipv4-prefer", "ipv6-prefer"],
70
+ "markdownEnumDescriptions": [
71
+ "`IPv4`/`IPv6`双栈",
72
+ "仅使用`IPv4`",
73
+ "仅使用`IPv6`",
74
+ "优先使用`IPv4`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv4`链接。`UDP`为双栈解析,获取结果中的第一个`IPv4`",
75
+ "优先使用`IPv6`。对于`TCP`会进行双栈解析,并发链接,但是优先使用`IPv6`链接。`UDP`为双栈解析,获取结果中的第一个`IPv6`"
76
+ ],
77
+ "title": "设置节点使用IP版本",
78
+ "description": "设置节点使用IP版本",
79
+ "markdownDescription": "设置节点使用IP版本",
80
+ "default": "dual"
81
+ },
82
+ "dialer-proxy": {
83
+ "$ref": "#/definitions/compatible/string",
84
+ "title": "指定当前proxy通过下一跳的dialer-proxy建立网络连接",
85
+ "description": "取值为proxy-groups,proxy的name",
86
+ "markdownDescription": "取值为`proxy-groups`,`proxy`的`name`"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-direct",
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": "direct配置",
17
+ "required": ["name"],
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
+ }
32
+ },
33
+ {
34
+ "type": "object",
35
+ "title": "smux配置",
36
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-dns",
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": "dns配置",
17
+ "required": ["name"],
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
+ }
32
+ },
33
+ {
34
+ "type": "object",
35
+ "title": "smux配置",
36
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-http",
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"],
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
+ "username": {
44
+ "$ref": "#/definitions/compatible/string",
45
+ "title": "用户名",
46
+ "description": "认证用户名",
47
+ "markdownDescription": "认证用户名"
48
+ },
49
+ "password": {
50
+ "$ref": "#/definitions/compatible/string",
51
+ "title": "密码",
52
+ "description": "认证密码",
53
+ "markdownDescription": "认证密码"
54
+ },
55
+ "tls": {
56
+ "$ref": "#/definitions/compatible/boolean",
57
+ "title": "启用TLS",
58
+ "description": "启用TLS",
59
+ "markdownDescription": "启用`TLS`"
60
+ },
61
+ "sni": {
62
+ "$ref": "#/definitions/compatible/string",
63
+ "title": "SNI",
64
+ "description": "SNI(Server Name Indication)",
65
+ "markdownDescription": "`SNI`(Server Name Indication)"
66
+ },
67
+ "udp": {
68
+ "$ref": "#/definitions/compatible/boolean",
69
+ "title": "启用UDP",
70
+ "description": "启用UDP",
71
+ "markdownDescription": "启用`UDP`",
72
+ "default": true
73
+ },
74
+ "skip-cert-verify": {
75
+ "$ref": "#/definitions/compatible/boolean",
76
+ "title": "跳过证书验证",
77
+ "description": "跳过证书验证",
78
+ "markdownDescription": "跳过证书验证"
79
+ },
80
+ "fingerprint": {
81
+ "$ref": "#/definitions/enums/fingerprint",
82
+ "title": "指纹",
83
+ "description": "指纹",
84
+ "markdownDescription": "指纹"
85
+ },
86
+ "headers": {
87
+ "type": "object",
88
+ "title": "请求头",
89
+ "description": "请求头",
90
+ "markdownDescription": "请求头",
91
+ "additionalProperties": { "type": "string" }
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "type": "object",
97
+ "title": "smux配置",
98
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
99
+ }
100
+ ]
101
+ }
@@ -0,0 +1,182 @@
1
+ {
2
+ "type": "object",
3
+ "title": "outbound-hysteria",
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": "hysteria配置",
17
+ "required": ["name", "server", "up", "down"],
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
+ "ports": {
44
+ "$ref": "#/definitions/compatible/string",
45
+ "title": "占用端口范围",
46
+ "description": "占用端口范围",
47
+ "markdownDescription": "占用端口范围"
48
+ },
49
+ "protocol": {
50
+ "enum": ["udp", "wechat-video", "faketcp"],
51
+ "markdownEnumDescriptions": ["伪装udp流量", "伪装微信视频流量", "伪装假tcp流量"],
52
+ "title": "混淆方法",
53
+ "description": "混淆方法",
54
+ "markdownDescription": "混淆方法",
55
+ "default": "udp"
56
+ },
57
+ "obfs-protocol": {
58
+ "enum": ["udp", "wechat-video", "faketcp"],
59
+ "markdownEnumDescriptions": ["伪装udp流量", "伪装微信视频流量", "伪装假tcp流量"],
60
+ "title": "混淆方法",
61
+ "description": "混淆方法(为兼容Stash引入,优先级高于protocol)",
62
+ "markdownDescription": "混淆方法(为兼容Stash引入,优先级高于`protocol`)",
63
+ "default": "udp"
64
+ },
65
+ "up": {
66
+ "$ref": "#/definitions/compatible/string",
67
+ "title": "上行带宽",
68
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
69
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
70
+ },
71
+ "up-speed": {
72
+ "$ref": "#/definitions/compatible/integer",
73
+ "title": "上行带宽",
74
+ "description": "单位:Mbps(为兼容Stash引入,优先级高于up)",
75
+ "markdownDescription": "单位:`Mbps`上行带宽(为兼容Stash引入,优先级高于`up`)"
76
+ },
77
+ "down": {
78
+ "$ref": "#/definitions/compatible/string",
79
+ "title": "下行带宽",
80
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
81
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
82
+ },
83
+ "down-speed": {
84
+ "$ref": "#/definitions/compatible/integer",
85
+ "title": "下行带宽",
86
+ "description": "单位:Mbps(为兼容Stash引入,优先级高于down)",
87
+ "markdownDescription": "单位:`Mbps`下行带宽(为兼容Stash引入,优先级高于`down`)"
88
+ },
89
+ "auth-str": {
90
+ "$ref": "#/definitions/compatible/string",
91
+ "title": "认证字符串",
92
+ "description": "认证字符串",
93
+ "markdownDescription": "认证字符串"
94
+ },
95
+ "auth": {
96
+ "$ref": "#/definitions/compatible/string",
97
+ "title": "认证字符串",
98
+ "description": "认证字符串(为兼容Stash引入,优先级高于auth-str)",
99
+ "markdownDescription": "认证字符串(为兼容Stash引入,优先级高于`auth-str`)"
100
+ },
101
+ "obfs": {
102
+ "$ref": "#/definitions/compatible/string",
103
+ "title": "混淆密钥",
104
+ "description": "混淆密钥",
105
+ "markdownDescription": "混淆密钥"
106
+ },
107
+ "sni": {
108
+ "$ref": "#/definitions/compatible/string",
109
+ "title": "SNI",
110
+ "description": "SNI(Server Name Indication)",
111
+ "markdownDescription": "`SNI`(Server Name Indication)"
112
+ },
113
+ "skip-cert-verify": {
114
+ "$ref": "#/definitions/compatible/boolean",
115
+ "title": "跳过证书验证",
116
+ "description": "跳过证书验证",
117
+ "markdownDescription": "跳过证书验证"
118
+ },
119
+ "fingerprint": {
120
+ "$ref": "#/definitions/enums/fingerprint",
121
+ "title": "指纹",
122
+ "description": "指纹",
123
+ "markdownDescription": "指纹"
124
+ },
125
+ "alpn": {
126
+ "$ref": "#/definitions/types/stringArray",
127
+ "title": "ALPN",
128
+ "description": "Application-Layer Protocol Negotiation(应用层协议协商)",
129
+ "markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
130
+ },
131
+ "ca": {
132
+ "$ref": "#/definitions/compatible/string",
133
+ "title": "CA证书文件路径",
134
+ "description": "CA证书文件路径",
135
+ "markdownDescription": "CA证书文件路径"
136
+ },
137
+ "ca-str": {
138
+ "$ref": "#/definitions/compatible/string",
139
+ "title": "CA证书内容",
140
+ "description": "CA证书内容(优先级低于ca)",
141
+ "markdownDescription": "CA证书内容CA证书内容(优先级低于`ca`)"
142
+ },
143
+ "recv-window-conn": {
144
+ "$ref": "#/definitions/compatible/integer",
145
+ "title": "最大流接收窗口大小",
146
+ "description": "最大流接收窗口大小(默认限制最大15 MB/s)",
147
+ "markdownDescription": "最大流接收窗口大小(默认限制最大15 MB/s)"
148
+ },
149
+ "recv-window": {
150
+ "$ref": "#/definitions/compatible/integer",
151
+ "title": "最大连接收窗口大小",
152
+ "description": "最大连接收窗口大小(默认限制最大64 MB/s)",
153
+ "markdownDescription": "最大连接收窗口大小(默认限制最大64 MB/s)"
154
+ },
155
+ "disable-mtu-discovery": {
156
+ "$ref": "#/definitions/compatible/boolean",
157
+ "title": "禁用MTU发现",
158
+ "description": "禁用MTU(Maximum Transmission Unit)发现",
159
+ "markdownDescription": "禁用`MTU`(Maximum Transmission Unit)发现"
160
+ },
161
+ "fast-open": {
162
+ "$ref": "#/definitions/compatible/boolean",
163
+ "title": "启用TFO(TCP Fast Open)",
164
+ "description": "仅对TCP协议生效(优先级高于tfo)",
165
+ "markdownDescription": "仅对TCP协议生效(优先级高于`tfo`)"
166
+ },
167
+ "hop-interval": {
168
+ "$ref": "#/definitions/compatible/integer",
169
+ "title": "UDP端口跳跃间隔",
170
+ "description": "单位:s",
171
+ "markdownDescription": "单位:s",
172
+ "default": 10
173
+ }
174
+ }
175
+ },
176
+ {
177
+ "type": "object",
178
+ "title": "smux配置",
179
+ "properties": { "smux": { "title": "smux配置", "$ref": "#/definitions/smux" } }
180
+ }
181
+ ]
182
+ }