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,102 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-hysteria2",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" },
9
+ "mux-option": { "$ref": "./mux.json" }
10
+ },
11
+ "allOf": [
12
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
13
+ {
14
+ "type": "object",
15
+ "title": "hysteria2配置",
16
+ "required": ["password", "cipher"],
17
+ "properties": {
18
+ "users": {
19
+ "type": "object",
20
+ "title": "用户列表(key: value格式)",
21
+ "description": "uuid:password",
22
+ "markdownDescription": "`uuid`:`password`",
23
+ "additionalProperties": { "type": "string" }
24
+ },
25
+ "obfs": {
26
+ "const": "salamander",
27
+ "title": "混淆方式",
28
+ "description": "混淆方式",
29
+ "markdownDescription": "混淆方式"
30
+ },
31
+ "obfs-password": {
32
+ "type": "string",
33
+ "title": "混淆密钥",
34
+ "description": "混淆密钥",
35
+ "markdownDescription": "混淆密钥"
36
+ },
37
+ "certificate": {
38
+ "type": "string",
39
+ "title": "证书或证书路径",
40
+ "description": "PEM格式",
41
+ "markdownDescription": "PEM格式"
42
+ },
43
+ "private-key": {
44
+ "type": "string",
45
+ "title": "私钥",
46
+ "description": "私钥内容或私钥文件路径",
47
+ "markdownDescription": "私钥内容或私钥文件路径"
48
+ },
49
+ "max-idle-time": {
50
+ "type": "integer",
51
+ "title": "连接的最大空闲时间",
52
+ "description": "单位:ms",
53
+ "markdownDescription": "单位:ms"
54
+ },
55
+ "alpn": {
56
+ "$ref": "#/definitions/types/stringArray",
57
+ "title": "ALPN",
58
+ "description": "Application-Layer Protocol Negotiation(应用层协议协商)",
59
+ "markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
60
+ },
61
+ "up": {
62
+ "type": "string",
63
+ "title": "上行带宽",
64
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
65
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
66
+ },
67
+ "down": {
68
+ "type": "string",
69
+ "title": "下行带宽",
70
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
71
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
72
+ },
73
+ "ignore-client-bandwidth": {
74
+ "type": "boolean",
75
+ "title": "忽略客户端带宽",
76
+ "description": "启用后使服务器忽略任何客户端设置的带宽提示,使用传统的BBR拥塞控制算法",
77
+ "markdownDescription": "启用后使服务器忽略任何客户端设置的带宽带宽提示,使用传统的BBR拥塞控制算法"
78
+ },
79
+ "masquerade": {
80
+ "$ref": "#/definitions/patterns/url",
81
+ "title": "伪装流量url",
82
+ "description": "支持file://、http://、https://",
83
+ "markdownDescription": "支持`file://`、`http://`、`https://`"
84
+ },
85
+ "cwnd": {
86
+ "type": "integer",
87
+ "title": "拥塞窗口大小",
88
+ "description": "拥塞窗口大小(Congestion Window)",
89
+ "markdownDescription": "拥塞窗口大小(Congestion Window)"
90
+ },
91
+ "udp-mtu": {
92
+ "type": "integer",
93
+ "title": "UDP最大传输单元",
94
+ "description": "UDP最大传输单元(Maximum Transmission Unit)",
95
+ "markdownDescription": "UDP最大传输单元(Maximum Transmission Unit)",
96
+ "default": 1197
97
+ },
98
+ "mux-option": { "title": "多路复用配置", "$ref": "#/definitions/mux-option" }
99
+ }
100
+ }
101
+ ]
102
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-mixed",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "mixed配置",
15
+ "properties": {
16
+ "udp": {
17
+ "type": "boolean",
18
+ "title": "启用UDP",
19
+ "description": "启用UDP",
20
+ "markdownDescription": "启用`UDP`",
21
+ "default": true
22
+ }
23
+ }
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "type": "object",
3
+ "title": "sing配置",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "brutal": {
9
+ "type": "object",
10
+ "title": "brutal配置",
11
+ "properties": {
12
+ "enabled": {
13
+ "type": "string",
14
+ "title": "启用Brutal拥塞控制算法",
15
+ "description": "启用Brutal拥塞控制算法",
16
+ "markdownDescription": "启用Brutal拥塞控制算法"
17
+ },
18
+ "up": {
19
+ "type": "string",
20
+ "title": "上行带宽",
21
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
22
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
23
+ },
24
+ "down": {
25
+ "type": "integer",
26
+ "title": "下行带宽",
27
+ "description": "格式:<带宽数值> [带宽单位(默认:Mbps)]",
28
+ "markdownDescription": "格式:<带宽数值> [带宽单位(默认:`Mbps`)]"
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "properties": {
34
+ "padding": {
35
+ "type": "boolean",
36
+ "title": "启用填充",
37
+ "description": "启用填充",
38
+ "markdownDescription": "启用填充"
39
+ },
40
+ "brutal": { "title": "brutal配置", "$ref": "#/definitions/brutal" }
41
+ }
42
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-redir",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "redir配置",
15
+ "properties": {}
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-shadowsocks",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" },
9
+ "mux-option": { "$ref": "./mux.json" }
10
+ },
11
+ "allOf": [
12
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
13
+ {
14
+ "type": "object",
15
+ "title": "shadowsocks配置",
16
+ "required": ["password", "cipher"],
17
+ "properties": {
18
+ "password": {
19
+ "type": "string",
20
+ "title": "密码",
21
+ "description": "认证密码",
22
+ "markdownDescription": "认证密码"
23
+ },
24
+ "cipher": {
25
+ "$ref": "#/definitions/enums/cipher",
26
+ "title": "加密方法",
27
+ "description": "加密方法",
28
+ "markdownDescription": "加密方法"
29
+ },
30
+ "udp": {
31
+ "type": "boolean",
32
+ "title": "启用UDP",
33
+ "description": "启用UDP",
34
+ "markdownDescription": "启用`UDP`",
35
+ "default": true
36
+ },
37
+ "mux-option": { "title": "多路复用配置", "$ref": "#/definitions/mux-option" }
38
+ }
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-socks",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "socks配置",
15
+ "properties": {
16
+ "udp": {
17
+ "type": "boolean",
18
+ "title": "启用UDP",
19
+ "description": "启用UDP",
20
+ "markdownDescription": "启用`UDP`",
21
+ "default": true
22
+ }
23
+ }
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-tproxy",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "tproxy配置",
15
+ "properties": {
16
+ "udp": {
17
+ "type": "boolean",
18
+ "title": "启用UDP",
19
+ "description": "启用UDP",
20
+ "markdownDescription": "启用`UDP`",
21
+ "default": true
22
+ }
23
+ }
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-tuic",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" },
9
+ "mux-option": { "$ref": "./mux.json" }
10
+ },
11
+ "allOf": [
12
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
13
+ {
14
+ "type": "object",
15
+ "title": "tuic配置",
16
+ "properties": {
17
+ "token": {
18
+ "type": "string",
19
+ "title": "TUIC V4的用户标识",
20
+ "description": "TUIC V4的用户标识",
21
+ "markdownDescription": "TUIC `V4`的用户标识"
22
+ },
23
+ "users": {
24
+ "type": "object",
25
+ "title": "用户列表(key: value格式)",
26
+ "description": "uuid:password",
27
+ "markdownDescription": "`uuid`:`password`",
28
+ "additionalProperties": { "type": "string" }
29
+ },
30
+ "certificate": {
31
+ "type": "string",
32
+ "title": "证书或证书路径",
33
+ "description": "PEM格式",
34
+ "markdownDescription": "PEM格式"
35
+ },
36
+ "private-key": {
37
+ "type": "string",
38
+ "title": "私钥",
39
+ "description": "私钥内容或私钥文件路径",
40
+ "markdownDescription": "私钥内容或私钥文件路径"
41
+ },
42
+ "congestion-controller": {
43
+ "enum": ["cubic", "new_reno", "bbr"],
44
+ "title": "拥塞控制算法",
45
+ "description": "拥塞控制算法",
46
+ "markdownDescription": "拥塞控制算法"
47
+ },
48
+ "max-idle-time": {
49
+ "type": "integer",
50
+ "title": "连接的最大空闲时间",
51
+ "description": "单位:ms",
52
+ "markdownDescription": "单位:ms"
53
+ },
54
+ "authentication-timeout": {
55
+ "type": "integer",
56
+ "title": "认证超时时间",
57
+ "description": "单位:ms",
58
+ "markdownDescription": "单位:ms"
59
+ },
60
+ "alpn": {
61
+ "$ref": "#/definitions/types/stringArray",
62
+ "title": "ALPN",
63
+ "description": "Application-Layer Protocol Negotiation(应用层协议协商)",
64
+ "markdownDescription": "Application-Layer Protocol Negotiation(应用层协议协商)"
65
+ },
66
+ "max-udp-relay-packet-size": {
67
+ "type": "integer",
68
+ "title": "最大的UDP数据包中继大小",
69
+ "description": "单位:bytes",
70
+ "markdownDescription": "单位:bytes",
71
+ "default": 1500
72
+ },
73
+ "cwnd": {
74
+ "type": "integer",
75
+ "title": "拥塞窗口大小",
76
+ "description": "拥塞窗口大小(Congestion Window)",
77
+ "markdownDescription": "拥塞窗口大小(Congestion Window)",
78
+ "default": 32
79
+ },
80
+ "mux-option": { "title": "多路复用配置", "$ref": "#/definitions/mux-option" }
81
+ }
82
+ }
83
+ ]
84
+ }
@@ -0,0 +1,207 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-tun",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "tun配置",
15
+ "properties": {
16
+ "device": {
17
+ "type": "string",
18
+ "title": "指定tun网卡名称",
19
+ "description": "指定tun网卡名称(macOS强制为utun)",
20
+ "markdownDescription": "指定tun网卡名称(macOS强制为`utun`)"
21
+ },
22
+ "stack": {
23
+ "type": "string",
24
+ "title": "TUN模式堆栈",
25
+ "enum": ["system", "gvisor", "mixed"],
26
+ "markdownEnumDescriptions": [
27
+ "可以提供更稳定/全面的tun体验,且占用相对其他堆栈更低",
28
+ "通过在用户空间中实现网络协议栈,可以提供更高的安全性和隔离性,同时可以避免操作系统内核和用户空间之间的切换,从而在特定情况下具有更好的网络处理性能",
29
+ "混合堆栈,tcp使用`system`栈,udp使用`gvisor`栈,使用体验可能相对更好"
30
+ ],
31
+ "description": "如无使用问题,建议使用mixed(默认gvisor)",
32
+ "markdownDescription": "如无使用问题,建议使用`mixed`(默认`gvisor`)",
33
+ "default": "gvisor"
34
+ },
35
+ "dns-hijack": {
36
+ "$ref": "#/definitions/types/stringArray",
37
+ "title": "DNS劫持",
38
+ "description": "一般设置为any:53即可,即劫持所有53端口的udp流量",
39
+ "markdownDescription": "一般设置为`any:53`即可,即劫持所有53端口的udp流量",
40
+ "default": ["0.0.0.0:53"]
41
+ },
42
+ "auto-route": {
43
+ "type": "boolean",
44
+ "title": "自动设置全局路由",
45
+ "description": "可以自动将全局流量路由进入tun网卡",
46
+ "markdownDescription": "可以自动将全局流量路由进入`tun`网卡",
47
+ "default": true
48
+ },
49
+ "auto-detect-interface": {
50
+ "type": "boolean",
51
+ "title": "自动选择流量出口接口",
52
+ "description": "多出口网卡同时连接的设备建议手动指定出口网卡",
53
+ "markdownDescription": "多出口网卡同时连接的设备建议手动指定出口网卡",
54
+ "default": true
55
+ },
56
+ "mtu": {
57
+ "type": "integer",
58
+ "minimum": 1,
59
+ "maximum": 65534,
60
+ "title": "最大传输单元",
61
+ "description": "会影响极限状态下的速率,一般用户默认即可",
62
+ "markdownDescription": "会影响极限状态下的速率,一般用户默认即可",
63
+ "default": 9000
64
+ },
65
+ "gso": {
66
+ "type": "boolean",
67
+ "title": "启用通用分段卸载",
68
+ "description": "仅支持Linux",
69
+ "markdownDescription": "仅支持Linux",
70
+ "default": false
71
+ },
72
+ "gso-max-size": {
73
+ "type": "integer",
74
+ "title": "通用分段卸载包的最大大小",
75
+ "description": "通用分段卸载包的最大大小",
76
+ "markdownDescription": "通用分段卸载包的最大大小",
77
+ "default": 65536
78
+ },
79
+ "inet4-address": {
80
+ "$ref": "#/definitions/patterns/ipv4",
81
+ "title": "DNS劫持IPv4地址()",
82
+ "description": "53端口",
83
+ "markdownDescription": "53端口",
84
+ "deprecationMessage": "已弃用"
85
+ },
86
+ "inet6-address": {
87
+ "$ref": "#/definitions/patterns/ipv6",
88
+ "title": "DNS劫持IPv6地址()",
89
+ "description": "53端口",
90
+ "markdownDescription": "53端口"
91
+ },
92
+ "strict-route": {
93
+ "type": "boolean",
94
+ "title": "严格路由",
95
+ "description": "它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问",
96
+ "markdownDescription": "它可以防止地址泄漏,并使DNS劫持在Android和使用systemd-resolved的Linux上工作,但你的设备将无法被其他设备访问",
97
+ "default": false
98
+ },
99
+ "inet4-route-address": {
100
+ "$ref": "#/definitions/types/ipv4CIDRArray",
101
+ "title": "启用auto-route时,指定这些IPV4网段使用自定义路由",
102
+ "description": "启用auto-route时,指定这些IPV4网段使用自定义路由",
103
+ "markdownDescription": "启用`auto-route`时,指定这些IPV4网段使用自定义路由"
104
+ },
105
+ "inet6-route-address": {
106
+ "$ref": "#/definitions/types/ipv6CIDRArray",
107
+ "title": "启用auto-route时,指定这些IPV6网段使用自定义路由",
108
+ "description": "启用auto-route时,指定这些IPV6网段使用自定义路由",
109
+ "markdownDescription": "启用`auto-route`时,指定这些IPV6网段使用自定义路由"
110
+ },
111
+ "inet4-route-exclude-address": {
112
+ "$ref": "#/definitions/types/ipv4CIDRArray",
113
+ "title": "启用auto-route时,指定这些IPV4网段使用默认路由",
114
+ "description": "启用auto-route时,指定这些IPV4网段使用默认路由",
115
+ "markdownDescription": "启用`auto-route`时,指定这些IPV4网段使用默认路由"
116
+ },
117
+ "inet6-route-exclude-address": {
118
+ "$ref": "#/definitions/types/ipv6CIDRArray",
119
+ "title": "启用auto-route时,指定这些IPV6网段使用默认路由",
120
+ "description": "启用auto-route时,指定这些IPV6网段使用默认路由",
121
+ "markdownDescription": "启用`auto-route`时,指定这些IPV6网段使用默认路由"
122
+ },
123
+ "include-interface": {
124
+ "$ref": "#/definitions/types/stringArray",
125
+ "title": "包含被路由的接口",
126
+ "description": "与exclude-interface冲突",
127
+ "markdownDescription": "与`exclude-interface`冲突"
128
+ },
129
+ "exclude-interface": {
130
+ "$ref": "#/definitions/types/stringArray",
131
+ "title": "排除被路由的接口",
132
+ "description": "与include-interface冲突",
133
+ "markdownDescription": "与`include-interface`冲突"
134
+ },
135
+ "include-uid": {
136
+ "$ref": "#/definitions/types/stringArray",
137
+ "title": "包含被路由的Linux用户",
138
+ "description": "使其被Tun路由流量(需要启用auto-route)",
139
+ "markdownDescription": "使其被Tun路由流量(需要启用`auto-route`)"
140
+ },
141
+ "include-uid-range": {
142
+ "$ref": "#/definitions/types/stringArray",
143
+ "title": "包含被路由的Linux用户范围,使其被Tun路由流量",
144
+ "description": "格式: <UID起始>:<UID终止>(需要启用auto-route)",
145
+ "markdownDescription": "格式: <UID起始>:<UID终止>(需要启用`auto-route`)"
146
+ },
147
+ "exclude-uid": {
148
+ "$ref": "#/definitions/types/stringArray",
149
+ "title": "排除被路由的Linux用户",
150
+ "description": "使其避免被Tun路由流量",
151
+ "markdownDescription": "使其避免被Tun路由流量"
152
+ },
153
+ "exclude-uid-range": {
154
+ "$ref": "#/definitions/types/stringArray",
155
+ "title": "排除被路由的Linux用户范围,使其不被Tun路由流量",
156
+ "description": "格式: <UID起始>:<UID终止>(需要启用auto-route)",
157
+ "markdownDescription": "格式: <UID起始>:<UID终止>(需要启用`auto-route`)"
158
+ },
159
+ "include-android-user": {
160
+ "$ref": "#/definitions/types/stringArray",
161
+ "title": "包含被路由的Android用户",
162
+ "description": "使其被Tun路由流量(需要启用auto-route)",
163
+ "markdownDescription": "使其被Tun路由流量(需要启用`auto-route`)"
164
+ },
165
+ "include-package": {
166
+ "$ref": "#/definitions/types/stringArray",
167
+ "title": "包含被路由的Android应用包名",
168
+ "description": "使其被Tun路由流量(需要启用auto-route)",
169
+ "markdownDescription": "使其被Tun路由流量(需要启用`auto-route`)"
170
+ },
171
+ "exclude-package": {
172
+ "$ref": "#/definitions/types/stringArray",
173
+ "title": "排除被路由的Android应用包名",
174
+ "description": "使其避免被Tun路由流量",
175
+ "markdownDescription": "使其避免被Tun路由流量"
176
+ },
177
+ "endpoint-independent-nat": {
178
+ "type": "boolean",
179
+ "title": "启用独立于端点的NAT",
180
+ "description": "性能可能会略有下降,不建议在不需要的时候开启",
181
+ "markdownDescription": "性能可能会略有下降,不建议在不需要的时候开启",
182
+ "default": false
183
+ },
184
+ "udp-timeout": {
185
+ "type": "integer",
186
+ "title": "UDP NAT过期时间",
187
+ "description": "单位:s",
188
+ "markdownDescription": "单位:s",
189
+ "default": 300
190
+ },
191
+ "file-descriptor": {
192
+ "type": "integer",
193
+ "title": "文件描述符",
194
+ "description": "绑定到文件描述符对应设备接口(Unix-like系统)",
195
+ "markdownDescription": "绑定到文件描述符对应设备接口(Unix-like系统)"
196
+ },
197
+ "table-index": {
198
+ "type": "integer",
199
+ "title": "使用的路由表索引值",
200
+ "description": "docker子系统限制最高1023",
201
+ "markdownDescription": "docker子系统限制最高1023",
202
+ "default": 2022
203
+ }
204
+ }
205
+ }
206
+ ]
207
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "type": "object",
3
+ "title": "inbound-tunnel",
4
+ "definitions": {
5
+ "types": { "$ref": "../../../definitions/types.json" },
6
+ "patterns": { "$ref": "../../../definitions/patterns.json" },
7
+ "enums": { "$ref": "../../../definitions/enums.json" },
8
+ "base-option": { "$ref": "./base.json" }
9
+ },
10
+ "allOf": [
11
+ { "title": "入站基础配置", "$ref": "#/definitions/base-option" },
12
+ {
13
+ "type": "object",
14
+ "title": "tunnel配置",
15
+ "required": ["network", "target"],
16
+ "properties": {
17
+ "network": {
18
+ "type": "array",
19
+ "title": "传输协议",
20
+ "description": "传输协议",
21
+ "markdownDescription": "传输协议",
22
+ "items": { "enum": ["tcp", "udp"] }
23
+ },
24
+ "target": {
25
+ "$ref": "#/definitions/patterns/server",
26
+ "title": "目标地址",
27
+ "description": "目标地址",
28
+ "markdownDescription": "目标地址"
29
+ }
30
+ }
31
+ }
32
+ ]
33
+ }