surgio 3.11.2 → 3.12.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/bin/dev +0 -0
- package/package.json +69 -75
- package/build/base-command.d.ts +0 -20
- package/build/base-command.js +0 -75
- package/build/base-command.js.map +0 -1
- package/build/commands/check.d.ts +0 -10
- package/build/commands/check.js +0 -87
- package/build/commands/check.js.map +0 -1
- package/build/commands/clean-cache.d.ts +0 -6
- package/build/commands/clean-cache.js +0 -28
- package/build/commands/clean-cache.js.map +0 -1
- package/build/commands/doctor.d.ts +0 -6
- package/build/commands/doctor.js +0 -20
- package/build/commands/doctor.js.map +0 -1
- package/build/commands/generate.d.ts +0 -7
- package/build/commands/generate.js +0 -94
- package/build/commands/generate.js.map +0 -1
- package/build/commands/lint.d.ts +0 -6
- package/build/commands/lint.js +0 -37
- package/build/commands/lint.js.map +0 -1
- package/build/commands/new.d.ts +0 -6
- package/build/commands/new.js +0 -37
- package/build/commands/new.js.map +0 -1
- package/build/commands/subscriptions.d.ts +0 -7
- package/build/commands/subscriptions.js +0 -95
- package/build/commands/subscriptions.js.map +0 -1
- package/build/commands/upload.d.ts +0 -6
- package/build/commands/upload.js +0 -91
- package/build/commands/upload.js.map +0 -1
- package/build/config.d.ts +0 -6
- package/build/config.js +0 -156
- package/build/config.js.map +0 -1
- package/build/configurables.d.ts +0 -88
- package/build/configurables.js +0 -52
- package/build/configurables.js.map +0 -1
- package/build/constant/constant.d.ts +0 -36
- package/build/constant/constant.js +0 -160
- package/build/constant/constant.js.map +0 -1
- package/build/constant/env.d.ts +0 -9
- package/build/constant/env.js +0 -13
- package/build/constant/env.js.map +0 -1
- package/build/constant/error.d.ts +0 -1
- package/build/constant/error.js +0 -5
- package/build/constant/error.js.map +0 -1
- package/build/constant/index.d.ts +0 -3
- package/build/constant/index.js +0 -20
- package/build/constant/index.js.map +0 -1
- package/build/filters/classes.d.ts +0 -13
- package/build/filters/classes.js +0 -42
- package/build/filters/classes.js.map +0 -1
- package/build/filters/filters.d.ts +0 -25
- package/build/filters/filters.js +0 -107
- package/build/filters/filters.js.map +0 -1
- package/build/filters/index.d.ts +0 -2
- package/build/filters/index.js +0 -32
- package/build/filters/index.js.map +0 -1
- package/build/filters/utils.d.ts +0 -16
- package/build/filters/utils.js +0 -159
- package/build/filters/utils.js.map +0 -1
- package/build/generator/artifact.d.ts +0 -142
- package/build/generator/artifact.js +0 -370
- package/build/generator/artifact.js.map +0 -1
- package/build/generator/index.d.ts +0 -3
- package/build/generator/index.js +0 -25
- package/build/generator/index.js.map +0 -1
- package/build/generator/json-template.d.ts +0 -11
- package/build/generator/json-template.js +0 -66
- package/build/generator/json-template.js.map +0 -1
- package/build/generator/template.d.ts +0 -8
- package/build/generator/template.js +0 -234
- package/build/generator/template.js.map +0 -1
- package/build/hooks/init.d.ts +0 -3
- package/build/hooks/init.js +0 -33
- package/build/hooks/init.js.map +0 -1
- package/build/index.d.ts +0 -85
- package/build/index.js +0 -64
- package/build/index.js.map +0 -1
- package/build/internal.d.ts +0 -5
- package/build/internal.js +0 -25
- package/build/internal.js.map +0 -1
- package/build/misc/deprecation.d.ts +0 -0
- package/build/misc/deprecation.js +0 -2
- package/build/misc/deprecation.js.map +0 -1
- package/build/misc/flag_cn.d.ts +0 -56
- package/build/misc/flag_cn.js +0 -154
- package/build/misc/flag_cn.js.map +0 -1
- package/build/provider/BlackSSLProvider.d.ts +0 -11
- package/build/provider/BlackSSLProvider.js +0 -93
- package/build/provider/BlackSSLProvider.js.map +0 -1
- package/build/provider/ClashProvider.d.ts +0 -24
- package/build/provider/ClashProvider.js +0 -476
- package/build/provider/ClashProvider.js.map +0 -1
- package/build/provider/CustomProvider.d.ts +0 -10
- package/build/provider/CustomProvider.js +0 -144
- package/build/provider/CustomProvider.js.map +0 -1
- package/build/provider/Provider.d.ts +0 -17
- package/build/provider/Provider.js +0 -111
- package/build/provider/Provider.js.map +0 -1
- package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -11
- package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -86
- package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
- package/build/provider/ShadowsocksSubscribeProvider.d.ts +0 -18
- package/build/provider/ShadowsocksSubscribeProvider.js +0 -84
- package/build/provider/ShadowsocksSubscribeProvider.js.map +0 -1
- package/build/provider/ShadowsocksrSubscribeProvider.d.ts +0 -15
- package/build/provider/ShadowsocksrSubscribeProvider.js +0 -93
- package/build/provider/ShadowsocksrSubscribeProvider.js.map +0 -1
- package/build/provider/SsdProvider.d.ts +0 -39
- package/build/provider/SsdProvider.js +0 -138
- package/build/provider/SsdProvider.js.map +0 -1
- package/build/provider/TrojanProvider.d.ts +0 -24
- package/build/provider/TrojanProvider.js +0 -98
- package/build/provider/TrojanProvider.js.map +0 -1
- package/build/provider/V2rayNSubscribeProvider.d.ts +0 -25
- package/build/provider/V2rayNSubscribeProvider.js +0 -181
- package/build/provider/V2rayNSubscribeProvider.js.map +0 -1
- package/build/provider/index.d.ts +0 -17
- package/build/provider/index.js +0 -54
- package/build/provider/index.js.map +0 -1
- package/build/provider/types.d.ts +0 -18
- package/build/provider/types.js +0 -3
- package/build/provider/types.js.map +0 -1
- package/build/redis.d.ts +0 -9
- package/build/redis.js +0 -63
- package/build/redis.js.map +0 -1
- package/build/types.d.ts +0 -138
- package/build/types.js +0 -31
- package/build/types.js.map +0 -1
- package/build/utils/cache.d.ts +0 -23
- package/build/utils/cache.js +0 -98
- package/build/utils/cache.js.map +0 -1
- package/build/utils/clash.d.ts +0 -3
- package/build/utils/clash.js +0 -448
- package/build/utils/clash.js.map +0 -1
- package/build/utils/constant.d.ts +0 -1
- package/build/utils/constant.js +0 -19
- package/build/utils/constant.js.map +0 -1
- package/build/utils/dns.d.ts +0 -4
- package/build/utils/dns.js +0 -51
- package/build/utils/dns.js.map +0 -1
- package/build/utils/doctor.d.ts +0 -2
- package/build/utils/doctor.js +0 -38
- package/build/utils/doctor.js.map +0 -1
- package/build/utils/env-flag.d.ts +0 -9
- package/build/utils/env-flag.js +0 -41
- package/build/utils/env-flag.js.map +0 -1
- package/build/utils/error-helper.d.ts +0 -2
- package/build/utils/error-helper.js +0 -62
- package/build/utils/error-helper.js.map +0 -1
- package/build/utils/errors.d.ts +0 -19
- package/build/utils/errors.js +0 -60
- package/build/utils/errors.js.map +0 -1
- package/build/utils/flag.d.ts +0 -3
- package/build/utils/flag.js +0 -79
- package/build/utils/flag.js.map +0 -1
- package/build/utils/http-client.d.ts +0 -3
- package/build/utils/http-client.js +0 -82
- package/build/utils/http-client.js.map +0 -1
- package/build/utils/index.d.ts +0 -90
- package/build/utils/index.js +0 -529
- package/build/utils/index.js.map +0 -1
- package/build/utils/linter.d.ts +0 -4
- package/build/utils/linter.js +0 -49
- package/build/utils/linter.js.map +0 -1
- package/build/utils/loon.d.ts +0 -3
- package/build/utils/loon.js +0 -236
- package/build/utils/loon.js.map +0 -1
- package/build/utils/quantumult.d.ts +0 -6
- package/build/utils/quantumult.js +0 -240
- package/build/utils/quantumult.js.map +0 -1
- package/build/utils/relayable-url.d.ts +0 -1
- package/build/utils/relayable-url.js +0 -18
- package/build/utils/relayable-url.js.map +0 -1
- package/build/utils/remote-snippet.d.ts +0 -8
- package/build/utils/remote-snippet.js +0 -198
- package/build/utils/remote-snippet.js.map +0 -1
- package/build/utils/singbox.d.ts +0 -3
- package/build/utils/singbox.js +0 -377
- package/build/utils/singbox.js.map +0 -1
- package/build/utils/ss.d.ts +0 -3
- package/build/utils/ss.js +0 -97
- package/build/utils/ss.js.map +0 -1
- package/build/utils/ssr.d.ts +0 -7
- package/build/utils/ssr.js +0 -53
- package/build/utils/ssr.js.map +0 -1
- package/build/utils/subscription.d.ts +0 -11
- package/build/utils/subscription.js +0 -68
- package/build/utils/subscription.js.map +0 -1
- package/build/utils/surfboard.d.ts +0 -7
- package/build/utils/surfboard.js +0 -184
- package/build/utils/surfboard.js.map +0 -1
- package/build/utils/surge.d.ts +0 -8
- package/build/utils/surge.js +0 -407
- package/build/utils/surge.js.map +0 -1
- package/build/utils/time.d.ts +0 -1
- package/build/utils/time.js +0 -6
- package/build/utils/time.js.map +0 -1
- package/build/utils/tmp-helper.d.ts +0 -30
- package/build/utils/tmp-helper.js +0 -102
- package/build/utils/tmp-helper.js.map +0 -1
- package/build/utils/trojan.d.ts +0 -2
- package/build/utils/trojan.js +0 -38
- package/build/utils/trojan.js.map +0 -1
- package/build/utils/useragent.d.ts +0 -18
- package/build/utils/useragent.js +0 -210
- package/build/utils/useragent.js.map +0 -1
- package/build/validators/artifact.d.ts +0 -44
- package/build/validators/artifact.js +0 -26
- package/build/validators/artifact.js.map +0 -1
- package/build/validators/common.d.ts +0 -377
- package/build/validators/common.js +0 -106
- package/build/validators/common.js.map +0 -1
- package/build/validators/filter.d.ts +0 -10
- package/build/validators/filter.js +0 -15
- package/build/validators/filter.js.map +0 -1
- package/build/validators/hooks.d.ts +0 -9
- package/build/validators/hooks.js +0 -11
- package/build/validators/hooks.js.map +0 -1
- package/build/validators/http.d.ts +0 -366
- package/build/validators/http.js +0 -23
- package/build/validators/http.js.map +0 -1
- package/build/validators/hysteria2.d.ts +0 -196
- package/build/validators/hysteria2.js +0 -15
- package/build/validators/hysteria2.js.map +0 -1
- package/build/validators/index.d.ts +0 -17
- package/build/validators/index.js +0 -34
- package/build/validators/index.js.map +0 -1
- package/build/validators/provider.d.ts +0 -120
- package/build/validators/provider.js +0 -46
- package/build/validators/provider.js.map +0 -1
- package/build/validators/shadowsocks.d.ts +0 -252
- package/build/validators/shadowsocks.js +0 -31
- package/build/validators/shadowsocks.js.map +0 -1
- package/build/validators/shadowsocksr.d.ts +0 -184
- package/build/validators/shadowsocksr.js +0 -19
- package/build/validators/shadowsocksr.js.map +0 -1
- package/build/validators/snell.d.ts +0 -178
- package/build/validators/snell.js +0 -17
- package/build/validators/snell.js.map +0 -1
- package/build/validators/socks5.d.ts +0 -196
- package/build/validators/socks5.js +0 -15
- package/build/validators/socks5.js.map +0 -1
- package/build/validators/surgio-config.d.ts +0 -387
- package/build/validators/surgio-config.js +0 -101
- package/build/validators/surgio-config.js.map +0 -1
- package/build/validators/trojan.d.ts +0 -255
- package/build/validators/trojan.js +0 -16
- package/build/validators/trojan.js.map +0 -1
- package/build/validators/tuic.d.ts +0 -741
- package/build/validators/tuic.js +0 -21
- package/build/validators/tuic.js.map +0 -1
- package/build/validators/vless.d.ts +0 -389
- package/build/validators/vless.js +0 -31
- package/build/validators/vless.js.map +0 -1
- package/build/validators/vmess.d.ts +0 -425
- package/build/validators/vmess.js +0 -86
- package/build/validators/vmess.js.map +0 -1
- package/build/validators/wireguard.d.ts +0 -230
- package/build/validators/wireguard.js +0 -26
- package/build/validators/wireguard.js.map +0 -1
package/build/utils/loon.js
DELETED
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getLoonNodeNames = exports.getLoonNodes = void 0;
|
|
7
|
-
const net_1 = require("net");
|
|
8
|
-
const logger_1 = require("@surgio/logger");
|
|
9
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
-
const types_1 = require("../types");
|
|
11
|
-
const constant_1 = require("../constant");
|
|
12
|
-
const filters_1 = require("../filters");
|
|
13
|
-
const index_1 = require("./index");
|
|
14
|
-
const { httpFilter, httpsFilter, shadowsocksFilter, shadowsocksrFilter, trojanFilter, vmessFilter, wireguardFilter, vlessFilter, } = filters_1.internalFilters;
|
|
15
|
-
const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:loon' });
|
|
16
|
-
// https://nsloon.app/docs/Node/#%E8%8A%82%E7%82%B9%E6%A0%BC%E5%BC%8F
|
|
17
|
-
const getLoonNodes = function (list, filter) {
|
|
18
|
-
if (arguments.length === 2 && typeof filter === 'undefined') {
|
|
19
|
-
throw new Error(constant_1.ERR_INVALID_FILTER);
|
|
20
|
-
}
|
|
21
|
-
const result = (0, filters_1.applyFilter)(list, filter)
|
|
22
|
-
.map((nodeConfig) => {
|
|
23
|
-
switch (nodeConfig.type) {
|
|
24
|
-
case types_1.NodeTypeEnum.Shadowsocks: {
|
|
25
|
-
const config = [
|
|
26
|
-
`${nodeConfig.nodeName} = Shadowsocks`,
|
|
27
|
-
nodeConfig.hostname,
|
|
28
|
-
nodeConfig.port,
|
|
29
|
-
nodeConfig.method,
|
|
30
|
-
JSON.stringify(nodeConfig.password),
|
|
31
|
-
];
|
|
32
|
-
if (nodeConfig.obfs) {
|
|
33
|
-
if (['http', 'tls'].includes(nodeConfig.obfs)) {
|
|
34
|
-
config.push(nodeConfig.obfs, nodeConfig.obfsHost || nodeConfig.hostname);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logger.warn(`不支持为 Loon 生成混淆为 ${nodeConfig.obfs} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
|
|
38
|
-
return void 0;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (nodeConfig.tfo) {
|
|
42
|
-
config.push('fast-open=true');
|
|
43
|
-
}
|
|
44
|
-
if (nodeConfig.udpRelay) {
|
|
45
|
-
config.push('udp=true');
|
|
46
|
-
}
|
|
47
|
-
return config.join(',');
|
|
48
|
-
}
|
|
49
|
-
case types_1.NodeTypeEnum.Shadowsocksr: {
|
|
50
|
-
const config = [
|
|
51
|
-
`${nodeConfig.nodeName} = ShadowsocksR`,
|
|
52
|
-
nodeConfig.hostname,
|
|
53
|
-
nodeConfig.port,
|
|
54
|
-
nodeConfig.method,
|
|
55
|
-
JSON.stringify(nodeConfig.password),
|
|
56
|
-
`protocol=${nodeConfig.protocol}`,
|
|
57
|
-
`protocol-param=${nodeConfig.protoparam}`,
|
|
58
|
-
`obfs=${nodeConfig.obfs}`,
|
|
59
|
-
`obfs-param=${nodeConfig.obfsparam}`,
|
|
60
|
-
];
|
|
61
|
-
if (nodeConfig.tfo) {
|
|
62
|
-
config.push('fast-open=true');
|
|
63
|
-
}
|
|
64
|
-
if (nodeConfig.udpRelay) {
|
|
65
|
-
config.push('udp=true');
|
|
66
|
-
}
|
|
67
|
-
return config.join(',');
|
|
68
|
-
}
|
|
69
|
-
case types_1.NodeTypeEnum.Vless:
|
|
70
|
-
case types_1.NodeTypeEnum.Vmess: {
|
|
71
|
-
if (!constant_1.LOON_SUPPORTED_VMESS_NETWORK.includes(nodeConfig.network)) {
|
|
72
|
-
logger.warn(`Loon 不支持 ${nodeConfig.network} 的 ${nodeConfig.type.toUpperCase()} 节点,节点 ${nodeConfig.nodeName} 会被省略`);
|
|
73
|
-
return void 0;
|
|
74
|
-
}
|
|
75
|
-
const config = [
|
|
76
|
-
`${nodeConfig.nodeName} = ${nodeConfig.type === types_1.NodeTypeEnum.Vmess ? 'vmess' : 'VLESS'}`,
|
|
77
|
-
nodeConfig.hostname,
|
|
78
|
-
nodeConfig.port,
|
|
79
|
-
];
|
|
80
|
-
if (nodeConfig.type === types_1.NodeTypeEnum.Vmess) {
|
|
81
|
-
config.push(nodeConfig.method === 'auto'
|
|
82
|
-
? `chacha20-poly1305`
|
|
83
|
-
: nodeConfig.method);
|
|
84
|
-
}
|
|
85
|
-
config.push(JSON.stringify(nodeConfig.uuid), `transport=${nodeConfig.network}`);
|
|
86
|
-
if (nodeConfig.network === 'ws' && nodeConfig.wsOpts) {
|
|
87
|
-
const obfsHost = (0, index_1.getHeader)(nodeConfig.wsOpts.headers, 'Host');
|
|
88
|
-
config.push(`path=${nodeConfig.wsOpts.path || '/'}`);
|
|
89
|
-
if (obfsHost) {
|
|
90
|
-
config.push(`host=${obfsHost}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (nodeConfig.network === 'http' && nodeConfig.httpOpts) {
|
|
94
|
-
const obfsHost = (0, index_1.getHeader)(nodeConfig.httpOpts.headers, 'Host');
|
|
95
|
-
config.push(`path=${nodeConfig.httpOpts.path || '/'}`);
|
|
96
|
-
if (obfsHost) {
|
|
97
|
-
config.push(`host=${obfsHost}`);
|
|
98
|
-
}
|
|
99
|
-
// istanbul ignore next
|
|
100
|
-
if (nodeConfig.httpOpts.method !== 'GET') {
|
|
101
|
-
logger.warn(`Loon 不支持自定义 VMESS+HTTP 节点的 method 属性,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
|
|
105
|
-
nodeConfig.type === types_1.NodeTypeEnum.Vless) {
|
|
106
|
-
config.push(`over-tls=true`);
|
|
107
|
-
if (nodeConfig.sni) {
|
|
108
|
-
config.push(`tls-name=${nodeConfig.sni}`);
|
|
109
|
-
}
|
|
110
|
-
if (nodeConfig.skipCertVerify) {
|
|
111
|
-
config.push(`skip-cert-verify=true`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return config.join(',');
|
|
115
|
-
}
|
|
116
|
-
case types_1.NodeTypeEnum.Trojan: {
|
|
117
|
-
const config = [
|
|
118
|
-
`${nodeConfig.nodeName} = trojan`,
|
|
119
|
-
nodeConfig.hostname,
|
|
120
|
-
nodeConfig.port,
|
|
121
|
-
JSON.stringify(nodeConfig.password),
|
|
122
|
-
`tls-name=${nodeConfig.sni || nodeConfig.hostname}`,
|
|
123
|
-
`skip-cert-verify=${nodeConfig.skipCertVerify === true}`,
|
|
124
|
-
];
|
|
125
|
-
if (nodeConfig.network === 'ws') {
|
|
126
|
-
config.push('transport=ws', `path=${nodeConfig.wsPath || '/'}`);
|
|
127
|
-
if (nodeConfig.wsHeaders) {
|
|
128
|
-
if (lodash_1.default.get(nodeConfig, 'wsHeaders.host')) {
|
|
129
|
-
config.push(`host=${nodeConfig.wsHeaders.host}`);
|
|
130
|
-
}
|
|
131
|
-
if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, 'host')).length > 0) {
|
|
132
|
-
logger.warn(`Loon 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (nodeConfig.tfo) {
|
|
137
|
-
config.push('fast-open=true');
|
|
138
|
-
}
|
|
139
|
-
if (nodeConfig.udpRelay) {
|
|
140
|
-
config.push('udp=true');
|
|
141
|
-
}
|
|
142
|
-
return config.join(',');
|
|
143
|
-
}
|
|
144
|
-
case types_1.NodeTypeEnum.HTTPS: {
|
|
145
|
-
const config = [
|
|
146
|
-
`${nodeConfig.nodeName} = https`,
|
|
147
|
-
nodeConfig.hostname,
|
|
148
|
-
nodeConfig.port,
|
|
149
|
-
nodeConfig.username /* istanbul ignore next */ || '',
|
|
150
|
-
JSON.stringify(nodeConfig.password /* istanbul ignore next */ || ''),
|
|
151
|
-
`tls-name=${nodeConfig.sni || nodeConfig.hostname}`,
|
|
152
|
-
`skip-cert-verify=${nodeConfig.skipCertVerify === true}`,
|
|
153
|
-
];
|
|
154
|
-
return config.join(',');
|
|
155
|
-
}
|
|
156
|
-
case types_1.NodeTypeEnum.HTTP:
|
|
157
|
-
return [
|
|
158
|
-
`${nodeConfig.nodeName} = http`,
|
|
159
|
-
nodeConfig.hostname,
|
|
160
|
-
nodeConfig.port,
|
|
161
|
-
nodeConfig.username /* istanbul ignore next */ || '',
|
|
162
|
-
JSON.stringify(nodeConfig.password /* istanbul ignore next */ || ''),
|
|
163
|
-
].join(',');
|
|
164
|
-
case types_1.NodeTypeEnum.Wireguard: {
|
|
165
|
-
const config = [
|
|
166
|
-
`${nodeConfig.nodeName} = wireguard`,
|
|
167
|
-
`interface-ip=${nodeConfig.selfIp}`,
|
|
168
|
-
`private-key=${JSON.stringify(nodeConfig.privateKey)}`,
|
|
169
|
-
];
|
|
170
|
-
const peers = [];
|
|
171
|
-
if (nodeConfig.selfIpV6) {
|
|
172
|
-
config.push(`interface-ipV6=${nodeConfig.selfIpV6}`);
|
|
173
|
-
}
|
|
174
|
-
if (nodeConfig.mtu) {
|
|
175
|
-
config.push(`mtu=${nodeConfig.mtu}`);
|
|
176
|
-
}
|
|
177
|
-
if (nodeConfig.dnsServers) {
|
|
178
|
-
for (const dns of nodeConfig.dnsServers) {
|
|
179
|
-
if ((0, net_1.isIPv4)(dns)) {
|
|
180
|
-
config.push(`dns=${dns}`);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
config.push(`dnsV6=${dns}`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
if (nodeConfig.peers[0].keepalive) {
|
|
188
|
-
config.push(`keepalive=${nodeConfig.peers[0].keepalive}`);
|
|
189
|
-
}
|
|
190
|
-
for (const peer of nodeConfig.peers) {
|
|
191
|
-
const peerConfig = [
|
|
192
|
-
`public-key=${JSON.stringify(peer.publicKey)}`,
|
|
193
|
-
`endpoint=${peer.endpoint}`,
|
|
194
|
-
];
|
|
195
|
-
if (peer.allowedIps) {
|
|
196
|
-
peerConfig.push(`allowed-ips=${JSON.stringify(peer.allowedIps)}`);
|
|
197
|
-
}
|
|
198
|
-
if (peer.presharedKey) {
|
|
199
|
-
peerConfig.push(`preshared-key=${JSON.stringify(peer.presharedKey)}`);
|
|
200
|
-
}
|
|
201
|
-
if (peer.reservedBits) {
|
|
202
|
-
peerConfig.push(`reserved=${JSON.stringify(peer.reservedBits)}`);
|
|
203
|
-
}
|
|
204
|
-
peers.push(`{${peerConfig.join(',')}}`);
|
|
205
|
-
}
|
|
206
|
-
config.push(`peers=[${peers.join(',')}]`);
|
|
207
|
-
return config.join(',');
|
|
208
|
-
}
|
|
209
|
-
// istanbul ignore next
|
|
210
|
-
default:
|
|
211
|
-
logger.warn(`不支持为 Loon 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
|
|
212
|
-
return void 0;
|
|
213
|
-
}
|
|
214
|
-
})
|
|
215
|
-
.filter((item) => item !== undefined);
|
|
216
|
-
return result.join('\n');
|
|
217
|
-
};
|
|
218
|
-
exports.getLoonNodes = getLoonNodes;
|
|
219
|
-
const getLoonNodeNames = function (list, filter, separator) {
|
|
220
|
-
// istanbul ignore next
|
|
221
|
-
if (arguments.length === 2 && typeof filter === 'undefined') {
|
|
222
|
-
throw new Error(constant_1.ERR_INVALID_FILTER);
|
|
223
|
-
}
|
|
224
|
-
return (0, filters_1.applyFilter)(list.filter((item) => shadowsocksFilter(item) ||
|
|
225
|
-
shadowsocksrFilter(item) ||
|
|
226
|
-
vmessFilter(item) ||
|
|
227
|
-
httpFilter(item) ||
|
|
228
|
-
httpsFilter(item) ||
|
|
229
|
-
trojanFilter(item) ||
|
|
230
|
-
wireguardFilter(item) ||
|
|
231
|
-
vlessFilter(item)), filter)
|
|
232
|
-
.map((item) => item.nodeName)
|
|
233
|
-
.join(separator || ', ');
|
|
234
|
-
};
|
|
235
|
-
exports.getLoonNodeNames = getLoonNodeNames;
|
|
236
|
-
//# sourceMappingURL=loon.js.map
|
package/build/utils/loon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loon.js","sourceRoot":"","sources":["../../src/utils/loon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
|
|
4
|
-
*/
|
|
5
|
-
export declare const getQuantumultXNodes: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
|
|
6
|
-
export declare const getQuantumultXNodeNames: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getQuantumultXNodeNames = exports.getQuantumultXNodes = void 0;
|
|
7
|
-
const logger_1 = require("@surgio/logger");
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const constant_1 = require("../constant");
|
|
10
|
-
const types_1 = require("../types");
|
|
11
|
-
const filters_1 = require("../filters");
|
|
12
|
-
const index_1 = require("./index");
|
|
13
|
-
const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:quantumult' });
|
|
14
|
-
/**
|
|
15
|
-
* @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
|
|
16
|
-
*/
|
|
17
|
-
const getQuantumultXNodes = function (nodeList, filter) {
|
|
18
|
-
const result = (0, filters_1.applyFilter)(nodeList, filter)
|
|
19
|
-
.map(nodeListMapper)
|
|
20
|
-
.filter((item) => item !== undefined)
|
|
21
|
-
.map((item) => item[1]);
|
|
22
|
-
return result.join('\n');
|
|
23
|
-
};
|
|
24
|
-
exports.getQuantumultXNodes = getQuantumultXNodes;
|
|
25
|
-
const getQuantumultXNodeNames = function (nodeList, filter) {
|
|
26
|
-
return (0, filters_1.applyFilter)(nodeList, filter)
|
|
27
|
-
.map(nodeListMapper)
|
|
28
|
-
.filter((item) => item !== undefined)
|
|
29
|
-
.map((item) => item[0])
|
|
30
|
-
.join(', ');
|
|
31
|
-
};
|
|
32
|
-
exports.getQuantumultXNodeNames = getQuantumultXNodeNames;
|
|
33
|
-
function nodeListMapper(nodeConfig) {
|
|
34
|
-
switch (nodeConfig.type) {
|
|
35
|
-
case types_1.NodeTypeEnum.Vless:
|
|
36
|
-
case types_1.NodeTypeEnum.Vmess: {
|
|
37
|
-
if (!constant_1.QUANTUMULT_X_SUPPORTED_VMESS_NETWORK.includes(nodeConfig.network)) {
|
|
38
|
-
logger.warn(`Quantumult X 不支持 ${nodeConfig.network} 的 Vmess 节点,节点 ${nodeConfig.nodeName} 会被省略`);
|
|
39
|
-
return void 0;
|
|
40
|
-
}
|
|
41
|
-
const config = [
|
|
42
|
-
`${nodeConfig.hostname}:${nodeConfig.port}`,
|
|
43
|
-
// method 为 auto 时 qx 会无法识别
|
|
44
|
-
nodeConfig.method === 'auto'
|
|
45
|
-
? `method=chacha20-poly1305`
|
|
46
|
-
: `method=${nodeConfig.method}`,
|
|
47
|
-
`password=${nodeConfig.uuid}`,
|
|
48
|
-
...(nodeConfig.udpRelay ? ['udp-relay=true'] : []),
|
|
49
|
-
...(nodeConfig.tfo ? ['fast-open=true'] : []),
|
|
50
|
-
...(nodeConfig.quantumultXConfig?.vmessAEAD ? ['aead=true'] : []),
|
|
51
|
-
];
|
|
52
|
-
switch (nodeConfig.network) {
|
|
53
|
-
case 'ws':
|
|
54
|
-
if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
|
|
55
|
-
nodeConfig.type === types_1.NodeTypeEnum.Vless) {
|
|
56
|
-
config.push(`obfs=wss`);
|
|
57
|
-
// istanbul ignore next
|
|
58
|
-
if (nodeConfig.skipCertVerify) {
|
|
59
|
-
config.push('tls-verification=false');
|
|
60
|
-
}
|
|
61
|
-
// istanbul ignore next
|
|
62
|
-
if (nodeConfig.tls13) {
|
|
63
|
-
config.push(`tls13=true`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
config.push(`obfs=ws`);
|
|
68
|
-
}
|
|
69
|
-
if (nodeConfig.wsOpts) {
|
|
70
|
-
const obfsHost = (0, index_1.getHeader)(nodeConfig.wsOpts.headers, 'Host');
|
|
71
|
-
config.push(`obfs-uri=${nodeConfig.wsOpts.path || '/'}`);
|
|
72
|
-
if (obfsHost) {
|
|
73
|
-
config.push(`obfs-host=${obfsHost}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case 'tcp':
|
|
78
|
-
if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
|
|
79
|
-
nodeConfig.type === types_1.NodeTypeEnum.Vless) {
|
|
80
|
-
config.push(`obfs=over-tls`);
|
|
81
|
-
if (nodeConfig.skipCertVerify) {
|
|
82
|
-
config.push('tls-verification=false');
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
config.push('tls-verification=true');
|
|
86
|
-
}
|
|
87
|
-
// istanbul ignore next
|
|
88
|
-
if (nodeConfig.tls13) {
|
|
89
|
-
config.push(`tls13=true`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
break;
|
|
93
|
-
case 'http':
|
|
94
|
-
if (nodeConfig.httpOpts) {
|
|
95
|
-
const obfsHost = (0, index_1.getHeader)(nodeConfig.httpOpts.headers, 'Host');
|
|
96
|
-
config.push('obfs=http', `obfs-uri=${nodeConfig.httpOpts.path || '/'}`);
|
|
97
|
-
if (obfsHost) {
|
|
98
|
-
config.push(`obfs-host=${obfsHost}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (typeof nodeConfig.testUrl === 'string') {
|
|
103
|
-
config.push(`server_check_url=${nodeConfig['testUrl']}`);
|
|
104
|
-
}
|
|
105
|
-
config.push(`tag=${nodeConfig.nodeName}`);
|
|
106
|
-
// istanbul ignore next
|
|
107
|
-
if (nodeConfig.wsOpts?.headers &&
|
|
108
|
-
Object.keys(nodeConfig.wsOpts.headers).length > 1) {
|
|
109
|
-
logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
110
|
-
}
|
|
111
|
-
return [nodeConfig.nodeName, `${nodeConfig.type}=${config.join(', ')}`];
|
|
112
|
-
}
|
|
113
|
-
case types_1.NodeTypeEnum.Shadowsocks: {
|
|
114
|
-
const config = [
|
|
115
|
-
`${nodeConfig.hostname}:${nodeConfig.port}`,
|
|
116
|
-
...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
|
|
117
|
-
...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
|
|
118
|
-
? [`obfs=${nodeConfig.obfs}`, `obfs-host=${nodeConfig.obfsHost}`]
|
|
119
|
-
: []),
|
|
120
|
-
...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
|
|
121
|
-
? [
|
|
122
|
-
`obfs=${nodeConfig.obfs}`,
|
|
123
|
-
`obfs-host=${nodeConfig.obfsHost || nodeConfig.hostname}`,
|
|
124
|
-
`obfs-uri=${nodeConfig.obfsUri || '/'}`,
|
|
125
|
-
]
|
|
126
|
-
: []),
|
|
127
|
-
...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
|
|
128
|
-
...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
|
|
129
|
-
];
|
|
130
|
-
if (nodeConfig.obfs === 'wss') {
|
|
131
|
-
if (nodeConfig.skipCertVerify) {
|
|
132
|
-
config.push('tls-verification=false');
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
config.push('tls-verification=true');
|
|
136
|
-
}
|
|
137
|
-
if (nodeConfig.tls13) {
|
|
138
|
-
config.push('tls13=true');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
// istanbul ignore next
|
|
142
|
-
if (nodeConfig.wsHeaders &&
|
|
143
|
-
Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
|
|
144
|
-
logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
145
|
-
}
|
|
146
|
-
if (typeof nodeConfig.testUrl === 'string') {
|
|
147
|
-
config.push(`server_check_url=${nodeConfig['testUrl']}`);
|
|
148
|
-
}
|
|
149
|
-
config.push(`tag=${nodeConfig.nodeName}`);
|
|
150
|
-
return [nodeConfig.nodeName, `shadowsocks=${config.join(', ')}`];
|
|
151
|
-
}
|
|
152
|
-
case types_1.NodeTypeEnum.Shadowsocksr: {
|
|
153
|
-
const config = [
|
|
154
|
-
`${nodeConfig.hostname}:${nodeConfig.port}`,
|
|
155
|
-
...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
|
|
156
|
-
`ssr-protocol=${nodeConfig.protocol}`,
|
|
157
|
-
`ssr-protocol-param=${nodeConfig.protoparam}`,
|
|
158
|
-
`obfs=${nodeConfig.obfs}`,
|
|
159
|
-
`obfs-host=${nodeConfig.obfsparam}`,
|
|
160
|
-
...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
|
|
161
|
-
...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
|
|
162
|
-
...(typeof nodeConfig.testUrl === 'string'
|
|
163
|
-
? [`server_check_url=${nodeConfig.testUrl}`]
|
|
164
|
-
: []),
|
|
165
|
-
`tag=${nodeConfig.nodeName}`,
|
|
166
|
-
].join(', ');
|
|
167
|
-
return [nodeConfig.nodeName, `shadowsocks=${config}`];
|
|
168
|
-
}
|
|
169
|
-
case types_1.NodeTypeEnum.HTTP:
|
|
170
|
-
case types_1.NodeTypeEnum.HTTPS: {
|
|
171
|
-
const config = [
|
|
172
|
-
`${nodeConfig.hostname}:${nodeConfig.port}`,
|
|
173
|
-
...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
|
|
174
|
-
...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
|
|
175
|
-
];
|
|
176
|
-
if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
|
|
177
|
-
config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
|
|
178
|
-
}
|
|
179
|
-
if (typeof nodeConfig.testUrl === 'string') {
|
|
180
|
-
config.push(`server_check_url=${nodeConfig['testUrl']}`);
|
|
181
|
-
}
|
|
182
|
-
config.push(`tag=${nodeConfig.nodeName}`);
|
|
183
|
-
return [nodeConfig.nodeName, `http=${config.join(', ')}`];
|
|
184
|
-
}
|
|
185
|
-
case types_1.NodeTypeEnum.Trojan: {
|
|
186
|
-
const config = [
|
|
187
|
-
`${nodeConfig.hostname}:${nodeConfig.port}`,
|
|
188
|
-
...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
|
|
189
|
-
`tls-verification=${nodeConfig.skipCertVerify !== true}`,
|
|
190
|
-
...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
|
|
191
|
-
...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
|
|
192
|
-
...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
|
|
193
|
-
];
|
|
194
|
-
if (nodeConfig.network === 'ws') {
|
|
195
|
-
/**
|
|
196
|
-
* The obfs field is only supported with websocket over tls for trojan. When using websocket over
|
|
197
|
-
* tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
|
|
198
|
-
* obfs-host options.
|
|
199
|
-
*/
|
|
200
|
-
config.push('obfs=wss');
|
|
201
|
-
if (nodeConfig.wsPath) {
|
|
202
|
-
config.push(`obfs-uri=${nodeConfig.wsPath}`);
|
|
203
|
-
}
|
|
204
|
-
const hostHeader = nodeConfig?.wsHeaders?.host;
|
|
205
|
-
const sni = nodeConfig.sni;
|
|
206
|
-
if (sni) {
|
|
207
|
-
config.push(`obfs-host=${sni}`);
|
|
208
|
-
}
|
|
209
|
-
else if (hostHeader) {
|
|
210
|
-
config.push(`obfs-host=${hostHeader}`);
|
|
211
|
-
}
|
|
212
|
-
if (sni && hostHeader) {
|
|
213
|
-
logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
214
|
-
}
|
|
215
|
-
if (nodeConfig?.wsHeaders) {
|
|
216
|
-
// istanbul ignore next
|
|
217
|
-
if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
|
|
218
|
-
logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
config.push('over-tls=true');
|
|
224
|
-
if (nodeConfig.sni) {
|
|
225
|
-
config.push(`tls-host=${nodeConfig.sni}`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
if (typeof nodeConfig.testUrl === 'string') {
|
|
229
|
-
config.push(`server_check_url=${nodeConfig['testUrl']}`);
|
|
230
|
-
}
|
|
231
|
-
config.push(`tag=${nodeConfig.nodeName}`);
|
|
232
|
-
return [nodeConfig.nodeName, `trojan=${config.join(', ')}`];
|
|
233
|
-
}
|
|
234
|
-
// istanbul ignore next
|
|
235
|
-
default:
|
|
236
|
-
logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
|
|
237
|
-
return void 0;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=quantumult.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quantumult.js","sourceRoot":"","sources":["../../src/utils/quantumult.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA6C;AAC7C,oDAAsB;AAEtB,0CAAkE;AAClE,oCAKiB;AACjB,wCAAwC;AAExC,mCAA4D;AAE5D,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;AAEnE;;GAEG;AACI,MAAM,mBAAmB,GAAG,UACjC,QAA+C,EAC/C,MAA8C;IAE9C,MAAM,MAAM,GAA0B,IAAA,qBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC;SAChE,GAAG,CAAC,cAAc,CAAC;SACnB,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B;AAEM,MAAM,uBAAuB,GAAG,UACrC,QAA+C,EAC/C,MAA8C;IAE9C,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC;SACjC,GAAG,CAAC,cAAc,CAAC;SACnB,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AATY,QAAA,uBAAuB,2BASnC;AAED,SAAS,cAAc,CACrB,UAAkC;IAElC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,oBAAY,CAAC,KAAK,CAAC;QACxB,KAAK,oBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,IACE,CAAC,+CAAoC,CAAC,QAAQ,CAC5C,UAAU,CAAC,OAAc,CAC1B,EACD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,oBAAoB,UAAU,CAAC,OAAO,kBAAkB,UAAU,CAAC,QAAQ,OAAO,CACnF,CAAA;gBACD,OAAO,KAAK,CAAC,CAAA;YACf,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC3C,2BAA2B;gBAC3B,UAAU,CAAC,MAAM,KAAK,MAAM;oBAC1B,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,UAAU,UAAU,CAAC,MAAM,EAAE;gBACjC,YAAY,UAAU,CAAC,IAAI,EAAE;gBAC7B,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAA;YAED,QAAQ,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,IAAI;oBACP,IACE,CAAC,UAAU,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC;wBAC1D,UAAU,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,EACtC,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wBAEvB,uBAAuB;wBACvB,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;4BAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;wBACvC,CAAC;wBAED,uBAAuB;wBACvB,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;4BACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAC3B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBACxB,CAAC;oBAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;wBAE7D,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;wBAExD,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;oBAED,MAAK;gBACP,KAAK,KAAK;oBACR,IACE,CAAC,UAAU,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC;wBAC1D,UAAU,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,EACtC,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;wBAE5B,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;4BAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;wBACvC,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;wBACtC,CAAC;wBAED,uBAAuB;wBACvB,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;4BACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAC3B,CAAC;oBACH,CAAC;oBAED,MAAK;gBACP,KAAK,MAAM;oBACT,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACxB,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;wBAE/D,MAAM,CAAC,IAAI,CACT,WAAW,EACX,YAAY,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAC9C,CAAA;wBAED,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;YACL,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEzC,uBAAuB;YACvB,IACE,UAAU,CAAC,MAAM,EAAE,OAAO;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EACjD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,uCAAuC,UAAU,CAAC,QAAQ,QAAQ,CACnE,CAAA;YACH,CAAC;YAED,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzE,CAAC;QAED,KAAK,oBAAY,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG;gBACb,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC3C,GAAG,IAAA,+BAAuB,EAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC9D,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,EAAE,EAAE,aAAa,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACjE,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC5D,CAAC,CAAC;wBACE,QAAQ,UAAU,CAAC,IAAI,EAAE;wBACzB,aAAa,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE;wBACzD,YAAY,UAAU,CAAC,OAAO,IAAI,GAAG,EAAE;qBACxC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAA;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC9B,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;gBACtC,CAAC;gBAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IACE,UAAU,CAAC,SAAS;gBACpB,MAAM,CAAC,IAAI,CAAC,gBAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC9D,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,uCAAuC,UAAU,CAAC,QAAQ,QAAQ,CACnE,CAAA;YACH,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEzC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,KAAK,oBAAY,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG;gBACb,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC3C,GAAG,IAAA,+BAAuB,EAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,gBAAgB,UAAU,CAAC,QAAQ,EAAE;gBACrC,sBAAsB,UAAU,CAAC,UAAU,EAAE;gBAC7C,QAAQ,UAAU,CAAC,IAAI,EAAE;gBACzB,aAAa,UAAU,CAAC,SAAS,EAAE;gBACnC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;oBACxC,CAAC,CAAC,CAAC,oBAAoB,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC5C,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,UAAU,CAAC,QAAQ,EAAE;aAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,MAAM,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,oBAAY,CAAC,IAAI,CAAC;QACvB,KAAK,oBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG;gBACb,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC3C,GAAG,IAAA,+BAAuB,EAAC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAChE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAA;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,oBAAoB,UAAU,CAAC,cAAc,KAAK,IAAI,EAAE,EACxD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3D,CAAA;YACH,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEzC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,KAAK,oBAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG;gBACb,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC3C,GAAG,IAAA,+BAAuB,EAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpD,oBAAoB,UAAU,CAAC,cAAc,KAAK,IAAI,EAAE;gBACxD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAA;YAED,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAChC;;;;mBAIG;gBACH,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAEvB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC9C,CAAC;gBAED,MAAM,UAAU,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,CAAA;gBAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;gBAE1B,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAA;gBACjC,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAA;gBACxC,CAAC;gBAED,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CACT,2DAA2D,UAAU,CAAC,QAAQ,QAAQ,CACvF,CAAA;gBACH,CAAC;gBAED,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;oBAC1B,uBAAuB;oBACvB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnE,MAAM,CAAC,IAAI,CACT,uCAAuC,UAAU,CAAC,QAAQ,QAAQ,CACnE,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAE5B,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEzC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,uBAAuB;QACvB;YACE,MAAM,CAAC,IAAI,CACT,uBAAwB,UAAkB,CAAC,IAAI,WAC5C,UAAkB,CAAC,QACtB,OAAO,CACR,CAAA;YACD,OAAO,KAAK,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function relayableUrl(url: string, relayUrl?: string): string;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function relayableUrl(url, relayUrl) {
|
|
4
|
-
if (typeof relayUrl === 'string') {
|
|
5
|
-
if (relayUrl.includes('%%URL%%')) {
|
|
6
|
-
return relayUrl.replace('%%URL%%', encodeURIComponent(url));
|
|
7
|
-
}
|
|
8
|
-
else if (relayUrl.includes('%URL%')) {
|
|
9
|
-
return relayUrl.replace('%URL%', url);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
throw new Error('relayUrl 中必须包含 %URL% 或 %%URL%% 替换指示符');
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return url;
|
|
16
|
-
}
|
|
17
|
-
exports.default = relayableUrl;
|
|
18
|
-
//# sourceMappingURL=relayable-url.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relayable-url.js","sourceRoot":"","sources":["../../src/utils/relayable-url.ts"],"names":[],"mappings":";;AAAA,SAAwB,YAAY,CAAC,GAAW,EAAE,QAAiB;IACjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAXD,+BAWC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RemoteSnippet, RemoteSnippetConfig } from '../types';
|
|
2
|
-
export declare const parseMacro: (snippet: string) => {
|
|
3
|
-
functionName: string;
|
|
4
|
-
arguments: string[];
|
|
5
|
-
};
|
|
6
|
-
export declare const addProxyToSurgeRuleSet: (str: string, proxyName?: string) => string;
|
|
7
|
-
export declare const renderSurgioSnippet: (str: string, args: string[]) => string;
|
|
8
|
-
export declare const loadRemoteSnippetList: (remoteSnippetList: ReadonlyArray<RemoteSnippetConfig>, cacheSnippet?: boolean) => Promise<ReadonlyArray<RemoteSnippet>>;
|