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,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "全局配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"inbound": { "$ref": "./inbound.json" },
|
|
9
|
+
"controller": { "$ref": "./controller.json" },
|
|
10
|
+
"geox-url": { "$ref": "./geox-url.json" },
|
|
11
|
+
"ebpf": { "$ref": "./ebpf.json" }
|
|
12
|
+
},
|
|
13
|
+
"allOf": [
|
|
14
|
+
{ "title": "inbound配置", "$ref": "#/definitions/inbound" },
|
|
15
|
+
{ "title": "controller配置", "$ref": "#/definitions/controller" },
|
|
16
|
+
{
|
|
17
|
+
"properties": {
|
|
18
|
+
"unified-delay": {
|
|
19
|
+
"type": "boolean",
|
|
20
|
+
"title": "更换延迟计算方式",
|
|
21
|
+
"description": "去除握手等额外延迟",
|
|
22
|
+
"markdownDescription": "去除握手等额外延迟",
|
|
23
|
+
"default": false
|
|
24
|
+
},
|
|
25
|
+
"mode": {
|
|
26
|
+
"enum": ["global", "rule", "direct"],
|
|
27
|
+
"markdownEnumDescriptions": ["全局代理", "规则匹配", "全局直连"],
|
|
28
|
+
"title": "运行模式",
|
|
29
|
+
"description": "运行模式",
|
|
30
|
+
"markdownDescription": "运行模式",
|
|
31
|
+
"default": "rule"
|
|
32
|
+
},
|
|
33
|
+
"log-level": {
|
|
34
|
+
"enum": ["debug", "info", "warning", "error", "silent"],
|
|
35
|
+
"markdownEnumDescriptions": [
|
|
36
|
+
"尽可能的输出运行中所有的信息",
|
|
37
|
+
"输出一般运行的内容,以及`error`和`warning`级别的日志",
|
|
38
|
+
"输出发生错误但不影响运行的日志,以及`error`级别内容",
|
|
39
|
+
"仅输出发生错误至无法使用的日志",
|
|
40
|
+
"静默,不输出"
|
|
41
|
+
],
|
|
42
|
+
"title": "日志级别",
|
|
43
|
+
"description": "日志级别",
|
|
44
|
+
"markdownDescription": "日志级别",
|
|
45
|
+
"default": "info"
|
|
46
|
+
},
|
|
47
|
+
"ipv6": {
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"title": "是否允许内核接受IPv6流量",
|
|
50
|
+
"description": "是否允许内核接受IPv6流量",
|
|
51
|
+
"markdownDescription": "是否允许内核接受`IPv6`流量",
|
|
52
|
+
"default": true
|
|
53
|
+
},
|
|
54
|
+
"interface-name": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"title": "流量出站接口",
|
|
57
|
+
"description": "流量出站接口",
|
|
58
|
+
"markdownDescription": "流量出站接口"
|
|
59
|
+
},
|
|
60
|
+
"routing-mark": {
|
|
61
|
+
"type": "integer",
|
|
62
|
+
"title": "节点发起连接时附加的路由标记",
|
|
63
|
+
"description": "为Linux下的出站连接提供默认流量标记",
|
|
64
|
+
"markdownDescription": "为Linux下的出站连接提供默认流量标记"
|
|
65
|
+
},
|
|
66
|
+
"geox-url": { "title": "geox-url配置", "$ref": "#/definitions/geox-url" },
|
|
67
|
+
"geo-auto-update": {
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"title": "Geo自动更新",
|
|
70
|
+
"description": "Geo自动更新",
|
|
71
|
+
"markdownDescription": "Geo自动更新",
|
|
72
|
+
"default": false
|
|
73
|
+
},
|
|
74
|
+
"geo-update-interval": {
|
|
75
|
+
"type": "integer",
|
|
76
|
+
"title": "Geo自动更新间隔",
|
|
77
|
+
"description": "单位:h",
|
|
78
|
+
"markdownDescription": "单位:h",
|
|
79
|
+
"default": 24
|
|
80
|
+
},
|
|
81
|
+
"geodata-mode": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"title": "GeoIP数据模式",
|
|
84
|
+
"description": "更改geoip使用文件(true: dat, false: mmdb)",
|
|
85
|
+
"markdownDescription": "更改geoip使用文件(true: dat, false: mmdb)",
|
|
86
|
+
"default": false
|
|
87
|
+
},
|
|
88
|
+
"geodata-loader": {
|
|
89
|
+
"enum": ["standard", "memconservative", "memc"],
|
|
90
|
+
"markdownEnumDescriptions": ["标准加载器", "专为内存受限(小内存)设备优化的加载器", "`memconservative`的别名"],
|
|
91
|
+
"title": "Geo文件加载器",
|
|
92
|
+
"description": "Geo文件加载器",
|
|
93
|
+
"markdownDescription": "Geo文件加载器",
|
|
94
|
+
"default": "memconservative"
|
|
95
|
+
},
|
|
96
|
+
"geosite-matcher": {
|
|
97
|
+
"enum": ["mph", "hybrid", "succinct"],
|
|
98
|
+
"markdownEnumDescriptions": [
|
|
99
|
+
"根据Geosite规则中的域名或IP地址信息,将匹配的网络流量代理到指定的目标服务器",
|
|
100
|
+
"根据域名、IP地址和CIDR地址等规则进行匹配,并根据预定义的优先级来选择最佳的匹配结果",
|
|
101
|
+
"使用了一种紧凑的数据结构,可以有效地存储和查询大量的Geosite规则"
|
|
102
|
+
],
|
|
103
|
+
"title": "Geosite匹配器",
|
|
104
|
+
"description": "Geosite匹配器",
|
|
105
|
+
"markdownDescription": "Geosite匹配器",
|
|
106
|
+
"default": "succinct"
|
|
107
|
+
},
|
|
108
|
+
"tcp-concurrent": {
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"title": "TCP并发",
|
|
111
|
+
"description": "TCP并发",
|
|
112
|
+
"markdownDescription": "TCP并发",
|
|
113
|
+
"default": false
|
|
114
|
+
},
|
|
115
|
+
"find-process-mode": {
|
|
116
|
+
"enum": ["always", "strict", "off"],
|
|
117
|
+
"markdownEnumDescriptions": ["强制匹配所有进程", "由内核判断是否开启", "不匹配进程,推荐在路由器上使用此模式"],
|
|
118
|
+
"title": "进程匹配模式",
|
|
119
|
+
"description": "进程匹配模式",
|
|
120
|
+
"markdownDescription": "进程匹配模式",
|
|
121
|
+
"default": "strict"
|
|
122
|
+
},
|
|
123
|
+
"ebpf": { "title": "ebpf配置", "$ref": "#/definitions/ebpf" },
|
|
124
|
+
"global-client-fingerprint": {
|
|
125
|
+
"$ref": "#/definitions/enums/fingerprint",
|
|
126
|
+
"title": "全局客户端指纹",
|
|
127
|
+
"description": "支持协议有VLESS,Vmess,trojan",
|
|
128
|
+
"markdownDescription": "支持协议有`VLESS`,`Vmess`,`trojan`"
|
|
129
|
+
},
|
|
130
|
+
"global-ua": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"title": "全局UA",
|
|
133
|
+
"description": "下载外部资源(proxy-provider、rule-provider、Geo等)时使用",
|
|
134
|
+
"markdownDescription": "下载外部资源(proxy-provider、rule-provider、Geo等)时使用",
|
|
135
|
+
"default": "clash.meta/version"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "geox-url配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" }
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"geoip": {
|
|
10
|
+
"$ref": "#/definitions/patterns/httpUrl",
|
|
11
|
+
"title": "geoip文件下载地址",
|
|
12
|
+
"description": "geoip文件下载地址",
|
|
13
|
+
"markdownDescription": "`geoip`文件下载地址",
|
|
14
|
+
"default": "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat"
|
|
15
|
+
},
|
|
16
|
+
"mmdb": {
|
|
17
|
+
"$ref": "#/definitions/patterns/httpUrl",
|
|
18
|
+
"title": "mmdb文件下载地址",
|
|
19
|
+
"description": "mmdb文件下载地址",
|
|
20
|
+
"markdownDescription": "`mmdb`文件下载地址",
|
|
21
|
+
"default": "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"
|
|
22
|
+
},
|
|
23
|
+
"asn": {
|
|
24
|
+
"$ref": "#/definitions/patterns/httpUrl",
|
|
25
|
+
"title": "asn文件下载地址",
|
|
26
|
+
"description": "asn文件下载地址",
|
|
27
|
+
"markdownDescription": "`asn`文件下载地址",
|
|
28
|
+
"default": "https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb"
|
|
29
|
+
},
|
|
30
|
+
"geosite": {
|
|
31
|
+
"$ref": "#/definitions/patterns/httpUrl",
|
|
32
|
+
"title": "geosite文件下载地址",
|
|
33
|
+
"description": "geosite文件下载地址",
|
|
34
|
+
"markdownDescription": "`geosite`文件下载地址",
|
|
35
|
+
"default": "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "inbound配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" }
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"port": {
|
|
10
|
+
"$ref": "#/definitions/patterns/port",
|
|
11
|
+
"title": "HTTP(S)代理端口",
|
|
12
|
+
"description": "HTTP(S)代理端口",
|
|
13
|
+
"markdownDescription": "`HTTP(S)`代理端口"
|
|
14
|
+
},
|
|
15
|
+
"socks-port": {
|
|
16
|
+
"$ref": "#/definitions/patterns/port",
|
|
17
|
+
"title": "SOCKS代理端口",
|
|
18
|
+
"description": "SOCKS代理端口",
|
|
19
|
+
"markdownDescription": "`SOCKS`代理端口"
|
|
20
|
+
},
|
|
21
|
+
"redir-port": {
|
|
22
|
+
"$ref": "#/definitions/patterns/port",
|
|
23
|
+
"title": "透明代理端口",
|
|
24
|
+
"description": "用于Linux和MacOS",
|
|
25
|
+
"markdownDescription": "用于`Linux`和`MacOS`"
|
|
26
|
+
},
|
|
27
|
+
"tproxy-port": {
|
|
28
|
+
"$ref": "#/definitions/patterns/port",
|
|
29
|
+
"title": "透明代理端口",
|
|
30
|
+
"description": "用于Linux(TProxy TCP 和 TProxy UDP)",
|
|
31
|
+
"markdownDescription": "用于`Linux`(TProxy TCP 和 TProxy UDP)"
|
|
32
|
+
},
|
|
33
|
+
"mixed-port": {
|
|
34
|
+
"$ref": "#/definitions/patterns/port",
|
|
35
|
+
"title": "HTTP(S)和SOCKS代理混合端口",
|
|
36
|
+
"description": "HTTP(S)和SOCKS代理混合端口",
|
|
37
|
+
"markdownDescription": "`HTTP(S)`和`SOCKS`代理混合端口",
|
|
38
|
+
"default": 7890
|
|
39
|
+
},
|
|
40
|
+
"ss-config": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"title": "shadowsocks配置",
|
|
43
|
+
"description": "根据配置(URL格式)启动shadowsocks服务器,并添加到listeners",
|
|
44
|
+
"markdownDescription": "根据配置(`URL`格式)启动shadowsocks服务器,并添加到listeners"
|
|
45
|
+
},
|
|
46
|
+
"vmess-config": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"title": "vmess配置",
|
|
49
|
+
"description": "根据配置(URL格式)启动vmess服务器,并添加到listeners",
|
|
50
|
+
"markdownDescription": "根据配置(`URL`格式)启动vmess服务器,并添加到listeners"
|
|
51
|
+
},
|
|
52
|
+
"allow-lan": {
|
|
53
|
+
"type": "boolean",
|
|
54
|
+
"title": "允许局域网",
|
|
55
|
+
"description": "允许其他设备经过内核的代理端口访问互联网",
|
|
56
|
+
"markdownDescription": "允许其他设备经过内核的代理端口访问互联网",
|
|
57
|
+
"default": false
|
|
58
|
+
},
|
|
59
|
+
"skip-auth-prefixes": {
|
|
60
|
+
"$ref": "#/definitions/patterns/ipCIDR",
|
|
61
|
+
"title": "允许跳过验证的IP段",
|
|
62
|
+
"description": "允许跳过验证的IP段",
|
|
63
|
+
"markdownDescription": "允许跳过验证的IP段"
|
|
64
|
+
},
|
|
65
|
+
"lan-allowed-ips": {
|
|
66
|
+
"$ref": "#/definitions/patterns/ipCIDR",
|
|
67
|
+
"title": "允许连接的IP地址段",
|
|
68
|
+
"description": "需要启用allow-lan",
|
|
69
|
+
"markdownDescription": "需要启用`allow-lan`",
|
|
70
|
+
"default": ["0.0.0.0/0", "::/0"]
|
|
71
|
+
},
|
|
72
|
+
"lan-disallowed-ips": {
|
|
73
|
+
"$ref": "#/definitions/patterns/ipCIDR",
|
|
74
|
+
"title": "不允许连接的IP地址段",
|
|
75
|
+
"description": "需要启用allow-lan(优先级高于lan-allowed-ips)",
|
|
76
|
+
"markdownDescription": "需要启用`allow-lan`(优先级高于`lan-allowed-ips`)"
|
|
77
|
+
},
|
|
78
|
+
"bind-address": {
|
|
79
|
+
"$ref": "#/definitions/patterns/ipPort",
|
|
80
|
+
"title": "绑定地址",
|
|
81
|
+
"description": "仅允许其他设备通过这个地址访问(*绑定所有IP地址)",
|
|
82
|
+
"markdownDescription": "仅允许其他设备通过这个地址访问(*绑定所有IP地址)",
|
|
83
|
+
"default": "*"
|
|
84
|
+
},
|
|
85
|
+
"inbound-tfo": {
|
|
86
|
+
"type": "boolean",
|
|
87
|
+
"title": "入站启用TFO(TCP Fast Open)",
|
|
88
|
+
"description": "仅对TCP协议生效",
|
|
89
|
+
"markdownDescription": "仅对TCP协议生效"
|
|
90
|
+
},
|
|
91
|
+
"inbound-mptcp": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"title": "入站启用MPTCP(Multi Path TCP)",
|
|
94
|
+
"description": "仅对TCP协议生效",
|
|
95
|
+
"markdownDescription": "仅对TCP协议生效"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "iptables配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" }
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"enable": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"title": "持久化策略组的选择",
|
|
12
|
+
"description": "缓存对策略组的选择,以供下次启动时使用",
|
|
13
|
+
"markdownDescription": "缓存对策略组的选择,以供下次启动时使用",
|
|
14
|
+
"default": false
|
|
15
|
+
},
|
|
16
|
+
"inbound-interface": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"title": "入站接口",
|
|
19
|
+
"description": "入站规则将仅应用于哪个接口(默认本地环回接口)",
|
|
20
|
+
"markdownDescription": "入站规则将仅应用于哪个接口(默认本地环回接口)",
|
|
21
|
+
"default": "lo"
|
|
22
|
+
},
|
|
23
|
+
"bypass": {
|
|
24
|
+
"$ref": "#/definitions/types/stringArray",
|
|
25
|
+
"title": "需要绕过iptables规则的IP地址或网段列表",
|
|
26
|
+
"description": "需要绕过iptables规则的IP地址或网段列表",
|
|
27
|
+
"markdownDescription": "需要绕过`iptables`规则的IP地址或网段列表",
|
|
28
|
+
"default": []
|
|
29
|
+
},
|
|
30
|
+
"dns-redirect": {
|
|
31
|
+
"type": "boolean",
|
|
32
|
+
"title": "DNS重定向",
|
|
33
|
+
"description": "DNS重定向",
|
|
34
|
+
"markdownDescription": "DNS重定向",
|
|
35
|
+
"default": true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "array",
|
|
3
|
+
"title": "listeners配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"socks": { "$ref": "../listener/inbound/socks.json" },
|
|
9
|
+
"http": { "$ref": "../listener/inbound/http.json" },
|
|
10
|
+
"tproxy": { "$ref": "../listener/inbound/tproxy.json" },
|
|
11
|
+
"redir": { "$ref": "../listener/inbound/redir.json" },
|
|
12
|
+
"mixed": { "$ref": "../listener/inbound/mixed.json" },
|
|
13
|
+
"tunnel": { "$ref": "../listener/inbound/tunnel.json" },
|
|
14
|
+
"tun": { "$ref": "../listener/inbound/tun.json" },
|
|
15
|
+
"shadowsocks": { "$ref": "../listener/inbound/shadowsocks.json" },
|
|
16
|
+
"vmess": { "$ref": "../listener/inbound/vmess.json" },
|
|
17
|
+
"hysteria2": { "$ref": "../listener/inbound/hysteria2.json" },
|
|
18
|
+
"tuic": { "$ref": "../listener/inbound/tuic.json" }
|
|
19
|
+
},
|
|
20
|
+
"items": {
|
|
21
|
+
"anyOf": [
|
|
22
|
+
{
|
|
23
|
+
"type": "object",
|
|
24
|
+
"title": "socks配置",
|
|
25
|
+
"properties": { "type": { "title": "socks配置", "const": "socks" } },
|
|
26
|
+
"$ref": "#/definitions/socks"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "object",
|
|
30
|
+
"title": "http配置",
|
|
31
|
+
"properties": { "type": { "title": "socks配置", "const": "http" } },
|
|
32
|
+
"$ref": "#/definitions/http"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"title": "tproxy配置",
|
|
37
|
+
"properties": { "type": { "title": "tproxy配置", "const": "tproxy" } },
|
|
38
|
+
"$ref": "#/definitions/tproxy"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "object",
|
|
42
|
+
"title": "redir配置",
|
|
43
|
+
"properties": { "type": { "title": "redir配置", "const": "redir" } },
|
|
44
|
+
"$ref": "#/definitions/redir"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "object",
|
|
48
|
+
"title": "mixed配置",
|
|
49
|
+
"properties": { "type": { "title": "mixed配置", "const": "mixed" } },
|
|
50
|
+
"$ref": "#/definitions/mixed"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "object",
|
|
54
|
+
"title": "tunnel配置",
|
|
55
|
+
"properties": { "type": { "title": "tunnel配置", "const": "tunnel" } },
|
|
56
|
+
"$ref": "#/definitions/tunnel"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "object",
|
|
60
|
+
"title": "tun配置",
|
|
61
|
+
"properties": { "type": { "title": "tun配置", "const": "tun" } },
|
|
62
|
+
"$ref": "#/definitions/tun"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "object",
|
|
66
|
+
"title": "shadowsocks配置",
|
|
67
|
+
"properties": { "type": { "title": "shadowsocks配置", "const": "shadowsocks" } },
|
|
68
|
+
"$ref": "#/definitions/shadowsocks"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "object",
|
|
72
|
+
"title": "vmess配置",
|
|
73
|
+
"properties": { "type": { "title": "vmess配置", "const": "vmess" } },
|
|
74
|
+
"$ref": "#/definitions/vmess"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "object",
|
|
78
|
+
"title": "hysteria2配置",
|
|
79
|
+
"properties": { "type": { "title": "hysteria2配置", "const": "hysteria2" } },
|
|
80
|
+
"$ref": "#/definitions/hysteria2"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "object",
|
|
84
|
+
"title": "tuic配置",
|
|
85
|
+
"properties": { "type": { "title": "tuic配置", "const": "tuic" } },
|
|
86
|
+
"$ref": "#/definitions/tuic"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "NTP配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" }
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"enable": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"title": "启用NTP",
|
|
12
|
+
"description": "NTP(Network Time Protocol),用于同步计算机系统时钟的网络协议",
|
|
13
|
+
"markdownDescription": "`NTP`(Network Time Protocol),用于同步计算机系统时钟的网络协议",
|
|
14
|
+
"default": false
|
|
15
|
+
},
|
|
16
|
+
"server": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"title": "NTP服务器地址",
|
|
19
|
+
"description": "NTP服务器地址",
|
|
20
|
+
"markdownDescription": "`NTP`服务器地址",
|
|
21
|
+
"default": "time.apple.com"
|
|
22
|
+
},
|
|
23
|
+
"port": {
|
|
24
|
+
"$ref": "#/definitions/patterns/port",
|
|
25
|
+
"title": "NTP服务器端口",
|
|
26
|
+
"description": "NTP服务器端口",
|
|
27
|
+
"markdownDescription": "`NTP`服务器端口",
|
|
28
|
+
"default": 123
|
|
29
|
+
},
|
|
30
|
+
"interval": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"title": "同步时钟间隔",
|
|
33
|
+
"description": "单位:m",
|
|
34
|
+
"markdownDescription": "单位:m",
|
|
35
|
+
"default": 30
|
|
36
|
+
},
|
|
37
|
+
"dialer-proxy": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"title": "指定当前proxy通过下一跳的dialer-proxy建立网络连接",
|
|
40
|
+
"description": "取值为proxy-groups,proxy的name",
|
|
41
|
+
"markdownDescription": "取值为`proxy-groups`,`proxy`的`name`"
|
|
42
|
+
},
|
|
43
|
+
"write-to-system": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"title": "同步至系统时间",
|
|
46
|
+
"description": "需要root/管理员权限",
|
|
47
|
+
"markdownDescription": "需要root/管理员权限"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "缓存配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" }
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"store-selected": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"title": "持久化策略组的选择",
|
|
12
|
+
"description": "缓存对策略组的选择,以供下次启动时使用",
|
|
13
|
+
"markdownDescription": "缓存对策略组的选择,以供下次启动时使用",
|
|
14
|
+
"default": true
|
|
15
|
+
},
|
|
16
|
+
"store-fake-ip": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"title": "持久化缓存fake-ip映射表",
|
|
19
|
+
"description": "缓存fake-ip映射表,域名再次发生连接时,使用原有映射地址",
|
|
20
|
+
"markdownDescription": "缓存`fake-ip`映射表,域名再次发生连接时,使用原有映射地址",
|
|
21
|
+
"default": false
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "array",
|
|
3
|
+
"title": "代理配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"direct": { "$ref": "../adapter/outbound/direct.json" },
|
|
9
|
+
"dns": { "$ref": "../adapter/outbound/dns.json" },
|
|
10
|
+
"shadowsocks": { "$ref": "../adapter/outbound/shadowsocks.json" },
|
|
11
|
+
"shadowsocksr": { "$ref": "../adapter/outbound/shadowsocksr.json" },
|
|
12
|
+
"snell": { "$ref": "../adapter/outbound/snell.json" },
|
|
13
|
+
"socks5": { "$ref": "../adapter/outbound/socks5.json" },
|
|
14
|
+
"http": { "$ref": "../adapter/outbound/http.json" },
|
|
15
|
+
"vmess": { "$ref": "../adapter/outbound/vmess.json" },
|
|
16
|
+
"vless": { "$ref": "../adapter/outbound/vless.json" },
|
|
17
|
+
"trojan": { "$ref": "../adapter/outbound/trojan.json" },
|
|
18
|
+
"hysteria": { "$ref": "../adapter/outbound/hysteria.json" },
|
|
19
|
+
"hysteria2": { "$ref": "../adapter/outbound/hysteria2.json" },
|
|
20
|
+
"wireguard": { "$ref": "../adapter/outbound/wireguard.json" },
|
|
21
|
+
"tuic": { "$ref": "../adapter/outbound/tuic.json" },
|
|
22
|
+
"ssh": { "$ref": "../adapter/outbound/ssh.json" }
|
|
23
|
+
},
|
|
24
|
+
"items": {
|
|
25
|
+
"anyOf": [
|
|
26
|
+
{
|
|
27
|
+
"type": "object",
|
|
28
|
+
"title": "direct",
|
|
29
|
+
"properties": { "type": { "title": "direct配置", "const": "direct" } },
|
|
30
|
+
"$ref": "#/definitions/direct"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"title": "dns",
|
|
35
|
+
"properties": { "type": { "title": "dns配置", "const": "dns" } },
|
|
36
|
+
"$ref": "#/definitions/dns"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "object",
|
|
40
|
+
"title": "shadowsocks",
|
|
41
|
+
"properties": { "type": { "title": "shadowsocks配置", "const": "ss" } },
|
|
42
|
+
"$ref": "#/definitions/shadowsocks"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "object",
|
|
46
|
+
"title": "shadowsocksr",
|
|
47
|
+
"properties": { "type": { "title": "shadowsocksr配置", "const": "ssr" } },
|
|
48
|
+
"$ref": "#/definitions/shadowsocksr"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "object",
|
|
52
|
+
"title": "snell",
|
|
53
|
+
"properties": { "type": { "title": "snell配置", "const": "snell" } },
|
|
54
|
+
"$ref": "#/definitions/snell"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "object",
|
|
58
|
+
"title": "socks5",
|
|
59
|
+
"properties": { "type": { "title": "socks5配置", "const": "socks5" } },
|
|
60
|
+
"$ref": "#/definitions/socks5"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "object",
|
|
64
|
+
"title": "http",
|
|
65
|
+
"properties": { "type": { "title": "http配置", "const": "http" } },
|
|
66
|
+
"$ref": "#/definitions/http"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "object",
|
|
70
|
+
"title": "vmess",
|
|
71
|
+
"properties": { "type": { "title": "vmess配置", "const": "vmess" } },
|
|
72
|
+
"$ref": "#/definitions/vmess"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "object",
|
|
76
|
+
"title": "vless",
|
|
77
|
+
"properties": { "type": { "title": "vless配置", "const": "vless" } },
|
|
78
|
+
"$ref": "#/definitions/vless"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "object",
|
|
82
|
+
"title": "trojan",
|
|
83
|
+
"properties": { "type": { "title": "trojan配置", "const": "trojan" } },
|
|
84
|
+
"$ref": "#/definitions/trojan"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "object",
|
|
88
|
+
"title": "hysteria",
|
|
89
|
+
"properties": { "type": { "title": "hysteria配置", "const": "hysteria" } },
|
|
90
|
+
"$ref": "#/definitions/hysteria"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "object",
|
|
94
|
+
"title": "hysteria2",
|
|
95
|
+
"properties": { "type": { "title": "hysteria2配置", "const": "hysteria2" } },
|
|
96
|
+
"$ref": "#/definitions/hysteria2"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "object",
|
|
100
|
+
"title": "wireguard",
|
|
101
|
+
"properties": { "type": { "title": "wireguard配置", "const": "wireguard" } },
|
|
102
|
+
"$ref": "#/definitions/wireguard"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "object",
|
|
106
|
+
"title": "tuic",
|
|
107
|
+
"properties": { "type": { "title": "tuic配置", "const": "tuic" } },
|
|
108
|
+
"$ref": "#/definitions/tuic"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"type": "object",
|
|
112
|
+
"title": "ssh",
|
|
113
|
+
"properties": { "type": { "title": "ssh配置", "const": "ssh" } },
|
|
114
|
+
"$ref": "#/definitions/ssh"
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "array",
|
|
3
|
+
"title": "代理组配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"url-test": { "$ref": "../adapter/outboundgroup/urltest.json" },
|
|
9
|
+
"fallback": { "$ref": "../adapter/outboundgroup/fallback.json" },
|
|
10
|
+
"load-balance": { "$ref": "../adapter/outboundgroup/loadbalance.json" },
|
|
11
|
+
"relay": { "$ref": "../adapter/outboundgroup/relay.json" }
|
|
12
|
+
},
|
|
13
|
+
"items": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{ "title": "url-test配置", "$ref": "#/definitions/url-test" },
|
|
16
|
+
{ "title": "fallback配置", "$ref": "#/definitions/fallback" },
|
|
17
|
+
{ "title": "load-balance配置", "$ref": "#/definitions/load-balance" },
|
|
18
|
+
{ "title": "relay配置", "$ref": "#/definitions/relay" }
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"title": "代理集合配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"health-check": { "$ref": "../adapter/provider/health-check.json" }
|
|
9
|
+
},
|
|
10
|
+
"$ref": "../adapter/provider/provider.json"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "array",
|
|
3
|
+
"title": "规则配置",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"types": { "$ref": "../../definitions/types.json" },
|
|
6
|
+
"patterns": { "$ref": "../../definitions/patterns.json" },
|
|
7
|
+
"enums": { "$ref": "../../definitions/enums.json" },
|
|
8
|
+
"rule": { "$ref": "../rules/rule.json" }
|
|
9
|
+
},
|
|
10
|
+
"items": { "$ref": "#/definitions/rule" }
|
|
11
|
+
}
|