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
|
@@ -1,370 +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.Artifact = void 0;
|
|
7
|
-
const events_1 = require("events");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const logger_1 = require("@surgio/logger");
|
|
10
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
11
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
12
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
13
|
-
const provider_1 = require("../provider");
|
|
14
|
-
const types_1 = require("../types");
|
|
15
|
-
const utils_1 = require("../utils");
|
|
16
|
-
const dns_1 = require("../utils/dns");
|
|
17
|
-
const filters_1 = require("../filters");
|
|
18
|
-
const flag_1 = require("../utils/flag");
|
|
19
|
-
const validators_1 = require("../validators");
|
|
20
|
-
const template_1 = require("./template");
|
|
21
|
-
const json_template_1 = require("./json-template");
|
|
22
|
-
class Artifact extends events_1.EventEmitter {
|
|
23
|
-
surgioConfig;
|
|
24
|
-
options;
|
|
25
|
-
initProgress = 0;
|
|
26
|
-
artifact;
|
|
27
|
-
providerNameList;
|
|
28
|
-
nodeConfigListMap = new Map();
|
|
29
|
-
providerMap = new Map();
|
|
30
|
-
nodeList = [];
|
|
31
|
-
customFilters = {};
|
|
32
|
-
netflixFilter = filters_1.internalFilters.netflixFilter;
|
|
33
|
-
youtubePremiumFilter = filters_1.internalFilters.youtubePremiumFilter;
|
|
34
|
-
constructor(surgioConfig, artifactConfig, options = {}) {
|
|
35
|
-
super();
|
|
36
|
-
this.surgioConfig = surgioConfig;
|
|
37
|
-
this.options = options;
|
|
38
|
-
this.artifact = validators_1.ArtifactValidator.parse(artifactConfig);
|
|
39
|
-
const mainProviderName = this.artifact.provider;
|
|
40
|
-
const combineProviders = this.artifact.combineProviders || [];
|
|
41
|
-
this.providerNameList = [mainProviderName].concat(combineProviders);
|
|
42
|
-
}
|
|
43
|
-
get isReady() {
|
|
44
|
-
return this.initProgress === this.providerNameList.length;
|
|
45
|
-
}
|
|
46
|
-
getRenderContext(extendRenderContext = {}) {
|
|
47
|
-
const config = this.surgioConfig;
|
|
48
|
-
const gatewayConfig = config.gateway;
|
|
49
|
-
const gatewayToken = gatewayConfig?.viewerToken || gatewayConfig?.accessToken;
|
|
50
|
-
const { name: artifactName, downloadUrl } = this.artifact;
|
|
51
|
-
const { nodeList, netflixFilter, youtubePremiumFilter, customFilters } = this;
|
|
52
|
-
const remoteSnippets = lodash_1.default.keyBy(this.options.remoteSnippetList || [], (item) => item.name);
|
|
53
|
-
const mergedCustomParams = this.getMergedCustomParams(extendRenderContext);
|
|
54
|
-
return {
|
|
55
|
-
proxyTestUrl: config.proxyTestUrl,
|
|
56
|
-
proxyTestInterval: config.proxyTestInterval,
|
|
57
|
-
internetTestUrl: config.internetTestUrl,
|
|
58
|
-
internetTestInterval: config.internetTestInterval,
|
|
59
|
-
downloadUrl: downloadUrl
|
|
60
|
-
? downloadUrl
|
|
61
|
-
: (0, utils_1.getDownloadUrl)(config.urlBase, artifactName, true, gatewayToken),
|
|
62
|
-
snippet: (filePath) => {
|
|
63
|
-
return (0, template_1.loadLocalSnippet)(config.templateDir, filePath);
|
|
64
|
-
},
|
|
65
|
-
remoteSnippets,
|
|
66
|
-
nodeList,
|
|
67
|
-
provider: this.artifact.provider,
|
|
68
|
-
providerName: this.artifact.provider,
|
|
69
|
-
artifactName,
|
|
70
|
-
getDownloadUrl: (name) => (0, utils_1.getDownloadUrl)(config.urlBase, name, true, gatewayToken),
|
|
71
|
-
getUrl: (p) => (0, utils_1.getUrl)(config.publicUrl, p, gatewayToken),
|
|
72
|
-
getNodeNames: utils_1.getNodeNames,
|
|
73
|
-
getClashNodes: utils_1.getClashNodes,
|
|
74
|
-
getClashNodeNames: utils_1.getClashNodeNames,
|
|
75
|
-
getSingboxNodes: utils_1.getSingboxNodes,
|
|
76
|
-
getSingboxNodeNames: utils_1.getSingboxNodeNames,
|
|
77
|
-
getSurgeNodes: utils_1.getSurgeNodes,
|
|
78
|
-
getSurgeNodeNames: utils_1.getSurgeNodeNames,
|
|
79
|
-
getSurgeWireguardNodes: utils_1.getSurgeWireguardNodes,
|
|
80
|
-
getSurfboardNodes: utils_1.getSurfboardNodes,
|
|
81
|
-
getSurfboardNodeNames: utils_1.getSurfboardNodeNames,
|
|
82
|
-
getShadowsocksNodes: utils_1.getShadowsocksNodes,
|
|
83
|
-
getShadowsocksNodesJSON: utils_1.getShadowsocksNodesJSON,
|
|
84
|
-
getShadowsocksrNodes: utils_1.getShadowsocksrNodes,
|
|
85
|
-
getV2rayNNodes: utils_1.getV2rayNNodes,
|
|
86
|
-
getQuantumultXNodes: utils_1.getQuantumultXNodes,
|
|
87
|
-
getQuantumultXNodeNames: utils_1.getQuantumultXNodeNames,
|
|
88
|
-
getLoonNodes: utils_1.getLoonNodes,
|
|
89
|
-
getLoonNodeNames: utils_1.getLoonNodeNames,
|
|
90
|
-
toUrlSafeBase64: utils_1.toUrlSafeBase64,
|
|
91
|
-
toBase64: utils_1.toBase64,
|
|
92
|
-
encodeURIComponent,
|
|
93
|
-
...filters_1.internalFilters,
|
|
94
|
-
netflixFilter,
|
|
95
|
-
youtubePremiumFilter,
|
|
96
|
-
customFilters,
|
|
97
|
-
customParams: mergedCustomParams,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
async init(params = {}) {
|
|
101
|
-
if (this.isReady) {
|
|
102
|
-
throw new Error('Artifact 已经初始化完成');
|
|
103
|
-
}
|
|
104
|
-
this.emit('initArtifact:start', { artifact: this.artifact });
|
|
105
|
-
await bluebird_1.default.map(this.providerNameList, async (providerName) => {
|
|
106
|
-
await this.providerMapper(providerName, params.getNodeListParams);
|
|
107
|
-
}, {
|
|
108
|
-
concurrency: (0, utils_1.getNetworkConcurrency)(),
|
|
109
|
-
});
|
|
110
|
-
this.providerNameList.forEach((providerName) => {
|
|
111
|
-
const nodeConfigList = this.nodeConfigListMap.get(providerName);
|
|
112
|
-
if (nodeConfigList) {
|
|
113
|
-
nodeConfigList.forEach((nodeConfig) => {
|
|
114
|
-
if (nodeConfig) {
|
|
115
|
-
this.nodeList.push(nodeConfig);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
this.emit('initArtifact:end', { artifact: this.artifact });
|
|
121
|
-
return this;
|
|
122
|
-
}
|
|
123
|
-
getMergedCustomParams(extendableCustomParams = {}) {
|
|
124
|
-
const globalCustomParams = this.surgioConfig.customParams;
|
|
125
|
-
const { customParams: artifactCustomParams } = this.artifact;
|
|
126
|
-
const merged = lodash_1.default.merge({}, globalCustomParams, artifactCustomParams, extendableCustomParams);
|
|
127
|
-
return Object.freeze(merged);
|
|
128
|
-
}
|
|
129
|
-
render(templateEngine, extendRenderContext) {
|
|
130
|
-
if (!this.isReady) {
|
|
131
|
-
throw new Error('Artifact 还未初始化');
|
|
132
|
-
}
|
|
133
|
-
const targetTemplateEngine = templateEngine || this.options.templateEngine;
|
|
134
|
-
if (!targetTemplateEngine) {
|
|
135
|
-
throw new Error('没有可用的 Nunjucks 环境');
|
|
136
|
-
}
|
|
137
|
-
if (this.artifact.templateType === 'json' &&
|
|
138
|
-
!this.artifact.extendTemplate) {
|
|
139
|
-
throw new Error('JSON 模板需要提供 extendTemplate 函数');
|
|
140
|
-
}
|
|
141
|
-
const renderContext = this.getRenderContext(extendRenderContext);
|
|
142
|
-
const { templateString, template, templateType } = this.artifact;
|
|
143
|
-
const result = templateString
|
|
144
|
-
? targetTemplateEngine.renderString(templateString, {
|
|
145
|
-
templateEngine: targetTemplateEngine,
|
|
146
|
-
...renderContext,
|
|
147
|
-
})
|
|
148
|
-
: templateType === 'default'
|
|
149
|
-
? targetTemplateEngine.render(`${template}.tpl`, {
|
|
150
|
-
templateEngine: targetTemplateEngine,
|
|
151
|
-
...renderContext,
|
|
152
|
-
})
|
|
153
|
-
: (0, json_template_1.render)(this.surgioConfig.templateDir, `${template}.json`, this.artifact.extendTemplate, renderContext);
|
|
154
|
-
this.emit('renderArtifact', { artifact: this.artifact, result });
|
|
155
|
-
return result;
|
|
156
|
-
}
|
|
157
|
-
async providerMapper(providerName, getNodeListParams = {}) {
|
|
158
|
-
const config = this.surgioConfig;
|
|
159
|
-
const mainProviderName = this.artifact.provider;
|
|
160
|
-
const filePath = path_1.default.resolve(config.providerDir, `${providerName}.js`);
|
|
161
|
-
this.emit('initProvider:start', {
|
|
162
|
-
artifact: this.artifact,
|
|
163
|
-
providerName,
|
|
164
|
-
});
|
|
165
|
-
if (!fs_extra_1.default.existsSync(filePath)) {
|
|
166
|
-
throw new Error(`文件 ${filePath} 不存在`);
|
|
167
|
-
}
|
|
168
|
-
let provider;
|
|
169
|
-
let nodeConfigList;
|
|
170
|
-
try {
|
|
171
|
-
// eslint-disable-next-line prefer-const
|
|
172
|
-
provider = await (0, provider_1.getProvider)(providerName, require(filePath));
|
|
173
|
-
this.providerMap.set(providerName, provider);
|
|
174
|
-
}
|
|
175
|
-
catch (err) /* istanbul ignore next */ {
|
|
176
|
-
if ((0, utils_1.isSurgioError)(err)) {
|
|
177
|
-
err.providerName = providerName;
|
|
178
|
-
err.providerPath = filePath;
|
|
179
|
-
throw err;
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
throw new utils_1.SurgioError((0, utils_1.isError)(err) ? err.message : '处理 Provider 失败', {
|
|
183
|
-
cause: err,
|
|
184
|
-
providerName,
|
|
185
|
-
providerPath: filePath,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
try {
|
|
190
|
-
try {
|
|
191
|
-
nodeConfigList = await provider.getNodeList(this.getMergedCustomParams(getNodeListParams));
|
|
192
|
-
}
|
|
193
|
-
catch (err) {
|
|
194
|
-
if (provider.config.hooks?.onError && (0, utils_1.isError)(err)) {
|
|
195
|
-
const result = await provider.config.hooks.onError(err);
|
|
196
|
-
if (Array.isArray(result)) {
|
|
197
|
-
const adHocProvider = new provider_1.CustomProvider('ad-hoc', {
|
|
198
|
-
type: types_1.SupportProviderEnum.Custom,
|
|
199
|
-
nodeList: result,
|
|
200
|
-
});
|
|
201
|
-
nodeConfigList = await adHocProvider.getNodeList();
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
nodeConfigList = [];
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
throw err;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
catch (err) /* istanbul ignore next */ {
|
|
213
|
-
if ((0, utils_1.isSurgioError)(err)) {
|
|
214
|
-
err.providerName = providerName;
|
|
215
|
-
err.providerPath = filePath;
|
|
216
|
-
throw err;
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
throw new utils_1.SurgioError((0, utils_1.isError)(err) ? err.message : '处理 Provider 失败', {
|
|
220
|
-
cause: err,
|
|
221
|
-
providerName,
|
|
222
|
-
providerPath: filePath,
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// Filter 仅使用第一个 Provider 中的定义
|
|
227
|
-
if (providerName === mainProviderName) {
|
|
228
|
-
if (provider.config.netflixFilter !== undefined) {
|
|
229
|
-
this.netflixFilter = provider.config.netflixFilter;
|
|
230
|
-
}
|
|
231
|
-
if (provider.config.youtubePremiumFilter !== undefined) {
|
|
232
|
-
this.youtubePremiumFilter = provider.config.youtubePremiumFilter;
|
|
233
|
-
}
|
|
234
|
-
this.customFilters = {
|
|
235
|
-
...this.customFilters,
|
|
236
|
-
...config.customFilters,
|
|
237
|
-
...provider.config.customFilters,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
if ((0, filters_1.validateFilter)(provider.config.nodeFilter) &&
|
|
241
|
-
typeof provider.config.nodeFilter === 'object' &&
|
|
242
|
-
provider.config.nodeFilter.supportSort) {
|
|
243
|
-
nodeConfigList = provider.config.nodeFilter.filter(nodeConfigList);
|
|
244
|
-
}
|
|
245
|
-
nodeConfigList = (await bluebird_1.default.map(nodeConfigList, async (nodeConfig) => {
|
|
246
|
-
let isValid = false;
|
|
247
|
-
if (nodeConfig.enable === false) {
|
|
248
|
-
return undefined;
|
|
249
|
-
}
|
|
250
|
-
if (!provider.config.nodeFilter) {
|
|
251
|
-
isValid = true;
|
|
252
|
-
}
|
|
253
|
-
else if ((0, filters_1.validateFilter)(provider.config.nodeFilter)) {
|
|
254
|
-
isValid =
|
|
255
|
-
typeof provider.config.nodeFilter === 'function'
|
|
256
|
-
? provider.config.nodeFilter(nodeConfig)
|
|
257
|
-
: true;
|
|
258
|
-
}
|
|
259
|
-
if (isValid) {
|
|
260
|
-
if (config.binPath &&
|
|
261
|
-
nodeConfig.type === types_1.NodeTypeEnum.Shadowsocksr &&
|
|
262
|
-
config.binPath[nodeConfig.type]) {
|
|
263
|
-
nodeConfig.binPath = config.binPath[nodeConfig.type];
|
|
264
|
-
nodeConfig.localPort = provider.nextPort;
|
|
265
|
-
}
|
|
266
|
-
nodeConfig.provider = provider;
|
|
267
|
-
nodeConfig.surgeConfig = Object.freeze({
|
|
268
|
-
...config.surgeConfig,
|
|
269
|
-
...nodeConfig.surgeConfig,
|
|
270
|
-
});
|
|
271
|
-
nodeConfig.clashConfig = Object.freeze({
|
|
272
|
-
...config.clashConfig,
|
|
273
|
-
...nodeConfig.clashConfig,
|
|
274
|
-
});
|
|
275
|
-
nodeConfig.quantumultXConfig = Object.freeze({
|
|
276
|
-
...config.quantumultXConfig,
|
|
277
|
-
...nodeConfig.quantumultXConfig,
|
|
278
|
-
});
|
|
279
|
-
nodeConfig.surfboardConfig = Object.freeze({
|
|
280
|
-
...config.surfboardConfig,
|
|
281
|
-
...nodeConfig.surfboardConfig,
|
|
282
|
-
});
|
|
283
|
-
if (provider.config.renameNode) {
|
|
284
|
-
const newName = provider.config.renameNode(nodeConfig.nodeName);
|
|
285
|
-
if (newName) {
|
|
286
|
-
nodeConfig.nodeName = newName;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
if (provider.config.addFlag) {
|
|
290
|
-
// 给节点名加国旗
|
|
291
|
-
nodeConfig.nodeName = (0, flag_1.prependFlag)(nodeConfig.nodeName, provider.config.removeExistingFlag);
|
|
292
|
-
}
|
|
293
|
-
else if (provider.config.removeExistingFlag) {
|
|
294
|
-
// 去掉名称中的国旗
|
|
295
|
-
nodeConfig.nodeName = (0, flag_1.removeFlag)(nodeConfig.nodeName);
|
|
296
|
-
}
|
|
297
|
-
// TCP Fast Open
|
|
298
|
-
if (typeof nodeConfig.tfo === 'undefined' && provider.config.tfo) {
|
|
299
|
-
nodeConfig.tfo = provider.config.tfo;
|
|
300
|
-
}
|
|
301
|
-
// MPTCP
|
|
302
|
-
if (typeof nodeConfig.mptcp === 'undefined' &&
|
|
303
|
-
provider.config.mptcp) {
|
|
304
|
-
nodeConfig.mptcp = provider.config.mptcp;
|
|
305
|
-
}
|
|
306
|
-
// ECN
|
|
307
|
-
if (typeof nodeConfig.ecn === 'undefined' && provider.config.ecn) {
|
|
308
|
-
nodeConfig.ecn = provider.config.ecn;
|
|
309
|
-
}
|
|
310
|
-
// Block QUIC
|
|
311
|
-
if (typeof nodeConfig.blockQuic === 'undefined' &&
|
|
312
|
-
provider.config.blockQuic) {
|
|
313
|
-
nodeConfig.blockQuic = provider.config.blockQuic;
|
|
314
|
-
}
|
|
315
|
-
// Underlying Proxy
|
|
316
|
-
if (!nodeConfig.underlyingProxy && provider.config.underlyingProxy) {
|
|
317
|
-
nodeConfig.underlyingProxy = provider.config.underlyingProxy;
|
|
318
|
-
}
|
|
319
|
-
// Check whether the hostname resolves in case of blocking clash's node heurestic
|
|
320
|
-
if (config?.checkHostname &&
|
|
321
|
-
'hostname' in nodeConfig &&
|
|
322
|
-
!(0, utils_1.isIp)(nodeConfig.hostname)) {
|
|
323
|
-
try {
|
|
324
|
-
const domains = await (0, dns_1.resolveDomain)(nodeConfig.hostname);
|
|
325
|
-
/* istanbul ignore next */
|
|
326
|
-
if (domains.length < 1) {
|
|
327
|
-
logger_1.logger.warn(`DNS 解析结果中 ${nodeConfig.hostname} 未有对应 IP 地址,将忽略该节点`);
|
|
328
|
-
return undefined;
|
|
329
|
-
} /* istanbul ignore next */
|
|
330
|
-
else {
|
|
331
|
-
nodeConfig.hostnameIp = domains;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
catch (err) /* istanbul ignore next */ {
|
|
335
|
-
logger_1.logger.warn(`${nodeConfig.hostname} 无法解析,将忽略该节点`);
|
|
336
|
-
return undefined;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
if (config?.resolveHostname &&
|
|
340
|
-
'hostname' in nodeConfig &&
|
|
341
|
-
!(0, utils_1.isIp)(nodeConfig.hostname)) {
|
|
342
|
-
/* istanbul ignore next */
|
|
343
|
-
if (nodeConfig.hostnameIp) {
|
|
344
|
-
nodeConfig.hostname = nodeConfig.hostnameIp[0];
|
|
345
|
-
} /* istanbul ignore next */
|
|
346
|
-
else {
|
|
347
|
-
try {
|
|
348
|
-
nodeConfig.hostnameIp = await (0, dns_1.resolveDomain)(nodeConfig.hostname);
|
|
349
|
-
nodeConfig.hostname = nodeConfig.hostnameIp[0];
|
|
350
|
-
}
|
|
351
|
-
catch (err) {
|
|
352
|
-
logger_1.logger.warn(`${nodeConfig.hostname} 无法解析,将忽略该域名的解析结果`);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
return nodeConfig;
|
|
357
|
-
}
|
|
358
|
-
return undefined;
|
|
359
|
-
})).filter((item) => item !== undefined);
|
|
360
|
-
this.nodeConfigListMap.set(providerName, nodeConfigList);
|
|
361
|
-
this.initProgress++;
|
|
362
|
-
this.emit('initProvider:end', {
|
|
363
|
-
artifact: this.artifact,
|
|
364
|
-
providerName,
|
|
365
|
-
provider,
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
exports.Artifact = Artifact;
|
|
370
|
-
//# sourceMappingURL=artifact.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/generator/artifact.ts"],"names":[],"mappings":"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"}
|
package/build/generator/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.combineExtendFunctions = exports.createExtendFunction = exports.extendEndpoints = exports.extendOutbounds = void 0;
|
|
18
|
-
__exportStar(require("./artifact"), exports);
|
|
19
|
-
__exportStar(require("./template"), exports);
|
|
20
|
-
var json_template_1 = require("./json-template");
|
|
21
|
-
Object.defineProperty(exports, "extendOutbounds", { enumerable: true, get: function () { return json_template_1.extendOutbounds; } });
|
|
22
|
-
Object.defineProperty(exports, "extendEndpoints", { enumerable: true, get: function () { return json_template_1.extendEndpoints; } });
|
|
23
|
-
Object.defineProperty(exports, "createExtendFunction", { enumerable: true, get: function () { return json_template_1.createExtendFunction; } });
|
|
24
|
-
Object.defineProperty(exports, "combineExtendFunctions", { enumerable: true, get: function () { return json_template_1.combineExtendFunctions; } });
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B;AAC1B,iDAKwB;AAJtB,gHAAA,eAAe,OAAA;AACf,gHAAA,eAAe,OAAA;AACf,qHAAA,oBAAoB,OAAA;AACpB,uHAAA,sBAAsB,OAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { JsonObject } from 'type-fest';
|
|
2
|
-
type ExtendContext = Record<string, any>;
|
|
3
|
-
type PremitiveValue = string | number | boolean;
|
|
4
|
-
type ExtendValue = JsonObject[] | JsonObject | PremitiveValue[] | PremitiveValue | ((extendContext: ExtendContext) => JsonObject[] | JsonObject | PremitiveValue[] | PremitiveValue);
|
|
5
|
-
type ExtendFunction = (extendValue: ExtendValue) => (jsonInput: JsonObject, extendContext?: ExtendContext) => JsonObject;
|
|
6
|
-
export declare const createExtendFunction: (extendKey: string) => ExtendFunction;
|
|
7
|
-
export declare const extendOutbounds: ExtendFunction;
|
|
8
|
-
export declare const extendEndpoints: ExtendFunction;
|
|
9
|
-
export declare const combineExtendFunctions: (...args: ReturnType<ExtendFunction>[]) => ReturnType<ExtendFunction>;
|
|
10
|
-
export declare const render: (templateDir: string, fileName: string, extend: (...args: any[]) => any, extendContext: ExtendContext) => string;
|
|
11
|
-
export {};
|
|
@@ -1,66 +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.render = exports.combineExtendFunctions = exports.extendEndpoints = exports.extendOutbounds = exports.createExtendFunction = void 0;
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
10
|
-
const createExtendFunction = (extendKey) => {
|
|
11
|
-
const extendFunction = (extendValue) => {
|
|
12
|
-
return (jsonInput, extendContext = {}) => {
|
|
13
|
-
const jsonInputCopy = lodash_1.default.cloneDeep(jsonInput);
|
|
14
|
-
const isExist = lodash_1.default.get(jsonInputCopy, extendKey);
|
|
15
|
-
const extendValueIsFunction = lodash_1.default.isFunction(extendValue);
|
|
16
|
-
const valueToExtend = extendValueIsFunction
|
|
17
|
-
? extendValue(extendContext)
|
|
18
|
-
: extendValue;
|
|
19
|
-
if (isExist) {
|
|
20
|
-
if (lodash_1.default.isArray(isExist)) {
|
|
21
|
-
if (lodash_1.default.isArray(valueToExtend)) {
|
|
22
|
-
lodash_1.default.set(jsonInputCopy, extendKey, [...isExist, ...valueToExtend]);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
lodash_1.default.set(jsonInputCopy, extendKey, [...isExist, valueToExtend]);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
lodash_1.default.set(jsonInputCopy, extendKey, valueToExtend);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
lodash_1.default.set(jsonInputCopy, extendKey, valueToExtend);
|
|
34
|
-
}
|
|
35
|
-
return jsonInputCopy;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
return extendFunction;
|
|
39
|
-
};
|
|
40
|
-
exports.createExtendFunction = createExtendFunction;
|
|
41
|
-
exports.extendOutbounds = (0, exports.createExtendFunction)('outbounds');
|
|
42
|
-
exports.extendEndpoints = (0, exports.createExtendFunction)('endpoints');
|
|
43
|
-
const combineExtendFunctions = (...args) => {
|
|
44
|
-
return (jsonInput, extendContext = {}) => {
|
|
45
|
-
return args.reduce((acc, extend) => extend(acc, extendContext), jsonInput);
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
exports.combineExtendFunctions = combineExtendFunctions;
|
|
49
|
-
const render = (templateDir, fileName, extend, extendContext) => {
|
|
50
|
-
const templatePath = (0, path_1.join)(templateDir, fileName);
|
|
51
|
-
const jsonInput = fs_extra_1.default.readJsonSync(templatePath);
|
|
52
|
-
try {
|
|
53
|
-
const jsonOutput = extend(jsonInput, extendContext);
|
|
54
|
-
return JSON.stringify(jsonOutput, null, 2);
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
// istanbul ignore next
|
|
58
|
-
if (error instanceof Error) {
|
|
59
|
-
throw new Error(`Error when rendering JSON template ${fileName}: ${error.message}`);
|
|
60
|
-
}
|
|
61
|
-
// istanbul ignore next
|
|
62
|
-
throw new Error(`Error when rendering JSON template ${fileName}`);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.render = render;
|
|
66
|
-
//# sourceMappingURL=json-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-template.js","sourceRoot":"","sources":["../../src/generator/json-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import nunjucks from 'nunjucks';
|
|
2
|
-
import { ClashCoreType, RemoteSnippet } from '../types';
|
|
3
|
-
export declare function getEngine(templateDir: string, options?: {
|
|
4
|
-
clashCore?: ClashCoreType;
|
|
5
|
-
}): nunjucks.Environment;
|
|
6
|
-
export declare const convertSurgeScriptRuleToQuantumultXRewriteRule: (str: string) => string;
|
|
7
|
-
export declare const convertNewSurgeScriptRuleToQuantumultXRewriteRule: (str: string) => string;
|
|
8
|
-
export declare const loadLocalSnippet: (cwd: string, relativeFilePath?: string) => RemoteSnippet;
|