mcp-xray-pilot 0.10.0
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/LICENSE +21 -0
- package/README.md +502 -0
- package/data/docs/_index.json +533 -0
- package/data/docs/basic__api.md +148 -0
- package/data/docs/basic__dns.md +366 -0
- package/data/docs/basic__fakedns.md +202 -0
- package/data/docs/basic__geodata.md +64 -0
- package/data/docs/basic__inbound.md +159 -0
- package/data/docs/basic__index.md +136 -0
- package/data/docs/basic__log.md +67 -0
- package/data/docs/basic__metrics.md +262 -0
- package/data/docs/basic__observatory.md +115 -0
- package/data/docs/basic__outbound.md +164 -0
- package/data/docs/basic__policy.md +140 -0
- package/data/docs/basic__reverse.md +268 -0
- package/data/docs/basic__routing.md +474 -0
- package/data/docs/basic__stats.md +61 -0
- package/data/docs/basic__transport.md +1283 -0
- package/data/docs/features__features_browser_dialer.md +61 -0
- package/data/docs/features__features_env.md +66 -0
- package/data/docs/features__features_fallback.md +110 -0
- package/data/docs/features__features_index.md +17 -0
- package/data/docs/features__features_multiple.md +144 -0
- package/data/docs/features__features_xtls.md +13 -0
- package/data/docs/inbounds__inbounds_dokodemo.md +11 -0
- package/data/docs/inbounds__inbounds_http.md +80 -0
- package/data/docs/inbounds__inbounds_hysteria.md +60 -0
- package/data/docs/inbounds__inbounds_index.md +22 -0
- package/data/docs/inbounds__inbounds_shadowsocks.md +118 -0
- package/data/docs/inbounds__inbounds_socks.md +87 -0
- package/data/docs/inbounds__inbounds_trojan.md +78 -0
- package/data/docs/inbounds__inbounds_tun.md +47 -0
- package/data/docs/inbounds__inbounds_tunnel.md +86 -0
- package/data/docs/inbounds__inbounds_vless.md +135 -0
- package/data/docs/inbounds__inbounds_vmess.md +95 -0
- package/data/docs/inbounds__inbounds_wireguard.md +78 -0
- package/data/docs/outbounds__outbounds_blackhole.md +42 -0
- package/data/docs/outbounds__outbounds_dns.md +97 -0
- package/data/docs/outbounds__outbounds_freedom.md +170 -0
- package/data/docs/outbounds__outbounds_http.md +70 -0
- package/data/docs/outbounds__outbounds_hysteria.md +39 -0
- package/data/docs/outbounds__outbounds_index.md +24 -0
- package/data/docs/outbounds__outbounds_loopback.md +65 -0
- package/data/docs/outbounds__outbounds_shadowsocks.md +105 -0
- package/data/docs/outbounds__outbounds_socks.md +58 -0
- package/data/docs/outbounds__outbounds_trojan.md +49 -0
- package/data/docs/outbounds__outbounds_vless.md +122 -0
- package/data/docs/outbounds__outbounds_vmess.md +76 -0
- package/data/docs/outbounds__outbounds_wireguard.md +141 -0
- package/data/docs/transports__transports_grpc.md +137 -0
- package/data/docs/transports__transports_h2.md +11 -0
- package/data/docs/transports__transports_http.md +11 -0
- package/data/docs/transports__transports_httpupgrade.md +61 -0
- package/data/docs/transports__transports_hysteria.md +110 -0
- package/data/docs/transports__transports_index.md +19 -0
- package/data/docs/transports__transports_mkcp.md +125 -0
- package/data/docs/transports__transports_quic.md +11 -0
- package/data/docs/transports__transports_raw.md +156 -0
- package/data/docs/transports__transports_splithttp.md +11 -0
- package/data/docs/transports__transports_tcp.md +11 -0
- package/data/docs/transports__transports_websocket.md +75 -0
- package/data/docs/transports__transports_xhttp.md +11 -0
- package/dist/data/compatibility.js +170 -0
- package/dist/data/compatibility.js.map +1 -0
- package/dist/data/geocatalogue.js +191 -0
- package/dist/data/geocatalogue.js.map +1 -0
- package/dist/docs.js +339 -0
- package/dist/docs.js.map +1 -0
- package/dist/handlers.js +217 -0
- package/dist/handlers.js.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/lint.js +737 -0
- package/dist/lint.js.map +1 -0
- package/dist/schemas/protocols/blackhole.js +16 -0
- package/dist/schemas/protocols/blackhole.js.map +1 -0
- package/dist/schemas/protocols/common.js +32 -0
- package/dist/schemas/protocols/common.js.map +1 -0
- package/dist/schemas/protocols/dns.js +14 -0
- package/dist/schemas/protocols/dns.js.map +1 -0
- package/dist/schemas/protocols/dokodemo.js +17 -0
- package/dist/schemas/protocols/dokodemo.js.map +1 -0
- package/dist/schemas/protocols/freedom.js +45 -0
- package/dist/schemas/protocols/freedom.js.map +1 -0
- package/dist/schemas/protocols/http.js +38 -0
- package/dist/schemas/protocols/http.js.map +1 -0
- package/dist/schemas/protocols/hysteria.js +51 -0
- package/dist/schemas/protocols/hysteria.js.map +1 -0
- package/dist/schemas/protocols/index.js +50 -0
- package/dist/schemas/protocols/index.js.map +1 -0
- package/dist/schemas/protocols/loopback.js +11 -0
- package/dist/schemas/protocols/loopback.js.map +1 -0
- package/dist/schemas/protocols/shadowsocks.js +60 -0
- package/dist/schemas/protocols/shadowsocks.js.map +1 -0
- package/dist/schemas/protocols/socks.js +42 -0
- package/dist/schemas/protocols/socks.js.map +1 -0
- package/dist/schemas/protocols/trojan.js +34 -0
- package/dist/schemas/protocols/trojan.js.map +1 -0
- package/dist/schemas/protocols/tun.js +19 -0
- package/dist/schemas/protocols/tun.js.map +1 -0
- package/dist/schemas/protocols/vless.js +44 -0
- package/dist/schemas/protocols/vless.js.map +1 -0
- package/dist/schemas/protocols/vmess.js +48 -0
- package/dist/schemas/protocols/vmess.js.map +1 -0
- package/dist/schemas/protocols/wireguard.js +34 -0
- package/dist/schemas/protocols/wireguard.js.map +1 -0
- package/dist/schemas/security/index.js +16 -0
- package/dist/schemas/security/index.js.map +1 -0
- package/dist/schemas/security/reality.js +35 -0
- package/dist/schemas/security/reality.js.map +1 -0
- package/dist/schemas/security/tls.js +46 -0
- package/dist/schemas/security/tls.js.map +1 -0
- package/dist/schemas/security/xtls.js +17 -0
- package/dist/schemas/security/xtls.js.map +1 -0
- package/dist/schemas/transports/grpc.js +18 -0
- package/dist/schemas/transports/grpc.js.map +1 -0
- package/dist/schemas/transports/httpupgrade.js +14 -0
- package/dist/schemas/transports/httpupgrade.js.map +1 -0
- package/dist/schemas/transports/hysteria.js +25 -0
- package/dist/schemas/transports/hysteria.js.map +1 -0
- package/dist/schemas/transports/index.js +32 -0
- package/dist/schemas/transports/index.js.map +1 -0
- package/dist/schemas/transports/mkcp.js +34 -0
- package/dist/schemas/transports/mkcp.js.map +1 -0
- package/dist/schemas/transports/raw.js +19 -0
- package/dist/schemas/transports/raw.js.map +1 -0
- package/dist/schemas/transports/websocket.js +15 -0
- package/dist/schemas/transports/websocket.js.map +1 -0
- package/dist/schemas/transports/xhttp.js +34 -0
- package/dist/schemas/transports/xhttp.js.map +1 -0
- package/dist/search.js +78 -0
- package/dist/search.js.map +1 -0
- package/dist/state.js +87 -0
- package/dist/state.js.map +1 -0
- package/dist/tools.js +274 -0
- package/dist/tools.js.map +1 -0
- package/dist/tools_impl/diff.js +55 -0
- package/dist/tools_impl/diff.js.map +1 -0
- package/dist/tools_impl/github.js +416 -0
- package/dist/tools_impl/github.js.map +1 -0
- package/dist/tools_impl/merge.js +181 -0
- package/dist/tools_impl/merge.js.map +1 -0
- package/dist/tools_impl/refresh.js +46 -0
- package/dist/tools_impl/refresh.js.map +1 -0
- package/dist/tools_impl/suggest.js +169 -0
- package/dist/tools_impl/suggest.js.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.js +81 -0
- package/dist/utils.js.map +1 -0
- package/dist/validate.js +408 -0
- package/dist/validate.js.map +1 -0
- package/package.json +62 -0
package/dist/lint.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Blackhole outbound settings.
|
|
3
|
+
* Source: docs/en/config/outbounds/blackhole.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export const blackholeOutbound = z
|
|
7
|
+
.object({
|
|
8
|
+
response: z
|
|
9
|
+
.object({
|
|
10
|
+
type: z.enum(["none", "http"]).optional(),
|
|
11
|
+
})
|
|
12
|
+
.passthrough()
|
|
13
|
+
.optional(),
|
|
14
|
+
})
|
|
15
|
+
.passthrough();
|
|
16
|
+
//# sourceMappingURL=blackhole.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blackhole.js","sourceRoot":"","sources":["../../../src/schemas/protocols/blackhole.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Shared sub-schemas for protocol settings.
|
|
3
|
+
*
|
|
4
|
+
* Kept loose-by-default (`.passthrough()`) — xray-core often adds undocumented
|
|
5
|
+
* fields, and we don't want to error on a brand-new property the agent might
|
|
6
|
+
* legitimately want to set. Validate only fields with known shape; surface
|
|
7
|
+
* unknown fields as info via the validator (not the schema).
|
|
8
|
+
*/
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
export const uuid = z.string().regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/, "must be a UUID v4 (8-4-4-4-12 hex)");
|
|
11
|
+
export const userLevel = z.number().int().min(0).max(99);
|
|
12
|
+
export const email = z.string().email().or(z.string().min(1));
|
|
13
|
+
export const vlessFlow = z.enum([
|
|
14
|
+
"",
|
|
15
|
+
"none",
|
|
16
|
+
"xtls-rprx-vision",
|
|
17
|
+
"xtls-rprx-vision-udp443",
|
|
18
|
+
]);
|
|
19
|
+
/* TCP/UDP/etc. — used inside settings.network for dokodemo, ss inbound. */
|
|
20
|
+
export const network = z.enum(["tcp", "udp", "tcp,udp"]);
|
|
21
|
+
export const fallbackEntry = z
|
|
22
|
+
.object({
|
|
23
|
+
name: z.string().optional(),
|
|
24
|
+
alpn: z.string().optional(),
|
|
25
|
+
path: z.string().optional(),
|
|
26
|
+
type: z.string().optional(),
|
|
27
|
+
dest: z.union([z.string(), z.number().int()]).optional(),
|
|
28
|
+
xver: z.number().int().nonnegative().optional(),
|
|
29
|
+
})
|
|
30
|
+
.passthrough();
|
|
31
|
+
export const fallbacks = z.array(fallbackEntry);
|
|
32
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/schemas/protocols/common.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAClC,+EAA+E,EAC/E,oCAAoC,CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,EAAE;IACF,MAAM;IACN,kBAAkB;IAClB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DNS outbound settings.
|
|
3
|
+
* Source: docs/en/config/outbounds/dns.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export const dnsOutbound = z
|
|
7
|
+
.object({
|
|
8
|
+
network: z.enum(["tcp", "udp", "tcp,udp"]).optional(),
|
|
9
|
+
address: z.string().optional(),
|
|
10
|
+
port: z.number().int().min(1).max(65535).optional(),
|
|
11
|
+
nonIPQuery: z.enum(["drop", "skip"]).optional(),
|
|
12
|
+
})
|
|
13
|
+
.passthrough();
|
|
14
|
+
//# sourceMappingURL=dns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../../src/schemas/protocols/dns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* dokodemo-door settings schemas.
|
|
3
|
+
* Source: docs/en/config/inbounds/dokodemo.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { network, userLevel } from "./common.js";
|
|
7
|
+
export const dokodemoInbound = z
|
|
8
|
+
.object({
|
|
9
|
+
address: z.string().optional(),
|
|
10
|
+
port: z.number().int().min(1).max(65535).optional(),
|
|
11
|
+
network: network.optional(),
|
|
12
|
+
timeout: z.number().int().nonnegative().optional(),
|
|
13
|
+
followRedirect: z.boolean().optional(),
|
|
14
|
+
userLevel: userLevel.optional(),
|
|
15
|
+
})
|
|
16
|
+
.passthrough();
|
|
17
|
+
//# sourceMappingURL=dokodemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dokodemo.js","sourceRoot":"","sources":["../../../src/schemas/protocols/dokodemo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Freedom outbound settings.
|
|
3
|
+
* Source: docs/en/config/outbounds/freedom.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export const freedomOutbound = z
|
|
7
|
+
.object({
|
|
8
|
+
domainStrategy: z
|
|
9
|
+
.enum([
|
|
10
|
+
"AsIs",
|
|
11
|
+
"UseIP",
|
|
12
|
+
"UseIPv4",
|
|
13
|
+
"UseIPv6",
|
|
14
|
+
"UseIPv4v6",
|
|
15
|
+
"UseIPv6v4",
|
|
16
|
+
"ForceIP",
|
|
17
|
+
"ForceIPv4",
|
|
18
|
+
"ForceIPv6",
|
|
19
|
+
"ForceIPv4v6",
|
|
20
|
+
"ForceIPv6v4",
|
|
21
|
+
])
|
|
22
|
+
.optional(),
|
|
23
|
+
redirect: z.string().optional(),
|
|
24
|
+
userLevel: z.number().int().nonnegative().optional(),
|
|
25
|
+
fragment: z
|
|
26
|
+
.object({
|
|
27
|
+
packets: z.string().optional(),
|
|
28
|
+
length: z.string().optional(),
|
|
29
|
+
interval: z.string().optional(),
|
|
30
|
+
})
|
|
31
|
+
.passthrough()
|
|
32
|
+
.optional(),
|
|
33
|
+
noises: z
|
|
34
|
+
.array(z
|
|
35
|
+
.object({
|
|
36
|
+
type: z.string().optional(),
|
|
37
|
+
packet: z.string().optional(),
|
|
38
|
+
delay: z.union([z.string(), z.number()]).optional(),
|
|
39
|
+
})
|
|
40
|
+
.passthrough())
|
|
41
|
+
.optional(),
|
|
42
|
+
proxyProtocol: z.number().int().optional(),
|
|
43
|
+
})
|
|
44
|
+
.passthrough();
|
|
45
|
+
//# sourceMappingURL=freedom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"freedom.js","sourceRoot":"","sources":["../../../src/schemas/protocols/freedom.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,IAAI,CAAC;QACJ,MAAM;QACN,OAAO;QACP,SAAS;QACT,SAAS;QACT,WAAW;QACX,WAAW;QACX,SAAS;QACT,WAAW;QACX,WAAW;QACX,aAAa;QACb,aAAa;KACd,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;KACpD,CAAC;SACD,WAAW,EAAE,CACjB;SACA,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* HTTP proxy settings schemas.
|
|
3
|
+
* Source: docs/en/config/inbounds/http.md, outbounds/http.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { userLevel } from "./common.js";
|
|
7
|
+
const httpAccount = z
|
|
8
|
+
.object({
|
|
9
|
+
user: z.string().min(1),
|
|
10
|
+
pass: z.string().min(1),
|
|
11
|
+
})
|
|
12
|
+
.passthrough();
|
|
13
|
+
export const httpInbound = z
|
|
14
|
+
.object({
|
|
15
|
+
accounts: z.array(httpAccount).optional(),
|
|
16
|
+
allowTransparent: z.boolean().optional(),
|
|
17
|
+
userLevel: userLevel.optional(),
|
|
18
|
+
})
|
|
19
|
+
.passthrough();
|
|
20
|
+
const httpUser = z
|
|
21
|
+
.object({
|
|
22
|
+
user: z.string().min(1),
|
|
23
|
+
pass: z.string().min(1),
|
|
24
|
+
})
|
|
25
|
+
.passthrough();
|
|
26
|
+
const httpServer = z
|
|
27
|
+
.object({
|
|
28
|
+
address: z.string().min(1),
|
|
29
|
+
port: z.number().int().min(1).max(65535),
|
|
30
|
+
users: z.array(httpUser).optional(),
|
|
31
|
+
})
|
|
32
|
+
.passthrough();
|
|
33
|
+
export const httpOutbound = z
|
|
34
|
+
.object({
|
|
35
|
+
servers: z.array(httpServer).min(1),
|
|
36
|
+
})
|
|
37
|
+
.passthrough();
|
|
38
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/schemas/protocols/http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Hysteria(2) settings schemas (inbound and outbound).
|
|
3
|
+
* Source: docs/en/config/inbounds/hysteria.md, outbounds/hysteria.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
const bandwidth = z
|
|
7
|
+
.object({
|
|
8
|
+
up: z.union([z.string(), z.number()]).optional(),
|
|
9
|
+
down: z.union([z.string(), z.number()]).optional(),
|
|
10
|
+
})
|
|
11
|
+
.passthrough();
|
|
12
|
+
export const hysteriaInbound = z
|
|
13
|
+
.object({
|
|
14
|
+
obfs: z
|
|
15
|
+
.object({
|
|
16
|
+
type: z.string().optional(),
|
|
17
|
+
password: z.string().optional(),
|
|
18
|
+
})
|
|
19
|
+
.passthrough()
|
|
20
|
+
.optional(),
|
|
21
|
+
auth: z
|
|
22
|
+
.object({
|
|
23
|
+
type: z.string().optional(),
|
|
24
|
+
})
|
|
25
|
+
.passthrough()
|
|
26
|
+
.optional(),
|
|
27
|
+
bandwidth: bandwidth.optional(),
|
|
28
|
+
ignore_client_bandwidth: z.boolean().optional(),
|
|
29
|
+
})
|
|
30
|
+
.passthrough();
|
|
31
|
+
const hysteriaServer = z
|
|
32
|
+
.object({
|
|
33
|
+
address: z.string().min(1),
|
|
34
|
+
port: z.number().int().min(1).max(65535),
|
|
35
|
+
auth_str: z.string().optional(),
|
|
36
|
+
})
|
|
37
|
+
.passthrough();
|
|
38
|
+
export const hysteriaOutbound = z
|
|
39
|
+
.object({
|
|
40
|
+
servers: z.array(hysteriaServer).min(1).optional(),
|
|
41
|
+
obfs: z
|
|
42
|
+
.object({
|
|
43
|
+
type: z.string().optional(),
|
|
44
|
+
password: z.string().optional(),
|
|
45
|
+
})
|
|
46
|
+
.passthrough()
|
|
47
|
+
.optional(),
|
|
48
|
+
bandwidth: bandwidth.optional(),
|
|
49
|
+
})
|
|
50
|
+
.passthrough();
|
|
51
|
+
//# sourceMappingURL=hysteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hysteria.js","sourceRoot":"","sources":["../../../src/schemas/protocols/hysteria.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;IACb,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC/B,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;IACb,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Protocol registry: maps protocol name → Zod schema for `settings` block.
|
|
3
|
+
*
|
|
4
|
+
* Used by validate.ts to deep-check inbound/outbound settings shape per
|
|
5
|
+
* protocol. Anything not registered falls back to the legacy "is it a
|
|
6
|
+
* known string" check.
|
|
7
|
+
*/
|
|
8
|
+
import { vlessInbound, vlessOutbound } from "./vless.js";
|
|
9
|
+
import { vmessInbound, vmessOutbound } from "./vmess.js";
|
|
10
|
+
import { trojanInbound, trojanOutbound } from "./trojan.js";
|
|
11
|
+
import { shadowsocksInbound, shadowsocksOutbound } from "./shadowsocks.js";
|
|
12
|
+
import { socksInbound, socksOutbound } from "./socks.js";
|
|
13
|
+
import { httpInbound, httpOutbound } from "./http.js";
|
|
14
|
+
import { wireguardInbound, wireguardOutbound } from "./wireguard.js";
|
|
15
|
+
import { dokodemoInbound } from "./dokodemo.js";
|
|
16
|
+
import { tunInbound } from "./tun.js";
|
|
17
|
+
import { hysteriaInbound, hysteriaOutbound } from "./hysteria.js";
|
|
18
|
+
import { freedomOutbound } from "./freedom.js";
|
|
19
|
+
import { blackholeOutbound } from "./blackhole.js";
|
|
20
|
+
import { dnsOutbound } from "./dns.js";
|
|
21
|
+
import { loopbackOutbound } from "./loopback.js";
|
|
22
|
+
export const inboundProtocolSchemas = {
|
|
23
|
+
vless: vlessInbound,
|
|
24
|
+
vmess: vmessInbound,
|
|
25
|
+
trojan: trojanInbound,
|
|
26
|
+
shadowsocks: shadowsocksInbound,
|
|
27
|
+
socks: socksInbound,
|
|
28
|
+
http: httpInbound,
|
|
29
|
+
wireguard: wireguardInbound,
|
|
30
|
+
"dokodemo-door": dokodemoInbound,
|
|
31
|
+
tun: tunInbound,
|
|
32
|
+
hysteria: hysteriaInbound,
|
|
33
|
+
hysteria2: hysteriaInbound,
|
|
34
|
+
};
|
|
35
|
+
export const outboundProtocolSchemas = {
|
|
36
|
+
vless: vlessOutbound,
|
|
37
|
+
vmess: vmessOutbound,
|
|
38
|
+
trojan: trojanOutbound,
|
|
39
|
+
shadowsocks: shadowsocksOutbound,
|
|
40
|
+
socks: socksOutbound,
|
|
41
|
+
http: httpOutbound,
|
|
42
|
+
wireguard: wireguardOutbound,
|
|
43
|
+
hysteria: hysteriaOutbound,
|
|
44
|
+
hysteria2: hysteriaOutbound,
|
|
45
|
+
freedom: freedomOutbound,
|
|
46
|
+
blackhole: blackholeOutbound,
|
|
47
|
+
dns: dnsOutbound,
|
|
48
|
+
loopback: loopbackOutbound,
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/protocols/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,CAAC,MAAM,sBAAsB,GAA8B;IAC/D,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,WAAW,EAAE,kBAAkB;IAC/B,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,eAAe;IAChC,GAAG,EAAE,UAAU;IACf,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,eAAe;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA8B;IAChE,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,iBAAiB;IAC5B,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,gBAAgB;CAC3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Loopback outbound settings.
|
|
3
|
+
* Source: docs/en/config/outbounds/loopback.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export const loopbackOutbound = z
|
|
7
|
+
.object({
|
|
8
|
+
inboundTag: z.string().min(1),
|
|
9
|
+
})
|
|
10
|
+
.passthrough();
|
|
11
|
+
//# sourceMappingURL=loopback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopback.js","sourceRoot":"","sources":["../../../src/schemas/protocols/loopback.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9B,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Shadowsocks settings schemas.
|
|
3
|
+
* Source: docs/en/config/inbounds/shadowsocks.md, outbounds/shadowsocks.md
|
|
4
|
+
*
|
|
5
|
+
* Includes Shadowsocks-2022 AEAD (2022-blake3-*) ciphers.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { email, network, userLevel } from "./common.js";
|
|
9
|
+
export const shadowsocksMethod = z.enum([
|
|
10
|
+
"none",
|
|
11
|
+
"plain",
|
|
12
|
+
"aes-128-gcm",
|
|
13
|
+
"aes-256-gcm",
|
|
14
|
+
"chacha20-poly1305",
|
|
15
|
+
"chacha20-ietf-poly1305",
|
|
16
|
+
"xchacha20-poly1305",
|
|
17
|
+
"xchacha20-ietf-poly1305",
|
|
18
|
+
"2022-blake3-aes-128-gcm",
|
|
19
|
+
"2022-blake3-aes-256-gcm",
|
|
20
|
+
"2022-blake3-chacha20-poly1305",
|
|
21
|
+
]);
|
|
22
|
+
const ssUser = z
|
|
23
|
+
.object({
|
|
24
|
+
password: z.string().min(1),
|
|
25
|
+
method: shadowsocksMethod.optional(),
|
|
26
|
+
level: userLevel.optional(),
|
|
27
|
+
email: email.optional(),
|
|
28
|
+
})
|
|
29
|
+
.passthrough();
|
|
30
|
+
export const shadowsocksInbound = z
|
|
31
|
+
.object({
|
|
32
|
+
method: shadowsocksMethod.optional(),
|
|
33
|
+
password: z.string().min(1).optional(),
|
|
34
|
+
network: network.optional(),
|
|
35
|
+
clients: z.array(ssUser).optional(),
|
|
36
|
+
ivCheck: z.boolean().optional(),
|
|
37
|
+
})
|
|
38
|
+
.passthrough()
|
|
39
|
+
.refine((s) => Boolean(s.password) || (Array.isArray(s.clients) && s.clients.length > 0), {
|
|
40
|
+
message: "Shadowsocks inbound needs either `password` (single-user) or `clients[]` (multi-user)",
|
|
41
|
+
});
|
|
42
|
+
const ssServer = z
|
|
43
|
+
.object({
|
|
44
|
+
address: z.string().min(1),
|
|
45
|
+
port: z.number().int().min(1).max(65535),
|
|
46
|
+
method: shadowsocksMethod,
|
|
47
|
+
password: z.string().min(1),
|
|
48
|
+
level: userLevel.optional(),
|
|
49
|
+
email: email.optional(),
|
|
50
|
+
ivCheck: z.boolean().optional(),
|
|
51
|
+
uot: z.boolean().optional(),
|
|
52
|
+
UoTVersion: z.number().int().optional(),
|
|
53
|
+
})
|
|
54
|
+
.passthrough();
|
|
55
|
+
export const shadowsocksOutbound = z
|
|
56
|
+
.object({
|
|
57
|
+
servers: z.array(ssServer).min(1),
|
|
58
|
+
})
|
|
59
|
+
.passthrough();
|
|
60
|
+
//# sourceMappingURL=shadowsocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadowsocks.js","sourceRoot":"","sources":["../../../src/schemas/protocols/shadowsocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,MAAM;IACN,OAAO;IACP,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,+BAA+B;CAChC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC;KACb,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE;KACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;IACxF,OAAO,EAAE,uFAAuF;CACjG,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SOCKS settings schemas.
|
|
3
|
+
* Source: docs/en/config/inbounds/socks.md, outbounds/socks.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { userLevel } from "./common.js";
|
|
7
|
+
const socksAccount = z
|
|
8
|
+
.object({
|
|
9
|
+
user: z.string().min(1),
|
|
10
|
+
pass: z.string().min(1),
|
|
11
|
+
})
|
|
12
|
+
.passthrough();
|
|
13
|
+
export const socksInbound = z
|
|
14
|
+
.object({
|
|
15
|
+
auth: z.enum(["noauth", "password"]).optional(),
|
|
16
|
+
accounts: z.array(socksAccount).optional(),
|
|
17
|
+
udp: z.boolean().optional(),
|
|
18
|
+
ip: z.string().optional(),
|
|
19
|
+
userLevel: userLevel.optional(),
|
|
20
|
+
})
|
|
21
|
+
.passthrough();
|
|
22
|
+
const socksUser = z
|
|
23
|
+
.object({
|
|
24
|
+
user: z.string().min(1),
|
|
25
|
+
pass: z.string().min(1),
|
|
26
|
+
level: userLevel.optional(),
|
|
27
|
+
})
|
|
28
|
+
.passthrough();
|
|
29
|
+
const socksServer = z
|
|
30
|
+
.object({
|
|
31
|
+
address: z.string().min(1),
|
|
32
|
+
port: z.number().int().min(1).max(65535),
|
|
33
|
+
users: z.array(socksUser).optional(),
|
|
34
|
+
})
|
|
35
|
+
.passthrough();
|
|
36
|
+
export const socksOutbound = z
|
|
37
|
+
.object({
|
|
38
|
+
servers: z.array(socksServer).min(1),
|
|
39
|
+
version: z.enum(["4", "4a", "5"]).optional(),
|
|
40
|
+
})
|
|
41
|
+
.passthrough();
|
|
42
|
+
//# sourceMappingURL=socks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socks.js","sourceRoot":"","sources":["../../../src/schemas/protocols/socks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IAC1C,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Trojan settings schemas.
|
|
3
|
+
* Source: docs/en/config/inbounds/trojan.md, outbounds/trojan.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { email, fallbacks, userLevel } from "./common.js";
|
|
7
|
+
const trojanClient = z
|
|
8
|
+
.object({
|
|
9
|
+
password: z.string().min(1),
|
|
10
|
+
level: userLevel.optional(),
|
|
11
|
+
email: email.optional(),
|
|
12
|
+
})
|
|
13
|
+
.passthrough();
|
|
14
|
+
export const trojanInbound = z
|
|
15
|
+
.object({
|
|
16
|
+
clients: z.array(trojanClient).min(1),
|
|
17
|
+
fallbacks: fallbacks.optional(),
|
|
18
|
+
})
|
|
19
|
+
.passthrough();
|
|
20
|
+
const trojanServer = z
|
|
21
|
+
.object({
|
|
22
|
+
address: z.string().min(1),
|
|
23
|
+
port: z.number().int().min(1).max(65535),
|
|
24
|
+
password: z.string().min(1),
|
|
25
|
+
level: userLevel.optional(),
|
|
26
|
+
email: email.optional(),
|
|
27
|
+
})
|
|
28
|
+
.passthrough();
|
|
29
|
+
export const trojanOutbound = z
|
|
30
|
+
.object({
|
|
31
|
+
servers: z.array(trojanServer).min(1),
|
|
32
|
+
})
|
|
33
|
+
.passthrough();
|
|
34
|
+
//# sourceMappingURL=trojan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trojan.js","sourceRoot":"","sources":["../../../src/schemas/protocols/trojan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TUN settings schemas (xray inbound on Linux/macOS).
|
|
3
|
+
* Source: docs/en/config/inbounds/tun.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
export const tunInbound = z
|
|
7
|
+
.object({
|
|
8
|
+
interface_name: z.string().optional(),
|
|
9
|
+
address: z.array(z.string()).optional(),
|
|
10
|
+
mtu: z.number().int().positive().optional(),
|
|
11
|
+
auto_route: z.boolean().optional(),
|
|
12
|
+
strict_route: z.boolean().optional(),
|
|
13
|
+
inet4_route_address: z.array(z.string()).optional(),
|
|
14
|
+
inet6_route_address: z.array(z.string()).optional(),
|
|
15
|
+
endpoint_independent_nat: z.boolean().optional(),
|
|
16
|
+
stack: z.string().optional(),
|
|
17
|
+
})
|
|
18
|
+
.passthrough();
|
|
19
|
+
//# sourceMappingURL=tun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tun.js","sourceRoot":"","sources":["../../../src/schemas/protocols/tun.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* VLESS settings schemas (inbound and outbound).
|
|
3
|
+
* Source: docs/en/config/inbounds/vless.md, outbounds/vless.md
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { email, fallbacks, userLevel, uuid, vlessFlow } from "./common.js";
|
|
7
|
+
const vlessClient = z
|
|
8
|
+
.object({
|
|
9
|
+
id: uuid,
|
|
10
|
+
level: userLevel.optional(),
|
|
11
|
+
email: email.optional(),
|
|
12
|
+
flow: vlessFlow.optional(),
|
|
13
|
+
})
|
|
14
|
+
.passthrough();
|
|
15
|
+
export const vlessInbound = z
|
|
16
|
+
.object({
|
|
17
|
+
clients: z.array(vlessClient).min(1, "VLESS inbound needs at least one client"),
|
|
18
|
+
/* xray refuses to start without explicit "none" or a real encryption block. */
|
|
19
|
+
decryption: z.string().min(1, 'decryption is required (use "none" if unset)'),
|
|
20
|
+
fallbacks: fallbacks.optional(),
|
|
21
|
+
})
|
|
22
|
+
.passthrough();
|
|
23
|
+
const vlessUser = z
|
|
24
|
+
.object({
|
|
25
|
+
id: uuid,
|
|
26
|
+
level: userLevel.optional(),
|
|
27
|
+
email: email.optional(),
|
|
28
|
+
flow: vlessFlow.optional(),
|
|
29
|
+
encryption: z.string().optional(),
|
|
30
|
+
})
|
|
31
|
+
.passthrough();
|
|
32
|
+
const vlessServer = z
|
|
33
|
+
.object({
|
|
34
|
+
address: z.string().min(1),
|
|
35
|
+
port: z.number().int().min(1).max(65535),
|
|
36
|
+
users: z.array(vlessUser).min(1),
|
|
37
|
+
})
|
|
38
|
+
.passthrough();
|
|
39
|
+
export const vlessOutbound = z
|
|
40
|
+
.object({
|
|
41
|
+
vnext: z.array(vlessServer).min(1, "VLESS outbound needs vnext[]"),
|
|
42
|
+
})
|
|
43
|
+
.passthrough();
|
|
44
|
+
//# sourceMappingURL=vless.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vless.js","sourceRoot":"","sources":["../../../src/schemas/protocols/vless.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;CAC3B,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,yCAAyC,CAAC;IAC/E,+EAA+E;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8CAA8C,CAAC;IAC7E,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;CACnE,CAAC;KACD,WAAW,EAAE,CAAC"}
|