surgio 2.25.3 → 3.0.0-alpha.1
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 +1 -1
- package/bin/dev +17 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +8 -0
- package/bin/run.cmd +3 -0
- package/build/base-command.d.ts +19 -0
- package/build/base-command.js +75 -0
- package/build/base-command.js.map +1 -0
- package/build/commands/check.d.ts +10 -0
- package/build/commands/check.js +88 -0
- package/build/commands/check.js.map +1 -0
- package/build/commands/clean-cache.d.ts +6 -0
- package/build/commands/clean-cache.js +29 -0
- package/build/commands/clean-cache.js.map +1 -0
- package/build/commands/doctor.d.ts +6 -0
- package/build/commands/doctor.js +21 -0
- package/build/commands/doctor.js.map +1 -0
- package/build/commands/generate.d.ts +7 -0
- package/build/commands/generate.js +93 -0
- package/build/commands/generate.js.map +1 -0
- package/build/commands/lint.d.ts +6 -0
- package/build/commands/lint.js +36 -0
- package/build/commands/lint.js.map +1 -0
- package/build/commands/new.d.ts +6 -0
- package/build/commands/new.js +36 -0
- package/build/commands/new.js.map +1 -0
- package/build/commands/subscriptions.d.ts +7 -0
- package/build/commands/subscriptions.js +96 -0
- package/build/commands/subscriptions.js.map +1 -0
- package/build/commands/upload.d.ts +6 -0
- package/build/commands/upload.js +89 -0
- package/build/commands/upload.js.map +1 -0
- package/build/config.d.ts +6 -0
- package/build/config.js +151 -0
- package/build/config.js.map +1 -0
- package/build/configurables.d.ts +80 -0
- package/build/configurables.js +52 -0
- package/build/configurables.js.map +1 -0
- package/build/constant/constant.d.ts +16 -16
- package/build/constant/constant.js +3 -13
- package/build/constant/constant.js.map +1 -0
- package/build/constant/env.js +1 -1
- package/build/constant/env.js.map +1 -0
- package/build/constant/error.js +1 -1
- package/build/constant/error.js.map +1 -0
- package/build/constant/index.js +1 -1
- package/build/constant/index.js.map +1 -0
- package/build/generator/artifact.d.ts +302 -67
- package/build/generator/artifact.js +141 -101
- package/build/generator/artifact.js.map +1 -0
- package/build/generator/index.d.ts +2 -0
- package/build/generator/index.js +19 -0
- package/build/generator/index.js.map +1 -0
- package/build/generator/template.js +2 -28
- package/build/generator/template.js.map +1 -0
- package/build/hooks/init.d.ts +3 -0
- package/build/hooks/init.js +33 -0
- package/build/hooks/init.js.map +1 -0
- package/build/index.d.ts +68 -66
- package/build/index.js +11 -51
- package/build/index.js.map +1 -0
- package/build/internal.d.ts +5 -0
- package/build/internal.js +25 -0
- package/build/internal.js.map +1 -0
- package/build/misc/deprecation.d.ts +1 -6
- package/build/misc/deprecation.js +1 -8
- package/build/misc/deprecation.js.map +1 -0
- package/build/misc/flag_cn.d.ts +49 -50
- package/build/misc/flag_cn.js +3 -3
- package/build/misc/flag_cn.js.map +1 -0
- package/build/provider/BlackSSLProvider.d.ts +4 -3
- package/build/provider/BlackSSLProvider.js +28 -16
- package/build/provider/BlackSSLProvider.js.map +1 -0
- package/build/provider/ClashProvider.d.ts +7 -10
- package/build/provider/ClashProvider.js +168 -76
- package/build/provider/ClashProvider.js.map +1 -0
- package/build/provider/CustomProvider.d.ts +4 -3
- package/build/provider/CustomProvider.js +98 -54
- package/build/provider/CustomProvider.js.map +1 -0
- package/build/provider/Provider.d.ts +9 -22
- package/build/provider/Provider.js +34 -69
- package/build/provider/Provider.js.map +1 -0
- package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
- package/build/provider/ShadowsocksJsonSubscribeProvider.js +31 -21
- package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -0
- package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
- package/build/provider/ShadowsocksSubscribeProvider.js +33 -27
- package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -0
- package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
- package/build/provider/ShadowsocksrSubscribeProvider.js +33 -23
- package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -0
- package/build/provider/SsdProvider.d.ts +5 -8
- package/build/provider/SsdProvider.js +59 -39
- package/build/provider/SsdProvider.js.map +1 -0
- package/build/provider/TrojanProvider.d.ts +5 -8
- package/build/provider/TrojanProvider.js +40 -30
- package/build/provider/TrojanProvider.js.map +1 -0
- package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
- package/build/provider/V2rayNSubscribeProvider.js +64 -33
- package/build/provider/V2rayNSubscribeProvider.js.map +1 -0
- package/build/provider/index.d.ts +16 -2
- package/build/provider/index.js +12 -5
- package/build/provider/index.js.map +1 -0
- package/build/provider/types.d.ts +10 -1
- package/build/provider/types.js +1 -1
- package/build/provider/types.js.map +1 -0
- package/build/redis.js +1 -1
- package/build/redis.js.map +1 -0
- package/build/types.d.ts +42 -236
- package/build/types.js +2 -1
- package/build/types.js.map +1 -0
- package/build/utils/cache.js +29 -27
- package/build/utils/cache.js.map +1 -0
- package/build/utils/clash.d.ts +204 -3
- package/build/utils/clash.js +247 -110
- package/build/utils/clash.js.map +1 -0
- package/build/utils/constant.js +1 -1
- package/build/utils/constant.js.map +1 -0
- package/build/utils/dns.js +1 -1
- package/build/utils/dns.js.map +1 -0
- package/build/utils/doctor.d.ts +2 -0
- package/build/utils/doctor.js +38 -0
- package/build/utils/doctor.js.map +1 -0
- package/build/utils/env-flag.js +2 -2
- package/build/utils/env-flag.js.map +1 -0
- package/build/utils/error-helper.d.ts +2 -2
- package/build/utils/error-helper.js +51 -16
- package/build/utils/error-helper.js.map +1 -0
- package/build/utils/errors.d.ts +19 -0
- package/build/utils/errors.js +60 -0
- package/build/utils/errors.js.map +1 -0
- package/build/utils/filter.d.ts +46 -43
- package/build/utils/filter.js +57 -59
- package/build/utils/filter.js.map +1 -0
- package/build/utils/flag.js +6 -6
- package/build/utils/flag.js.map +1 -0
- package/build/utils/http-client.js +38 -5
- package/build/utils/http-client.js.map +1 -0
- package/build/utils/index.d.ts +14 -21
- package/build/utils/index.js +102 -118
- package/build/utils/index.js.map +1 -0
- package/build/utils/linter.js +5 -2
- package/build/utils/linter.js.map +1 -0
- package/build/utils/loon.d.ts +3 -2
- package/build/utils/loon.js +67 -5
- package/build/utils/loon.js.map +1 -0
- package/build/utils/quantumult.d.ts +3 -3
- package/build/utils/quantumult.js +190 -258
- package/build/utils/quantumult.js.map +1 -0
- package/build/utils/relayable-url.js +1 -1
- package/build/utils/relayable-url.js.map +1 -0
- package/build/utils/remote-snippet.js +37 -14
- package/build/utils/remote-snippet.js.map +1 -0
- package/build/utils/ss.js +27 -17
- package/build/utils/ss.js.map +1 -0
- package/build/utils/ssr.js +3 -4
- package/build/utils/ssr.js.map +1 -0
- package/build/utils/subscription.js +10 -9
- package/build/utils/subscription.js.map +1 -0
- package/build/utils/surfboard.d.ts +3 -2
- package/build/utils/surfboard.js +142 -126
- package/build/utils/surfboard.js.map +1 -0
- package/build/utils/surge.d.ts +4 -2
- package/build/utils/surge.js +328 -300
- package/build/utils/surge.js.map +1 -0
- package/build/utils/time.d.ts +1 -0
- package/build/utils/time.js +6 -0
- package/build/utils/time.js.map +1 -0
- package/build/utils/tmp-helper.js +8 -1
- package/build/utils/tmp-helper.js.map +1 -0
- package/build/utils/trojan.js +19 -11
- package/build/utils/trojan.js.map +1 -0
- package/build/validators/artifact.d.ts +35 -0
- package/build/validators/artifact.js +17 -0
- package/build/validators/artifact.js.map +1 -0
- package/build/validators/common.d.ts +121 -0
- package/build/validators/common.js +65 -0
- package/build/validators/common.js.map +1 -0
- package/build/validators/filter.d.ts +10 -0
- package/build/validators/filter.js +15 -0
- package/build/validators/filter.js.map +1 -0
- package/build/validators/hooks.d.ts +9 -0
- package/build/validators/hooks.js +11 -0
- package/build/validators/hooks.js.map +1 -0
- package/build/validators/http.d.ts +137 -0
- package/build/validators/http.js +19 -0
- package/build/validators/http.js.map +1 -0
- package/build/validators/index.d.ts +15 -0
- package/build/validators/index.js +32 -0
- package/build/validators/index.js.map +1 -0
- package/build/validators/provider.d.ts +114 -0
- package/build/validators/provider.js +42 -0
- package/build/validators/provider.js.map +1 -0
- package/build/validators/shadowsocks.d.ts +86 -0
- package/build/validators/shadowsocks.js +29 -0
- package/build/validators/shadowsocks.js.map +1 -0
- package/build/validators/shadowsocksr.d.ts +77 -0
- package/build/validators/shadowsocksr.js +19 -0
- package/build/validators/shadowsocksr.js.map +1 -0
- package/build/validators/snell.d.ts +71 -0
- package/build/validators/snell.js +17 -0
- package/build/validators/snell.js.map +1 -0
- package/build/validators/socks5.d.ts +77 -0
- package/build/validators/socks5.js +19 -0
- package/build/validators/socks5.js.map +1 -0
- package/build/validators/surgio-config.d.ts +307 -0
- package/build/validators/surgio-config.js +95 -0
- package/build/validators/surgio-config.js.map +1 -0
- package/build/validators/trojan.d.ts +86 -0
- package/build/validators/trojan.js +15 -0
- package/build/validators/trojan.js.map +1 -0
- package/build/validators/tuic.d.ts +301 -0
- package/build/validators/tuic.js +21 -0
- package/build/validators/tuic.js.map +1 -0
- package/build/validators/vmess.d.ts +92 -0
- package/build/validators/vmess.js +29 -0
- package/build/validators/vmess.js.map +1 -0
- package/build/validators/wireguard.d.ts +123 -0
- package/build/validators/wireguard.js +26 -0
- package/build/validators/wireguard.js.map +1 -0
- package/config.d.ts +1 -0
- package/config.js +1 -0
- package/constant.d.ts +1 -0
- package/constant.js +1 -0
- package/generator.d.ts +1 -0
- package/generator.js +1 -0
- package/hygen-template/artifact/new/index.js +15 -15
- package/hygen-template/provider/new/index.js +8 -7
- package/hygen-template/template/new/index.js +3 -3
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/internal.d.ts +1 -0
- package/internal.js +1 -0
- package/package.json +120 -80
- package/provider.d.ts +1 -0
- package/provider.js +1 -0
- package/utils.d.ts +1 -0
- package/utils.js +1 -0
- package/bin/surgio.js +0 -8
- package/build/command/check.d.ts +0 -9
- package/build/command/check.js +0 -79
- package/build/command/clean-cache.d.ts +0 -8
- package/build/command/clean-cache.js +0 -43
- package/build/command/doctor.d.ts +0 -9
- package/build/command/doctor.js +0 -63
- package/build/command/generate.d.ts +0 -8
- package/build/command/generate.js +0 -64
- package/build/command/lint.d.ts +0 -7
- package/build/command/lint.js +0 -42
- package/build/command/new.d.ts +0 -7
- package/build/command/new.js +0 -44
- package/build/command/subscriptions.d.ts +0 -10
- package/build/command/subscriptions.js +0 -87
- package/build/command/upload.d.ts +0 -9
- package/build/command/upload.js +0 -101
- package/build/generate.d.ts +0 -4
- package/build/generate.js +0 -75
- package/build/utils/command.d.ts +0 -2
- package/build/utils/command.js +0 -23
- package/build/utils/config.d.ts +0 -6
- package/build/utils/config.js +0 -245
- package/build/utils/patch-proxy.d.ts +0 -1
- package/build/utils/patch-proxy.js +0 -19
- package/build/utils/v2ray.d.ts +0 -4
- package/build/utils/v2ray.js +0 -41
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseClashConfig = exports.getClashSubscription = void 0;
|
|
7
|
-
const joi_1 = __importDefault(require("joi"));
|
|
8
7
|
const assert_1 = __importDefault(require("assert"));
|
|
9
8
|
const yaml_1 = __importDefault(require("yaml"));
|
|
10
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
10
|
const logger_1 = require("@surgio/logger");
|
|
11
|
+
const zod_1 = require("zod");
|
|
12
12
|
const types_1 = require("../types");
|
|
13
13
|
const utils_1 = require("../utils");
|
|
14
14
|
const env_flag_1 = require("../utils/env-flag");
|
|
@@ -18,52 +18,62 @@ const logger = (0, logger_1.createLogger)({
|
|
|
18
18
|
service: 'surgio:ClashProvider',
|
|
19
19
|
});
|
|
20
20
|
class ClashProvider extends Provider_1.default {
|
|
21
|
+
#originalUrl;
|
|
22
|
+
udpRelay;
|
|
23
|
+
tls13;
|
|
21
24
|
constructor(name, config) {
|
|
22
25
|
super(name, config);
|
|
23
|
-
const schema =
|
|
24
|
-
url:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
udpRelay: joi_1.default.bool().strict(),
|
|
30
|
-
tls13: joi_1.default.bool().strict(),
|
|
31
|
-
}).unknown();
|
|
32
|
-
const { error } = schema.validate(config);
|
|
26
|
+
const schema = zod_1.z.object({
|
|
27
|
+
url: zod_1.z.string().url(),
|
|
28
|
+
udpRelay: zod_1.z.boolean().optional(),
|
|
29
|
+
tls13: zod_1.z.boolean().optional(),
|
|
30
|
+
});
|
|
31
|
+
const result = schema.safeParse(config);
|
|
33
32
|
// istanbul ignore next
|
|
34
|
-
if (
|
|
35
|
-
throw
|
|
33
|
+
if (!result.success) {
|
|
34
|
+
throw new utils_1.SurgioError('ClashProvider 配置校验失败', {
|
|
35
|
+
cause: result.error,
|
|
36
|
+
providerName: name,
|
|
37
|
+
});
|
|
36
38
|
}
|
|
37
|
-
this
|
|
38
|
-
this.udpRelay =
|
|
39
|
-
this.tls13 =
|
|
39
|
+
this.#originalUrl = result.data.url;
|
|
40
|
+
this.udpRelay = result.data.udpRelay;
|
|
41
|
+
this.tls13 = result.data.tls13;
|
|
40
42
|
this.supportGetSubscriptionUserInfo = true;
|
|
41
43
|
}
|
|
42
44
|
// istanbul ignore next
|
|
43
45
|
get url() {
|
|
44
|
-
return (0, relayable_url_1.default)(this
|
|
46
|
+
return (0, relayable_url_1.default)(this.#originalUrl, this.config.relayUrl);
|
|
45
47
|
}
|
|
46
|
-
async
|
|
48
|
+
getSubscriptionUserInfo = async (params = {}) => {
|
|
49
|
+
const requestUserAgent = this.determineRequestUserAgent(params.requestUserAgent);
|
|
47
50
|
const { subscriptionUserinfo } = await (0, exports.getClashSubscription)({
|
|
48
51
|
url: this.url,
|
|
49
52
|
udpRelay: this.udpRelay,
|
|
50
53
|
tls13: this.tls13,
|
|
51
|
-
requestUserAgent
|
|
54
|
+
requestUserAgent,
|
|
52
55
|
});
|
|
53
56
|
if (subscriptionUserinfo) {
|
|
54
57
|
return subscriptionUserinfo;
|
|
55
58
|
}
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
async
|
|
59
|
+
return undefined;
|
|
60
|
+
};
|
|
61
|
+
getNodeList = async (params = {}) => {
|
|
62
|
+
const requestUserAgent = this.determineRequestUserAgent(params.requestUserAgent);
|
|
59
63
|
const { nodeList } = await (0, exports.getClashSubscription)({
|
|
60
64
|
url: this.url,
|
|
61
65
|
udpRelay: this.udpRelay,
|
|
62
66
|
tls13: this.tls13,
|
|
63
|
-
requestUserAgent
|
|
67
|
+
requestUserAgent,
|
|
64
68
|
});
|
|
69
|
+
if (this.config.hooks?.afterNodeListResponse) {
|
|
70
|
+
const newList = await this.config.hooks.afterNodeListResponse(nodeList, params);
|
|
71
|
+
if (newList) {
|
|
72
|
+
return newList;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
65
75
|
return nodeList;
|
|
66
|
-
}
|
|
76
|
+
};
|
|
67
77
|
}
|
|
68
78
|
exports.default = ClashProvider;
|
|
69
79
|
const getClashSubscription = async ({ url, udpRelay, tls13, requestUserAgent, }) => {
|
|
@@ -96,50 +106,71 @@ const getClashSubscription = async ({ url, udpRelay, tls13, requestUserAgent, })
|
|
|
96
106
|
exports.getClashSubscription = getClashSubscription;
|
|
97
107
|
const parseClashConfig = (proxyList, udpRelay, tls13) => {
|
|
98
108
|
const nodeList = proxyList.map((item) => {
|
|
99
|
-
var _a, _b, _c, _d;
|
|
100
109
|
switch (item.type) {
|
|
101
110
|
case 'ss': {
|
|
102
111
|
// istanbul ignore next
|
|
103
112
|
if (item.plugin && !['obfs', 'v2ray-plugin'].includes(item.plugin)) {
|
|
104
113
|
logger.warn(`不支持从 Clash 订阅中读取 ${item.plugin} 类型的 Shadowsocks 节点,节点 ${item.name} 会被省略`);
|
|
105
|
-
return
|
|
114
|
+
return undefined;
|
|
106
115
|
}
|
|
107
116
|
// istanbul ignore next
|
|
108
117
|
if (item.plugin === 'v2ray-plugin' &&
|
|
109
118
|
item['plugin-opts'].mode.toLowerCase() === 'quic') {
|
|
110
119
|
logger.warn(`不支持从 Clash 订阅中读取 QUIC 模式的 Shadowsocks 节点,节点 ${item.name} 会被省略`);
|
|
111
|
-
return
|
|
120
|
+
return undefined;
|
|
112
121
|
}
|
|
113
122
|
const wsHeaders = (0, utils_1.lowercaseHeaderKeys)(lodash_1.default.get(item, 'plugin-opts.headers', {}));
|
|
114
|
-
return
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
123
|
+
return {
|
|
124
|
+
type: types_1.NodeTypeEnum.Shadowsocks,
|
|
125
|
+
nodeName: item.name,
|
|
126
|
+
hostname: item.server,
|
|
127
|
+
port: item.port,
|
|
128
|
+
method: item.cipher,
|
|
129
|
+
password: item.password,
|
|
130
|
+
udpRelay: resolveUdpRelay(item.udp, udpRelay),
|
|
131
|
+
// obfs-local 新格式
|
|
132
|
+
...(item.plugin && item.plugin === 'obfs'
|
|
133
|
+
? {
|
|
134
|
+
obfs: item['plugin-opts'].mode,
|
|
135
|
+
obfsHost: item['plugin-opts'].host || 'www.bing.com',
|
|
136
|
+
}
|
|
137
|
+
: null),
|
|
138
|
+
// obfs-local 旧格式
|
|
139
|
+
...(item.obfs
|
|
128
140
|
? {
|
|
129
|
-
|
|
130
|
-
|
|
141
|
+
obfs: item.obfs,
|
|
142
|
+
obfsHost: item['obfs-host'] || 'www.bing.com',
|
|
131
143
|
}
|
|
132
|
-
: null)
|
|
144
|
+
: null),
|
|
145
|
+
// v2ray-plugin
|
|
146
|
+
...(item.plugin &&
|
|
147
|
+
item.plugin === 'v2ray-plugin' &&
|
|
148
|
+
item['plugin-opts'].mode === 'websocket'
|
|
133
149
|
? {
|
|
134
|
-
|
|
150
|
+
obfs: item['plugin-opts'].tls === true ? 'wss' : 'ws',
|
|
151
|
+
obfsHost: item['plugin-opts'].host || item.server,
|
|
152
|
+
obfsUri: item['plugin-opts'].path || '/',
|
|
153
|
+
wsHeaders,
|
|
154
|
+
...(item['plugin-opts'].tls === true
|
|
155
|
+
? {
|
|
156
|
+
skipCertVerify: item['plugin-opts']['skip-cert-verify'] === true,
|
|
157
|
+
tls13: tls13 ?? false,
|
|
158
|
+
}
|
|
159
|
+
: null),
|
|
160
|
+
...(typeof item['plugin-opts'].mux === 'boolean'
|
|
161
|
+
? {
|
|
162
|
+
mux: item['plugin-opts'].mux,
|
|
163
|
+
}
|
|
164
|
+
: null),
|
|
135
165
|
}
|
|
136
|
-
: null)
|
|
166
|
+
: null),
|
|
167
|
+
};
|
|
137
168
|
}
|
|
138
169
|
case 'vmess': {
|
|
139
170
|
// istanbul ignore next
|
|
140
171
|
if (item.network && !['tcp', 'ws'].includes(item.network)) {
|
|
141
172
|
logger.warn(`不支持从 Clash 订阅中读取 network 类型为 ${item.network} 的 Vmess 节点,节点 ${item.name} 会被省略`);
|
|
142
|
-
return
|
|
173
|
+
return undefined;
|
|
143
174
|
}
|
|
144
175
|
const isNewConfig = 'ws-opts' in item;
|
|
145
176
|
const wsHeaders = isNewConfig
|
|
@@ -152,18 +183,31 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
|
|
|
152
183
|
path: lodash_1.default.get(item, 'ws-path', '/'),
|
|
153
184
|
headers: wsHeaders,
|
|
154
185
|
};
|
|
155
|
-
return
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
:
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
186
|
+
return {
|
|
187
|
+
type: types_1.NodeTypeEnum.Vmess,
|
|
188
|
+
nodeName: item.name,
|
|
189
|
+
hostname: item.server,
|
|
190
|
+
port: item.port,
|
|
191
|
+
uuid: item.uuid,
|
|
192
|
+
alterId: item.alterId ? `${item.alterId}` : '0',
|
|
193
|
+
method: item.cipher || 'auto',
|
|
194
|
+
udpRelay: resolveUdpRelay(item.udp, udpRelay),
|
|
195
|
+
tls: item.tls ?? false,
|
|
196
|
+
network: item.network || 'tcp',
|
|
197
|
+
...(item.network === 'ws'
|
|
198
|
+
? {
|
|
199
|
+
host: wsHost,
|
|
200
|
+
path: lodash_1.default.get(wsOpts, 'path', '/'),
|
|
201
|
+
wsHeaders,
|
|
202
|
+
}
|
|
203
|
+
: null),
|
|
204
|
+
...(item.tls
|
|
205
|
+
? {
|
|
206
|
+
skipCertVerify: item['skip-cert-verify'] === true,
|
|
207
|
+
tls13: tls13 ?? false,
|
|
208
|
+
}
|
|
209
|
+
: null),
|
|
210
|
+
};
|
|
167
211
|
}
|
|
168
212
|
case 'http':
|
|
169
213
|
if (!item.tls) {
|
|
@@ -183,13 +227,22 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
|
|
|
183
227
|
port: item.port,
|
|
184
228
|
username: item.username || '',
|
|
185
229
|
password: item.password || '',
|
|
186
|
-
tls13: tls13
|
|
230
|
+
tls13: tls13 ?? false,
|
|
187
231
|
skipCertVerify: item['skip-cert-verify'] === true,
|
|
188
232
|
};
|
|
189
233
|
case 'snell':
|
|
190
|
-
return
|
|
191
|
-
|
|
192
|
-
:
|
|
234
|
+
return {
|
|
235
|
+
type: types_1.NodeTypeEnum.Snell,
|
|
236
|
+
nodeName: item.name,
|
|
237
|
+
hostname: item.server,
|
|
238
|
+
port: item.port,
|
|
239
|
+
psk: item.psk,
|
|
240
|
+
obfs: lodash_1.default.get(item, 'obfs-opts.mode', 'http'),
|
|
241
|
+
...(typeof item?.['obfs-opts']?.host !== 'undefined'
|
|
242
|
+
? { obfsHost: item['obfs-opts'].host }
|
|
243
|
+
: null),
|
|
244
|
+
...('version' in item ? { version: item.version } : null),
|
|
245
|
+
};
|
|
193
246
|
// istanbul ignore next
|
|
194
247
|
case 'ssr':
|
|
195
248
|
return {
|
|
@@ -199,30 +252,69 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
|
|
|
199
252
|
port: item.port,
|
|
200
253
|
password: item.password,
|
|
201
254
|
obfs: item.obfs,
|
|
202
|
-
obfsparam:
|
|
255
|
+
obfsparam: item['obfs-param'] ?? item.obfsparam,
|
|
203
256
|
protocol: item.protocol,
|
|
204
|
-
protoparam:
|
|
257
|
+
protoparam: item['protocol-param'] ?? item.protocolparam,
|
|
205
258
|
method: item.cipher,
|
|
206
|
-
|
|
259
|
+
udpRelay: resolveUdpRelay(item.udp, udpRelay),
|
|
207
260
|
};
|
|
208
261
|
case 'trojan': {
|
|
209
262
|
const network = item.network;
|
|
210
263
|
const wsOpts = lodash_1.default.get(item, 'ws-opts', {});
|
|
211
264
|
const wsHeaders = (0, utils_1.lowercaseHeaderKeys)(lodash_1.default.get(wsOpts, 'headers', {}));
|
|
212
|
-
return
|
|
213
|
-
|
|
214
|
-
:
|
|
215
|
-
|
|
216
|
-
:
|
|
265
|
+
return {
|
|
266
|
+
type: types_1.NodeTypeEnum.Trojan,
|
|
267
|
+
nodeName: item.name,
|
|
268
|
+
hostname: item.server,
|
|
269
|
+
port: item.port,
|
|
270
|
+
password: item.password,
|
|
271
|
+
...('skip-cert-verify' in item
|
|
272
|
+
? { skipCertVerify: item['skip-cert-verify'] === true }
|
|
273
|
+
: null),
|
|
274
|
+
...('alpn' in item ? { alpn: item.alpn } : null),
|
|
275
|
+
...('sni' in item ? { sni: item.sni } : null),
|
|
276
|
+
udpRelay: resolveUdpRelay(item.udp, udpRelay),
|
|
277
|
+
tls13: tls13 ?? false,
|
|
278
|
+
...(network === 'ws'
|
|
279
|
+
? { network: 'ws', wsPath: lodash_1.default.get(wsOpts, 'path', '/'), wsHeaders }
|
|
280
|
+
: null),
|
|
281
|
+
};
|
|
217
282
|
}
|
|
218
283
|
case 'tuic': {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
284
|
+
if (item.version >= 5) {
|
|
285
|
+
return {
|
|
286
|
+
type: types_1.NodeTypeEnum.Tuic,
|
|
287
|
+
version: item.version,
|
|
288
|
+
nodeName: item.name,
|
|
289
|
+
hostname: item.server,
|
|
290
|
+
port: item.port,
|
|
291
|
+
password: item.password,
|
|
292
|
+
uuid: item.uuid,
|
|
293
|
+
...('skip-cert-verify' in item
|
|
294
|
+
? { skipCertVerify: item['skip-cert-verify'] === true }
|
|
295
|
+
: null),
|
|
296
|
+
tls13: tls13 ?? false,
|
|
297
|
+
...('sni' in item ? { sni: item.sni } : null),
|
|
298
|
+
...('alpn' in item ? { alpn: item.alpn } : null),
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
return {
|
|
302
|
+
type: types_1.NodeTypeEnum.Tuic,
|
|
303
|
+
nodeName: item.name,
|
|
304
|
+
hostname: item.server,
|
|
305
|
+
port: item.port,
|
|
306
|
+
token: item.token,
|
|
307
|
+
...('skip-cert-verify' in item
|
|
308
|
+
? { skipCertVerify: item['skip-cert-verify'] === true }
|
|
309
|
+
: null),
|
|
310
|
+
tls13: tls13 ?? false,
|
|
311
|
+
...('sni' in item ? { sni: item.sni } : null),
|
|
312
|
+
...('alpn' in item ? { alpn: item.alpn } : null),
|
|
313
|
+
};
|
|
222
314
|
}
|
|
223
315
|
default:
|
|
224
316
|
logger.warn(`不支持从 Clash 订阅中读取 ${item.type} 的节点,节点 ${item.name} 会被省略`);
|
|
225
|
-
return
|
|
317
|
+
return undefined;
|
|
226
318
|
}
|
|
227
319
|
});
|
|
228
320
|
return nodeList.filter((item) => item !== undefined);
|
|
@@ -234,4 +326,4 @@ function resolveUdpRelay(val, defaultVal = false) {
|
|
|
234
326
|
}
|
|
235
327
|
return defaultVal;
|
|
236
328
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLG9EQUF1QjtBQUN2QiwyQ0FBOEM7QUFFOUMsb0NBWWtCO0FBQ2xCLG9DQUErQztBQUMvQyxnREFBc0Q7QUFDdEQsMkVBQWtEO0FBQ2xELDBEQUFrQztBQVlsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHNCQUFzQjtDQUNoQyxDQUFDLENBQUM7QUFFSCxNQUFxQixhQUFjLFNBQVEsa0JBQVE7SUFLakQsWUFBWSxJQUFZLEVBQUUsTUFBMkI7UUFDbkQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixLQUFLLEVBQUUsYUFBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUMzQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FB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
|
|
329
|
+
//# sourceMappingURL=ClashProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClashProvider.js","sourceRoot":"","sources":["../../src/provider/ClashProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { CustomProviderConfig
|
|
1
|
+
import { CustomProviderConfig } from '../types';
|
|
2
2
|
import Provider from './Provider';
|
|
3
|
+
import { GetNodeListFunction, GetNodeListParams } from './types';
|
|
3
4
|
export default class CustomProvider extends Provider {
|
|
4
|
-
readonly nodeList:
|
|
5
|
+
readonly nodeList: unknown[] | ((params: GetNodeListParams) => Promise<unknown[]>);
|
|
5
6
|
readonly underlyingProxy?: string;
|
|
6
7
|
constructor(name: string, config: CustomProviderConfig);
|
|
7
|
-
getNodeList
|
|
8
|
+
getNodeList: GetNodeListFunction;
|
|
8
9
|
}
|
|
@@ -3,70 +3,114 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
7
|
const types_1 = require("../types");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
8
9
|
const Provider_1 = __importDefault(require("./Provider"));
|
|
10
|
+
const validators_1 = require("../validators");
|
|
9
11
|
class CustomProvider extends Provider_1.default {
|
|
12
|
+
nodeList;
|
|
13
|
+
underlyingProxy;
|
|
10
14
|
constructor(name, config) {
|
|
11
15
|
super(name, config);
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
.
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
shadowTls: joi_1.default.object({
|
|
21
|
-
password: joi_1.default.string().required(),
|
|
22
|
-
sni: joi_1.default.string(),
|
|
23
|
-
version: joi_1.default.string(),
|
|
24
|
-
}),
|
|
25
|
-
binPath: joi_1.default.string(),
|
|
26
|
-
localPort: joi_1.default.number(),
|
|
27
|
-
underlyingProxy: joi_1.default.string(),
|
|
28
|
-
skipCertVerify: joi_1.default.boolean().strict(),
|
|
29
|
-
sni: joi_1.default.string(),
|
|
30
|
-
alpn: joi_1.default.array().items(joi_1.default.string()),
|
|
31
|
-
serverCertFingerprintSha256: joi_1.default.string(),
|
|
32
|
-
}).unknown();
|
|
33
|
-
const schema = joi_1.default.object({
|
|
34
|
-
nodeList: joi_1.default.array().items(nodeSchema).required(),
|
|
35
|
-
underlyingProxy: joi_1.default.string(),
|
|
36
|
-
}).unknown();
|
|
37
|
-
const { error, value } = schema.validate(config);
|
|
16
|
+
const schema = zod_1.z.object({
|
|
17
|
+
nodeList: zod_1.z.union([
|
|
18
|
+
zod_1.z.array(zod_1.z.any()),
|
|
19
|
+
zod_1.z.function().args(zod_1.z.any()).returns(zod_1.z.any()),
|
|
20
|
+
]),
|
|
21
|
+
underlyingProxy: zod_1.z.ostring(),
|
|
22
|
+
});
|
|
23
|
+
const result = schema.safeParse(config);
|
|
38
24
|
// istanbul ignore next
|
|
39
|
-
if (
|
|
40
|
-
throw
|
|
25
|
+
if (!result.success) {
|
|
26
|
+
throw new utils_1.SurgioError('CustomProvider 配置校验失败', {
|
|
27
|
+
cause: result.error,
|
|
28
|
+
providerName: name,
|
|
29
|
+
});
|
|
41
30
|
}
|
|
42
|
-
this.nodeList =
|
|
43
|
-
this.underlyingProxy =
|
|
31
|
+
this.nodeList = result.data.nodeList;
|
|
32
|
+
this.underlyingProxy = result.data.underlyingProxy;
|
|
44
33
|
}
|
|
45
|
-
async
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
getNodeList = async (params = {}) => {
|
|
35
|
+
let nodeList;
|
|
36
|
+
const parsedNodeList = [];
|
|
37
|
+
if (typeof this.nodeList === 'function') {
|
|
38
|
+
nodeList = await this.nodeList(params);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
nodeList = this.nodeList;
|
|
42
|
+
}
|
|
43
|
+
nodeList.forEach((node, index) => {
|
|
44
|
+
try {
|
|
45
|
+
const type = node.type;
|
|
46
|
+
// istanbul ignore next
|
|
47
|
+
if (node['udp-relay']) {
|
|
48
|
+
throw new Error('udp-relay 已废弃, 请使用 udpRelay');
|
|
49
|
+
}
|
|
50
|
+
// istanbul ignore next
|
|
51
|
+
if (node['obfs-host']) {
|
|
52
|
+
throw new Error('obfs-host 已废弃, 请使用 obfsHost');
|
|
53
|
+
}
|
|
54
|
+
// istanbul ignore next
|
|
55
|
+
if (node['obfs-uri']) {
|
|
56
|
+
throw new Error('obfs-uri 已废弃, 请使用 obfsUri');
|
|
57
|
+
}
|
|
58
|
+
const parsedNode = (() => {
|
|
59
|
+
switch (type) {
|
|
60
|
+
case types_1.NodeTypeEnum.Shadowsocks:
|
|
61
|
+
return validators_1.ShadowsocksNodeConfigValidator.parse(node);
|
|
62
|
+
case types_1.NodeTypeEnum.Shadowsocksr:
|
|
63
|
+
return validators_1.ShadowsocksrNodeConfigValidator.parse(node);
|
|
64
|
+
case types_1.NodeTypeEnum.Vmess:
|
|
65
|
+
return validators_1.VmessNodeConfigValidator.parse(node);
|
|
66
|
+
case types_1.NodeTypeEnum.Trojan:
|
|
67
|
+
return validators_1.TrojanNodeConfigValidator.parse(node);
|
|
68
|
+
case types_1.NodeTypeEnum.Socks5:
|
|
69
|
+
return validators_1.Socks5NodeConfigValidator.parse(node);
|
|
70
|
+
case types_1.NodeTypeEnum.HTTP:
|
|
71
|
+
return validators_1.HttpNodeConfigValidator.parse(node);
|
|
72
|
+
case types_1.NodeTypeEnum.HTTPS:
|
|
73
|
+
return validators_1.HttpsNodeConfigValidator.parse(node);
|
|
74
|
+
case types_1.NodeTypeEnum.Snell:
|
|
75
|
+
return validators_1.SnellNodeConfigValidator.parse(node);
|
|
76
|
+
case types_1.NodeTypeEnum.Tuic:
|
|
77
|
+
return validators_1.TuicNodeConfigValidator.parse(node);
|
|
78
|
+
case types_1.NodeTypeEnum.Wireguard:
|
|
79
|
+
return validators_1.WireguardNodeConfigValidator.parse(node);
|
|
80
|
+
default:
|
|
81
|
+
throw new TypeError(`无法识别的节点类型:${type}`);
|
|
82
|
+
}
|
|
83
|
+
})();
|
|
84
|
+
const propertyKeysMustBeLowercase = ['wsHeaders'];
|
|
85
|
+
if (this.underlyingProxy && !parsedNode.underlyingProxy) {
|
|
86
|
+
parsedNode.underlyingProxy = this.underlyingProxy;
|
|
87
|
+
}
|
|
88
|
+
propertyKeysMustBeLowercase.forEach((key) => {
|
|
89
|
+
if (key in parsedNode && parsedNode[key] !== undefined) {
|
|
90
|
+
parsedNode[key] = Object.keys(parsedNode[key]).reduce((acc, curr) => {
|
|
91
|
+
acc[curr.toLowerCase()] = parsedNode[key][curr];
|
|
92
|
+
return acc;
|
|
93
|
+
}, {});
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
parsedNodeList.push(parsedNode);
|
|
55
97
|
}
|
|
56
|
-
|
|
57
|
-
|
|
98
|
+
catch (err) {
|
|
99
|
+
throw new utils_1.SurgioError('节点配置校验失败', {
|
|
100
|
+
providerName: this.name,
|
|
101
|
+
nodeIndex: index,
|
|
102
|
+
cause: err,
|
|
103
|
+
});
|
|
58
104
|
}
|
|
59
|
-
lowercaseKeys.forEach((key) => {
|
|
60
|
-
if (item[key]) {
|
|
61
|
-
item[key] = Object.keys(item[key]).reduce((acc, curr) => {
|
|
62
|
-
acc[curr.toLowerCase()] = item[key][curr];
|
|
63
|
-
return acc;
|
|
64
|
-
}, {});
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
return item;
|
|
68
105
|
});
|
|
69
|
-
|
|
106
|
+
if (this.config.hooks?.afterNodeListResponse) {
|
|
107
|
+
const newList = await this.config.hooks.afterNodeListResponse(parsedNodeList, params);
|
|
108
|
+
if (newList) {
|
|
109
|
+
return newList;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return parsedNodeList;
|
|
113
|
+
};
|
|
70
114
|
}
|
|
71
115
|
exports.default = CustomProvider;
|
|
72
|
-
//# sourceMappingURL=
|
|
116
|
+
//# sourceMappingURL=CustomProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomProvider.js","sourceRoot":"","sources":["../../src/provider/CustomProvider.ts"],"names":[],"mappings":"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"}
|