surgio 3.0.0 → 3.0.2
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/build/filters/classes.d.ts +13 -0
- package/build/filters/classes.js +42 -0
- package/build/filters/classes.js.map +1 -0
- package/build/filters/filters.d.ts +22 -0
- package/build/filters/filters.js +93 -0
- package/build/filters/filters.js.map +1 -0
- package/build/filters/index.d.ts +2 -0
- package/build/filters/index.js +32 -0
- package/build/filters/index.js.map +1 -0
- package/build/filters/utils.d.ts +16 -0
- package/build/filters/utils.js +159 -0
- package/build/filters/utils.js.map +1 -0
- package/build/generator/artifact.d.ts +32 -31
- package/build/generator/artifact.js +7 -25
- package/build/generator/artifact.js.map +1 -1
- package/build/index.d.ts +1 -4
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/build/utils/clash.js +2 -2
- package/build/utils/clash.js.map +1 -1
- package/build/utils/index.js +2 -2
- package/build/utils/index.js.map +1 -1
- package/build/utils/loon.js +10 -9
- package/build/utils/loon.js.map +1 -1
- package/build/utils/quantumult.js +3 -3
- package/build/utils/quantumult.js.map +1 -1
- package/build/utils/surfboard.js +3 -3
- package/build/utils/surfboard.js.map +1 -1
- package/build/utils/surge.js +9 -7
- package/build/utils/surge.js.map +1 -1
- package/package.json +1 -1
- package/build/utils/filter.d.ts +0 -49
- package/build/utils/filter.js +0 -280
- package/build/utils/filter.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { NodeFilterType, SortedNodeFilterType, PossibleNodeConfigType } from '../types';
|
|
2
|
+
export declare class SortFilterWithSortedFilters implements SortedNodeFilterType {
|
|
3
|
+
_filters: Array<NodeFilterType>;
|
|
4
|
+
readonly supportSort = true;
|
|
5
|
+
constructor(_filters: Array<NodeFilterType>);
|
|
6
|
+
filter<T extends PossibleNodeConfigType>(nodeList: ReadonlyArray<T>): ReadonlyArray<T>;
|
|
7
|
+
}
|
|
8
|
+
export declare class SortFilterWithSortedKeywords implements SortedNodeFilterType {
|
|
9
|
+
_keywords: Array<string>;
|
|
10
|
+
readonly supportSort = true;
|
|
11
|
+
constructor(_keywords: Array<string>);
|
|
12
|
+
filter<T extends PossibleNodeConfigType>(nodeList: ReadonlyArray<T>): ReadonlyArray<T>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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.SortFilterWithSortedKeywords = exports.SortFilterWithSortedFilters = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
9
|
+
class SortFilterWithSortedFilters {
|
|
10
|
+
_filters;
|
|
11
|
+
supportSort = true;
|
|
12
|
+
constructor(_filters) {
|
|
13
|
+
this._filters = _filters;
|
|
14
|
+
this.filter.bind(this);
|
|
15
|
+
}
|
|
16
|
+
filter(nodeList) {
|
|
17
|
+
const result = [];
|
|
18
|
+
this._filters.forEach((filter) => {
|
|
19
|
+
result.push(...nodeList.filter(filter));
|
|
20
|
+
});
|
|
21
|
+
return lodash_1.default.uniqBy(result, (node) => node.nodeName);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.SortFilterWithSortedFilters = SortFilterWithSortedFilters;
|
|
25
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
26
|
+
class SortFilterWithSortedKeywords {
|
|
27
|
+
_keywords;
|
|
28
|
+
supportSort = true;
|
|
29
|
+
constructor(_keywords) {
|
|
30
|
+
this._keywords = _keywords;
|
|
31
|
+
this.filter.bind(this);
|
|
32
|
+
}
|
|
33
|
+
filter(nodeList) {
|
|
34
|
+
const result = [];
|
|
35
|
+
this._keywords.forEach((keyword) => {
|
|
36
|
+
result.push(...nodeList.filter((node) => node.nodeName.includes(keyword)));
|
|
37
|
+
});
|
|
38
|
+
return lodash_1.default.uniqBy(result, (node) => node.nodeName);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SortFilterWithSortedKeywords = SortFilterWithSortedKeywords;
|
|
42
|
+
//# sourceMappingURL=classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../src/filters/classes.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AAQtB,gDAAgD;AAChD,MAAa,2BAA2B;IAGnB;IAFH,WAAW,GAAG,IAAI,CAAA;IAElC,YAAmB,QAA+B;QAA/B,aAAQ,GAAR,QAAQ,CAAuB;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAEM,MAAM,CACX,QAA0B;QAE1B,MAAM,MAAM,GAAQ,EAAE,CAAA;QAEtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,OAAO,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;CACF;AAlBD,kEAkBC;AAED,gDAAgD;AAChD,MAAa,4BAA4B;IAGpB;IAFH,WAAW,GAAG,IAAI,CAAA;IAElC,YAAmB,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAEM,MAAM,CACX,QAA0B;QAE1B,MAAM,MAAM,GAAQ,EAAE,CAAA;QAEtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,OAAO,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;CACF;AAlBD,oEAkBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NodeFilterType } from '../types';
|
|
2
|
+
export declare const netflixFilter: NodeFilterType;
|
|
3
|
+
export declare const usFilter: NodeFilterType;
|
|
4
|
+
export declare const hkFilter: NodeFilterType;
|
|
5
|
+
export declare const japanFilter: NodeFilterType;
|
|
6
|
+
export declare const koreaFilter: NodeFilterType;
|
|
7
|
+
export declare const singaporeFilter: NodeFilterType;
|
|
8
|
+
export declare const taiwanFilter: NodeFilterType;
|
|
9
|
+
export declare const chinaBackFilter: NodeFilterType;
|
|
10
|
+
export declare const chinaOutFilter: NodeFilterType;
|
|
11
|
+
export declare const youtubePremiumFilter: NodeFilterType;
|
|
12
|
+
export declare const shadowsocksFilter: NodeFilterType;
|
|
13
|
+
export declare const shadowsocksrFilter: NodeFilterType;
|
|
14
|
+
export declare const vmessFilter: NodeFilterType;
|
|
15
|
+
export declare const v2rayFilter: NodeFilterType;
|
|
16
|
+
export declare const snellFilter: NodeFilterType;
|
|
17
|
+
export declare const tuicFilter: NodeFilterType;
|
|
18
|
+
export declare const httpFilter: NodeFilterType;
|
|
19
|
+
export declare const httpsFilter: NodeFilterType;
|
|
20
|
+
export declare const trojanFilter: NodeFilterType;
|
|
21
|
+
export declare const socks5Filter: NodeFilterType;
|
|
22
|
+
export declare const wireguardFilter: NodeFilterType;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wireguardFilter = exports.socks5Filter = exports.trojanFilter = exports.httpsFilter = exports.httpFilter = exports.tuicFilter = exports.snellFilter = exports.v2rayFilter = exports.vmessFilter = exports.shadowsocksrFilter = exports.shadowsocksFilter = exports.youtubePremiumFilter = exports.chinaOutFilter = exports.chinaBackFilter = exports.taiwanFilter = exports.singaporeFilter = exports.koreaFilter = exports.japanFilter = exports.hkFilter = exports.usFilter = exports.netflixFilter = void 0;
|
|
4
|
+
const flag_cn_1 = require("../misc/flag_cn");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const netflixFilter = (item) => {
|
|
8
|
+
return ['netflix', 'nf', 'hkbn', 'hkt', 'hgc', 'nbu'].some((key) => item.nodeName.toLowerCase().includes(key));
|
|
9
|
+
};
|
|
10
|
+
exports.netflixFilter = netflixFilter;
|
|
11
|
+
const usFilter = (item) => {
|
|
12
|
+
return ['🇺🇸', ...flag_cn_1.FLAGS['🇺🇸']].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
13
|
+
};
|
|
14
|
+
exports.usFilter = usFilter;
|
|
15
|
+
const hkFilter = (item) => {
|
|
16
|
+
return ['🇭🇰', ...flag_cn_1.FLAGS['🇭🇰']].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
17
|
+
};
|
|
18
|
+
exports.hkFilter = hkFilter;
|
|
19
|
+
const japanFilter = (item) => {
|
|
20
|
+
return ['🇯🇵', ...flag_cn_1.FLAGS['🇯🇵']].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
21
|
+
};
|
|
22
|
+
exports.japanFilter = japanFilter;
|
|
23
|
+
const koreaFilter = (item) => {
|
|
24
|
+
return ['🇰🇷', ...flag_cn_1.FLAGS['🇰🇷']].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
25
|
+
};
|
|
26
|
+
exports.koreaFilter = koreaFilter;
|
|
27
|
+
const singaporeFilter = (item) => {
|
|
28
|
+
return ['🇸🇬', ...flag_cn_1.FLAGS['🇸🇬']].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
29
|
+
};
|
|
30
|
+
exports.singaporeFilter = singaporeFilter;
|
|
31
|
+
const taiwanFilter = (item) => {
|
|
32
|
+
return ['🇹🇼', ...flag_cn_1.TAIWAN].some((key) => item.nodeName.toUpperCase().includes(key));
|
|
33
|
+
};
|
|
34
|
+
exports.taiwanFilter = taiwanFilter;
|
|
35
|
+
const chinaBackFilter = (item) => {
|
|
36
|
+
return [
|
|
37
|
+
'回国',
|
|
38
|
+
'Back',
|
|
39
|
+
'中国上海',
|
|
40
|
+
'中国北京',
|
|
41
|
+
'中国徐州',
|
|
42
|
+
'中国深圳',
|
|
43
|
+
'中国枣庄',
|
|
44
|
+
'中国郑州',
|
|
45
|
+
'硅谷上海',
|
|
46
|
+
'东京上海',
|
|
47
|
+
'GCX',
|
|
48
|
+
].some((key) => item.nodeName.includes(key));
|
|
49
|
+
};
|
|
50
|
+
exports.chinaBackFilter = chinaBackFilter;
|
|
51
|
+
exports.chinaOutFilter = (0, utils_1.reverseFilter)(exports.chinaBackFilter);
|
|
52
|
+
exports.youtubePremiumFilter = (0, utils_1.mergeFilters)([
|
|
53
|
+
exports.usFilter,
|
|
54
|
+
exports.japanFilter,
|
|
55
|
+
exports.koreaFilter,
|
|
56
|
+
exports.hkFilter,
|
|
57
|
+
exports.singaporeFilter,
|
|
58
|
+
exports.taiwanFilter,
|
|
59
|
+
]);
|
|
60
|
+
// istanbul ignore next
|
|
61
|
+
const shadowsocksFilter = (item) => item.type === types_1.NodeTypeEnum.Shadowsocks;
|
|
62
|
+
exports.shadowsocksFilter = shadowsocksFilter;
|
|
63
|
+
// istanbul ignore next
|
|
64
|
+
const shadowsocksrFilter = (item) => item.type === types_1.NodeTypeEnum.Shadowsocksr;
|
|
65
|
+
exports.shadowsocksrFilter = shadowsocksrFilter;
|
|
66
|
+
// istanbul ignore next
|
|
67
|
+
const vmessFilter = (item) => item.type === types_1.NodeTypeEnum.Vmess;
|
|
68
|
+
exports.vmessFilter = vmessFilter;
|
|
69
|
+
// istanbul ignore next
|
|
70
|
+
const v2rayFilter = (item) => item.type === types_1.NodeTypeEnum.Vmess;
|
|
71
|
+
exports.v2rayFilter = v2rayFilter;
|
|
72
|
+
// istanbul ignore next
|
|
73
|
+
const snellFilter = (item) => item.type === types_1.NodeTypeEnum.Snell;
|
|
74
|
+
exports.snellFilter = snellFilter;
|
|
75
|
+
// istanbul ignore next
|
|
76
|
+
const tuicFilter = (item) => item.type === types_1.NodeTypeEnum.Tuic;
|
|
77
|
+
exports.tuicFilter = tuicFilter;
|
|
78
|
+
// istanbul ignore next
|
|
79
|
+
const httpFilter = (item) => item.type === types_1.NodeTypeEnum.HTTP;
|
|
80
|
+
exports.httpFilter = httpFilter;
|
|
81
|
+
// istanbul ignore next
|
|
82
|
+
const httpsFilter = (item) => item.type === types_1.NodeTypeEnum.HTTPS;
|
|
83
|
+
exports.httpsFilter = httpsFilter;
|
|
84
|
+
// istanbul ignore next
|
|
85
|
+
const trojanFilter = (item) => item.type === types_1.NodeTypeEnum.Trojan;
|
|
86
|
+
exports.trojanFilter = trojanFilter;
|
|
87
|
+
// istanbul ignore next
|
|
88
|
+
const socks5Filter = (item) => item.type === types_1.NodeTypeEnum.Socks5;
|
|
89
|
+
exports.socks5Filter = socks5Filter;
|
|
90
|
+
// istanbul ignore next
|
|
91
|
+
const wireguardFilter = (item) => item.type === types_1.NodeTypeEnum.Wireguard;
|
|
92
|
+
exports.wireguardFilter = wireguardFilter;
|
|
93
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/filters/filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.internalFilters = void 0;
|
|
30
|
+
exports.internalFilters = __importStar(require("./filters"));
|
|
31
|
+
__exportStar(require("./utils"), exports);
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA4C;AAC5C,0CAAuB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
|
|
2
|
+
export declare const validateFilter: (filter: unknown) => boolean;
|
|
3
|
+
export declare const applyFilter: <T extends PossibleNodeConfigType>(nodeList: readonly T[], filter?: NodeFilterType | SortedNodeFilterType) => readonly T[];
|
|
4
|
+
export declare const mergeFilters: (filters: Array<NodeFilterType>, isStrict?: boolean) => NodeFilterType;
|
|
5
|
+
export declare const useKeywords: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
|
|
6
|
+
export declare const discardKeywords: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
|
|
7
|
+
export declare const useRegexp: (regexp: RegExp) => NodeFilterType;
|
|
8
|
+
export declare const matchGlob: (str: string, glob: string) => boolean;
|
|
9
|
+
export declare const useGlob: (glob: string) => NodeFilterType;
|
|
10
|
+
export declare const discardGlob: (glob: string) => NodeFilterType;
|
|
11
|
+
export declare const useProviders: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
|
|
12
|
+
export declare const discardProviders: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
|
|
13
|
+
export declare const useSortedKeywords: (keywords: Array<string>) => SortedNodeFilterType;
|
|
14
|
+
export declare const mergeSortedFilters: (filters: Array<NodeFilterType>) => SortedNodeFilterType;
|
|
15
|
+
export declare const reverseFilter: (filter: NodeFilterType) => NodeFilterType;
|
|
16
|
+
export declare const mergeReversedFilters: (filters: Array<NodeFilterType>, isStrict?: boolean) => NodeFilterType;
|
|
@@ -0,0 +1,159 @@
|
|
|
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.mergeReversedFilters = exports.reverseFilter = exports.mergeSortedFilters = exports.useSortedKeywords = exports.discardProviders = exports.useProviders = exports.discardGlob = exports.useGlob = exports.matchGlob = exports.useRegexp = exports.discardKeywords = exports.useKeywords = exports.mergeFilters = exports.applyFilter = exports.validateFilter = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const micromatch_1 = __importDefault(require("micromatch"));
|
|
9
|
+
const classes_1 = require("./classes");
|
|
10
|
+
const validateFilter = (filter) => {
|
|
11
|
+
if (filter === null || filter === undefined) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (typeof filter === 'function') {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return (typeof filter === 'object' &&
|
|
18
|
+
'supportSort' in filter &&
|
|
19
|
+
'filter' in filter &&
|
|
20
|
+
typeof filter.supportSort === 'boolean' &&
|
|
21
|
+
typeof filter.filter === 'function');
|
|
22
|
+
};
|
|
23
|
+
exports.validateFilter = validateFilter;
|
|
24
|
+
const applyFilter = (nodeList, filter) => {
|
|
25
|
+
// istanbul ignore next
|
|
26
|
+
if (filter && !(0, exports.validateFilter)(filter)) {
|
|
27
|
+
throw new Error(`使用了无效的过滤器 ${filter}`);
|
|
28
|
+
}
|
|
29
|
+
let newNodeList = nodeList.filter((item) => {
|
|
30
|
+
// Only checks the enable property when it's present, default to true
|
|
31
|
+
const isEnabled = item.enable !== false;
|
|
32
|
+
if (filter && typeof filter === 'function') {
|
|
33
|
+
return filter(item) && isEnabled;
|
|
34
|
+
}
|
|
35
|
+
return isEnabled;
|
|
36
|
+
});
|
|
37
|
+
if (filter &&
|
|
38
|
+
typeof filter === 'object' &&
|
|
39
|
+
typeof filter.filter === 'function') {
|
|
40
|
+
newNodeList = filter.filter(newNodeList);
|
|
41
|
+
}
|
|
42
|
+
return newNodeList;
|
|
43
|
+
};
|
|
44
|
+
exports.applyFilter = applyFilter;
|
|
45
|
+
const mergeFilters = (filters, isStrict) => {
|
|
46
|
+
filters.forEach((filter) => {
|
|
47
|
+
if ('supportSort' in filter && filter.supportSort) {
|
|
48
|
+
throw new Error('mergeFilters 不支持包含排序功能的过滤器');
|
|
49
|
+
}
|
|
50
|
+
// istanbul ignore next
|
|
51
|
+
if (typeof filter !== 'function') {
|
|
52
|
+
throw new Error('mergeFilters 传入了无效的过滤器');
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return (item) => {
|
|
56
|
+
return filters[isStrict ? 'every' : 'some']((filter) => filter(item));
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
exports.mergeFilters = mergeFilters;
|
|
60
|
+
const useKeywords = (keywords, isStrict) => {
|
|
61
|
+
// istanbul ignore next
|
|
62
|
+
if (!Array.isArray(keywords)) {
|
|
63
|
+
throw new Error('keywords 请使用数组');
|
|
64
|
+
}
|
|
65
|
+
return (item) => keywords[isStrict ? 'every' : 'some']((keyword) => item.nodeName.includes(keyword));
|
|
66
|
+
};
|
|
67
|
+
exports.useKeywords = useKeywords;
|
|
68
|
+
const discardKeywords = (keywords, isStrict) => {
|
|
69
|
+
// istanbul ignore next
|
|
70
|
+
if (!Array.isArray(keywords)) {
|
|
71
|
+
throw new Error('keywords 请使用数组');
|
|
72
|
+
}
|
|
73
|
+
return (item) => !keywords[isStrict ? 'every' : 'some']((keyword) => item.nodeName.includes(keyword));
|
|
74
|
+
};
|
|
75
|
+
exports.discardKeywords = discardKeywords;
|
|
76
|
+
const useRegexp = (regexp) => {
|
|
77
|
+
// istanbul ignore next
|
|
78
|
+
if (!lodash_1.default.isRegExp(regexp)) {
|
|
79
|
+
throw new Error('入参不是一个合法的正则表达式');
|
|
80
|
+
}
|
|
81
|
+
return (item) => regexp.test(item.nodeName);
|
|
82
|
+
};
|
|
83
|
+
exports.useRegexp = useRegexp;
|
|
84
|
+
const matchGlob = (str, glob) => {
|
|
85
|
+
return micromatch_1.default.contains(str, glob);
|
|
86
|
+
};
|
|
87
|
+
exports.matchGlob = matchGlob;
|
|
88
|
+
const useGlob = (glob) => {
|
|
89
|
+
return (item) => (0, exports.matchGlob)(item.nodeName, glob);
|
|
90
|
+
};
|
|
91
|
+
exports.useGlob = useGlob;
|
|
92
|
+
const discardGlob = (glob) => {
|
|
93
|
+
return (item) => !(0, exports.matchGlob)(item.nodeName, glob);
|
|
94
|
+
};
|
|
95
|
+
exports.discardGlob = discardGlob;
|
|
96
|
+
const useProviders = (keywords, isStrict = true) => {
|
|
97
|
+
// istanbul ignore next
|
|
98
|
+
if (!Array.isArray(keywords)) {
|
|
99
|
+
throw new Error('keywords 请使用数组');
|
|
100
|
+
}
|
|
101
|
+
return (item) => keywords.some((keyword) => isStrict
|
|
102
|
+
? item?.provider?.name === keyword
|
|
103
|
+
: item?.provider?.name.includes(keyword));
|
|
104
|
+
};
|
|
105
|
+
exports.useProviders = useProviders;
|
|
106
|
+
const discardProviders = (keywords, isStrict = true) => {
|
|
107
|
+
// istanbul ignore next
|
|
108
|
+
if (!Array.isArray(keywords)) {
|
|
109
|
+
throw new Error('keywords 请使用数组');
|
|
110
|
+
}
|
|
111
|
+
return (item) => !keywords.some((keyword) => isStrict
|
|
112
|
+
? item?.provider?.name === keyword
|
|
113
|
+
: item?.provider?.name.includes(keyword));
|
|
114
|
+
};
|
|
115
|
+
exports.discardProviders = discardProviders;
|
|
116
|
+
const useSortedKeywords = (keywords) => {
|
|
117
|
+
// istanbul ignore next
|
|
118
|
+
if (!Array.isArray(keywords)) {
|
|
119
|
+
throw new Error('keywords 请使用数组');
|
|
120
|
+
}
|
|
121
|
+
return new classes_1.SortFilterWithSortedKeywords(keywords);
|
|
122
|
+
};
|
|
123
|
+
exports.useSortedKeywords = useSortedKeywords;
|
|
124
|
+
const mergeSortedFilters = (filters) => {
|
|
125
|
+
filters.forEach((filter) => {
|
|
126
|
+
if ('supportSort' in filter && filter.supportSort) {
|
|
127
|
+
throw new Error('mergeSortedFilters 不支持包含排序功能的过滤器');
|
|
128
|
+
}
|
|
129
|
+
// istanbul ignore next
|
|
130
|
+
if (typeof filter !== 'function') {
|
|
131
|
+
throw new Error('mergeSortedFilters 传入了无效的过滤器');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return new classes_1.SortFilterWithSortedFilters(filters);
|
|
135
|
+
};
|
|
136
|
+
exports.mergeSortedFilters = mergeSortedFilters;
|
|
137
|
+
const reverseFilter = (filter) => {
|
|
138
|
+
if ('supportSort' in filter && filter.supportSort) {
|
|
139
|
+
throw new Error('reverseFilter 不支持包含排序功能的过滤器');
|
|
140
|
+
}
|
|
141
|
+
return (item) => !filter(item);
|
|
142
|
+
};
|
|
143
|
+
exports.reverseFilter = reverseFilter;
|
|
144
|
+
const mergeReversedFilters = (filters, isStrict) => {
|
|
145
|
+
filters.forEach((filter) => {
|
|
146
|
+
if ('supportSort' in filter && filter.supportSort) {
|
|
147
|
+
throw new Error('mergeReversedFilters 不支持包含排序功能的过滤器');
|
|
148
|
+
}
|
|
149
|
+
// istanbul ignore next
|
|
150
|
+
if (typeof filter !== 'function') {
|
|
151
|
+
throw new Error('mergeReversedFilters 传入了无效的过滤器');
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
return (item) => {
|
|
155
|
+
return filters[isStrict ? 'some' : 'every']((filter) => filter(item));
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
exports.mergeReversedFilters = mergeReversedFilters;
|
|
159
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/filters/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,38 @@ export declare class Artifact extends EventEmitter {
|
|
|
24
24
|
constructor(surgioConfig: CommandConfig, artifact: ArtifactConfig, options?: ArtifactOptions);
|
|
25
25
|
get isReady(): boolean;
|
|
26
26
|
getRenderContext(extendRenderContext?: ExtendableRenderContext): {
|
|
27
|
+
readonly netflixFilter: NonNullable<((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
28
|
+
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
29
|
+
readonly supportSort: true;
|
|
30
|
+
} | undefined>;
|
|
31
|
+
readonly youtubePremiumFilter: NonNullable<((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
32
|
+
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
33
|
+
readonly supportSort: true;
|
|
34
|
+
} | undefined>;
|
|
35
|
+
readonly customFilters: Record<string, ((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
36
|
+
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
37
|
+
readonly supportSort: true;
|
|
38
|
+
}>;
|
|
39
|
+
readonly customParams: Readonly<Record<string, any>>;
|
|
40
|
+
readonly usFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
41
|
+
readonly hkFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
42
|
+
readonly japanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
43
|
+
readonly koreaFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
44
|
+
readonly singaporeFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
45
|
+
readonly taiwanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
46
|
+
readonly chinaBackFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
47
|
+
readonly chinaOutFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
48
|
+
readonly shadowsocksFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
49
|
+
readonly shadowsocksrFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
50
|
+
readonly vmessFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
51
|
+
readonly v2rayFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
52
|
+
readonly snellFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
53
|
+
readonly tuicFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
54
|
+
readonly httpFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
55
|
+
readonly httpsFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
56
|
+
readonly trojanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
57
|
+
readonly socks5Filter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
58
|
+
readonly wireguardFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
27
59
|
readonly proxyTestUrl: string | undefined;
|
|
28
60
|
readonly proxyTestInterval: number | undefined;
|
|
29
61
|
readonly internetTestUrl: string | undefined;
|
|
@@ -286,40 +318,9 @@ export declare class Artifact extends EventEmitter {
|
|
|
286
318
|
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
287
319
|
readonly supportSort: true;
|
|
288
320
|
} | undefined, separator?: string | undefined) => string;
|
|
289
|
-
readonly usFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
290
|
-
readonly hkFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
291
|
-
readonly japanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
292
|
-
readonly koreaFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
293
|
-
readonly singaporeFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
294
|
-
readonly taiwanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
295
|
-
readonly chinaBackFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
296
|
-
readonly chinaOutFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
297
|
-
readonly shadowsocksFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
298
|
-
readonly shadowsocksrFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
299
|
-
readonly vmessFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
300
|
-
readonly v2rayFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
301
|
-
readonly snellFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
302
|
-
readonly httpFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
303
|
-
readonly httpsFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
304
|
-
readonly trojanFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
305
|
-
readonly socks5Filter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
306
|
-
readonly wireguardFilter: (nodeConfig: PossibleNodeConfigType) => boolean;
|
|
307
321
|
readonly toUrlSafeBase64: (str: string) => string;
|
|
308
322
|
readonly toBase64: (str: string) => string;
|
|
309
323
|
readonly encodeURIComponent: typeof encodeURIComponent;
|
|
310
|
-
readonly netflixFilter: NonNullable<((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
311
|
-
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
312
|
-
readonly supportSort: true;
|
|
313
|
-
} | undefined>;
|
|
314
|
-
readonly youtubePremiumFilter: NonNullable<((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
315
|
-
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
316
|
-
readonly supportSort: true;
|
|
317
|
-
} | undefined>;
|
|
318
|
-
readonly customFilters: Record<string, ((nodeConfig: PossibleNodeConfigType) => boolean) | {
|
|
319
|
-
readonly filter: <T extends PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
|
|
320
|
-
readonly supportSort: true;
|
|
321
|
-
}>;
|
|
322
|
-
readonly customParams: Readonly<Record<string, any>>;
|
|
323
324
|
};
|
|
324
325
|
init(params?: {
|
|
325
326
|
getNodeListParams?: GetNodeListParams;
|
|
@@ -14,8 +14,7 @@ const provider_1 = require("../provider");
|
|
|
14
14
|
const types_1 = require("../types");
|
|
15
15
|
const utils_1 = require("../utils");
|
|
16
16
|
const dns_1 = require("../utils/dns");
|
|
17
|
-
const
|
|
18
|
-
const filter_1 = require("../utils/filter");
|
|
17
|
+
const filters_1 = require("../filters");
|
|
19
18
|
const flag_1 = require("../utils/flag");
|
|
20
19
|
const template_1 = require("./template");
|
|
21
20
|
class Artifact extends events_1.EventEmitter {
|
|
@@ -28,8 +27,8 @@ class Artifact extends events_1.EventEmitter {
|
|
|
28
27
|
providerMap = new Map();
|
|
29
28
|
nodeList = [];
|
|
30
29
|
customFilters = {};
|
|
31
|
-
netflixFilter =
|
|
32
|
-
youtubePremiumFilter =
|
|
30
|
+
netflixFilter = filters_1.internalFilters.netflixFilter;
|
|
31
|
+
youtubePremiumFilter = filters_1.internalFilters.youtubePremiumFilter;
|
|
33
32
|
constructor(surgioConfig, artifact, options = {}) {
|
|
34
33
|
super();
|
|
35
34
|
this.surgioConfig = surgioConfig;
|
|
@@ -84,27 +83,10 @@ class Artifact extends events_1.EventEmitter {
|
|
|
84
83
|
getQuantumultXNodeNames: utils_1.getQuantumultXNodeNames,
|
|
85
84
|
getLoonNodes: utils_1.getLoonNodes,
|
|
86
85
|
getLoonNodeNames: utils_1.getLoonNodeNames,
|
|
87
|
-
usFilter: filter_1.usFilter,
|
|
88
|
-
hkFilter: filter_1.hkFilter,
|
|
89
|
-
japanFilter: filter_1.japanFilter,
|
|
90
|
-
koreaFilter: filter_1.koreaFilter,
|
|
91
|
-
singaporeFilter: filter_1.singaporeFilter,
|
|
92
|
-
taiwanFilter: filter_1.taiwanFilter,
|
|
93
|
-
chinaBackFilter: filter_1.chinaBackFilter,
|
|
94
|
-
chinaOutFilter: filter_1.chinaOutFilter,
|
|
95
|
-
shadowsocksFilter: filter_1.shadowsocksFilter,
|
|
96
|
-
shadowsocksrFilter: filter_1.shadowsocksrFilter,
|
|
97
|
-
vmessFilter: filter_1.vmessFilter,
|
|
98
|
-
v2rayFilter: filter_1.v2rayFilter,
|
|
99
|
-
snellFilter: filter_1.snellFilter,
|
|
100
|
-
httpFilter: filter_1.httpFilter,
|
|
101
|
-
httpsFilter: filter_1.httpsFilter,
|
|
102
|
-
trojanFilter: filter_1.trojanFilter,
|
|
103
|
-
socks5Filter: filter_1.socks5Filter,
|
|
104
|
-
wireguardFilter: filter_1.wireguardFilter,
|
|
105
86
|
toUrlSafeBase64: utils_1.toUrlSafeBase64,
|
|
106
87
|
toBase64: utils_1.toBase64,
|
|
107
88
|
encodeURIComponent,
|
|
89
|
+
...filters_1.internalFilters,
|
|
108
90
|
netflixFilter,
|
|
109
91
|
youtubePremiumFilter,
|
|
110
92
|
customFilters,
|
|
@@ -119,7 +101,7 @@ class Artifact extends events_1.EventEmitter {
|
|
|
119
101
|
await bluebird_1.default.map(this.providerNameList, async (providerName) => {
|
|
120
102
|
await this.providerMapper(providerName, params.getNodeListParams);
|
|
121
103
|
}, {
|
|
122
|
-
concurrency: (0,
|
|
104
|
+
concurrency: (0, utils_1.getNetworkConcurrency)(),
|
|
123
105
|
});
|
|
124
106
|
this.providerNameList.forEach((providerName) => {
|
|
125
107
|
const nodeConfigList = this.nodeConfigListMap.get(providerName);
|
|
@@ -245,7 +227,7 @@ class Artifact extends events_1.EventEmitter {
|
|
|
245
227
|
...provider.config.customFilters,
|
|
246
228
|
};
|
|
247
229
|
}
|
|
248
|
-
if ((0,
|
|
230
|
+
if ((0, filters_1.validateFilter)(provider.config.nodeFilter) &&
|
|
249
231
|
typeof provider.config.nodeFilter === 'object' &&
|
|
250
232
|
provider.config.nodeFilter.supportSort) {
|
|
251
233
|
nodeConfigList = provider.config.nodeFilter.filter(nodeConfigList);
|
|
@@ -258,7 +240,7 @@ class Artifact extends events_1.EventEmitter {
|
|
|
258
240
|
if (!provider.config.nodeFilter) {
|
|
259
241
|
isValid = true;
|
|
260
242
|
}
|
|
261
|
-
else if ((0,
|
|
243
|
+
else if ((0, filters_1.validateFilter)(provider.config.nodeFilter)) {
|
|
262
244
|
isValid =
|
|
263
245
|
typeof provider.config.nodeFilter === 'function'
|
|
264
246
|
? provider.config.nodeFilter(nodeConfig)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/generator/artifact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/generator/artifact.ts"],"names":[],"mappings":"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"}
|