surgio 3.1.0 → 3.2.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/build/index.d.ts +7 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/utils/useragent.d.ts +16 -0
- package/build/utils/useragent.js +168 -0
- package/build/utils/useragent.js.map +1 -0
- package/package.json +2 -1
package/build/index.d.ts
CHANGED
|
@@ -13,6 +13,13 @@ export declare const utils: {
|
|
|
13
13
|
readonly isAWS: () => boolean;
|
|
14
14
|
readonly isFlyIO: () => boolean;
|
|
15
15
|
readonly isAWSLambda: () => boolean;
|
|
16
|
+
readonly isSurgeIOS: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
17
|
+
readonly isSurgeMac: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
18
|
+
readonly isClash: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
19
|
+
readonly isStash: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
20
|
+
readonly isQuantumultX: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
21
|
+
readonly isShadowrocket: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
22
|
+
readonly isLoon: (ua: string | undefined, version?: string | undefined) => boolean;
|
|
16
23
|
readonly validateFilter: (filter: unknown) => boolean;
|
|
17
24
|
readonly applyFilter: <T extends import("./types").PossibleNodeConfigType>(nodeList: readonly T[], filter?: ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean) | {
|
|
18
25
|
readonly filter: <T_1 extends import("./types").PossibleNodeConfigType>(nodeList: readonly T_1[]) => readonly T_1[];
|
package/build/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.categories = exports.utils = exports.cache = exports.httpClient = void 0;
|
|
33
33
|
const utils_1 = require("./utils");
|
|
34
|
+
const useragentUtils = __importStar(require("./utils/useragent"));
|
|
34
35
|
const filters = __importStar(require("./filters"));
|
|
35
36
|
const constant_1 = require("./constant");
|
|
36
37
|
__exportStar(require("./configurables"), exports);
|
|
@@ -42,6 +43,7 @@ const { internalFilters, ...filtersUtils } = filters;
|
|
|
42
43
|
exports.utils = {
|
|
43
44
|
...internalFilters,
|
|
44
45
|
...filtersUtils,
|
|
46
|
+
...useragentUtils,
|
|
45
47
|
isHeroku: utils_1.isHeroku,
|
|
46
48
|
isNow: utils_1.isNow,
|
|
47
49
|
isVercel: utils_1.isVercel,
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAWgB;AAChB,mDAAoC;AACpC,yCAAuC;AAGvC,kDAA+B;AAC/B,mDAA2D;AAAlD,0HAAA,OAAO,OAAc;AAC9B,uCAAqD;AAA5C,8FAAA,YAAY,OAAS;AAE9B,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;AAEvC,QAAA,KAAK,GAAG;IACnB,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,gBAAQ;IACR,eAAe,EAAf,uBAAe;IACf,UAAU,EAAV,kBAAU;IACV,SAAS,EAAT,iBAAS;IACT,SAAS,EAAT,iBAAS;IACT,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,WAAW,EAAX,mBAAW;CACH,CAAA;AAEG,QAAA,UAAU,GAAG,qBAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAWgB;AAChB,kEAAmD;AACnD,mDAAoC;AACpC,yCAAuC;AAGvC,kDAA+B;AAC/B,mDAA2D;AAAlD,0HAAA,OAAO,OAAc;AAC9B,uCAAqD;AAA5C,8FAAA,YAAY,OAAS;AAE9B,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;AAEvC,QAAA,KAAK,GAAG;IACnB,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,cAAc;IACjB,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,gBAAQ;IACR,eAAe,EAAf,uBAAe;IACf,UAAU,EAAV,kBAAU;IACV,SAAS,EAAT,iBAAS;IACT,SAAS,EAAT,iBAAS;IACT,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,WAAW,EAAX,mBAAW;CACH,CAAA;AAEG,QAAA,UAAU,GAAG,qBAAU,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exapmle:
|
|
3
|
+
* isSurge('Surge iOS/2920')
|
|
4
|
+
* isSurge('Surge/1129 CFNetwork/1335.0.3.2 Darwin/21.6.0')
|
|
5
|
+
*/
|
|
6
|
+
export declare const isSurgeIOS: (ua: string | undefined, version?: string) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Exapmle:
|
|
9
|
+
* isSurge('Surge Mac/2408')
|
|
10
|
+
*/
|
|
11
|
+
export declare const isSurgeMac: (ua: string | undefined, version?: string) => boolean;
|
|
12
|
+
export declare const isClash: (ua: string | undefined, version?: string) => boolean;
|
|
13
|
+
export declare const isStash: (ua: string | undefined, version?: string) => boolean;
|
|
14
|
+
export declare const isQuantumultX: (ua: string | undefined, version?: string) => boolean;
|
|
15
|
+
export declare const isShadowrocket: (ua: string | undefined, version?: string) => boolean;
|
|
16
|
+
export declare const isLoon: (ua: string | undefined, version?: string) => boolean;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLoon = exports.isShadowrocket = exports.isQuantumultX = exports.isStash = exports.isClash = exports.isSurgeMac = exports.isSurgeIOS = void 0;
|
|
4
|
+
const compare_versions_1 = require("compare-versions");
|
|
5
|
+
/**
|
|
6
|
+
* Exapmle:
|
|
7
|
+
* isSurge('Surge iOS/2920')
|
|
8
|
+
* isSurge('Surge/1129 CFNetwork/1335.0.3.2 Darwin/21.6.0')
|
|
9
|
+
*/
|
|
10
|
+
const isSurgeIOS = (ua, version) => {
|
|
11
|
+
if (!ua) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const isClient = ua.toLowerCase().includes('surge ios');
|
|
15
|
+
if (!isClient) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (!version) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const matcher = /(surge ios)\/([\w\.]+)/i;
|
|
22
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
23
|
+
const clientVersion = result ? result[2] : '';
|
|
24
|
+
try {
|
|
25
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.isSurgeIOS = isSurgeIOS;
|
|
32
|
+
/**
|
|
33
|
+
* Exapmle:
|
|
34
|
+
* isSurge('Surge Mac/2408')
|
|
35
|
+
*/
|
|
36
|
+
const isSurgeMac = (ua, version) => {
|
|
37
|
+
if (!ua) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const isClient = ua.toLowerCase().includes('surge mac');
|
|
41
|
+
if (!isClient) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
if (!version) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
const matcher = /(surge mac)\/([\w\.]+)/i;
|
|
48
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
49
|
+
const clientVersion = result ? result[2] : '';
|
|
50
|
+
try {
|
|
51
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.isSurgeMac = isSurgeMac;
|
|
58
|
+
const isClash = (ua, version) => {
|
|
59
|
+
if (!ua) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
const isClient = ua.toLowerCase().includes('clash');
|
|
63
|
+
if (!isClient) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (!version) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
const matcher = /(clash)\/([\w\.]+)/i;
|
|
70
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
71
|
+
const clientVersion = result ? result[2] : '';
|
|
72
|
+
try {
|
|
73
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.isClash = isClash;
|
|
80
|
+
const isStash = (ua, version) => {
|
|
81
|
+
if (!ua) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
const isClient = ua.toLowerCase().includes('stash');
|
|
85
|
+
if (!isClient) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
if (!version) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
const matcher = /(stash)\/([\w\.]+)/i;
|
|
92
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
93
|
+
const clientVersion = result ? result[2] : '';
|
|
94
|
+
try {
|
|
95
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
exports.isStash = isStash;
|
|
102
|
+
const isQuantumultX = (ua, version) => {
|
|
103
|
+
if (!ua) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
const isClient = ua.includes('Quantumult%20X');
|
|
107
|
+
if (!isClient) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
if (!version) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
const matcher = /(Quantumult%20X)\/([\w\.]+)/i;
|
|
114
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
115
|
+
const clientVersion = result ? result[2] : '';
|
|
116
|
+
try {
|
|
117
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
exports.isQuantumultX = isQuantumultX;
|
|
124
|
+
const isShadowrocket = (ua, version) => {
|
|
125
|
+
if (!ua) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const isClient = ua.includes('Shadowrocket');
|
|
129
|
+
if (!isClient) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
if (!version) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
const matcher = /(Shadowrocket)\/([\w\.]+)/i;
|
|
136
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
137
|
+
const clientVersion = result ? result[2] : '';
|
|
138
|
+
try {
|
|
139
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
exports.isShadowrocket = isShadowrocket;
|
|
146
|
+
const isLoon = (ua, version) => {
|
|
147
|
+
if (!ua) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
const isClient = ua.includes('Loon');
|
|
151
|
+
if (!isClient) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
if (!version) {
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
const matcher = /(Loon)\/([\w\.]+)/i;
|
|
158
|
+
const result = matcher.exec(ua.toLowerCase());
|
|
159
|
+
const clientVersion = result ? result[2] : '';
|
|
160
|
+
try {
|
|
161
|
+
return (0, compare_versions_1.satisfies)(clientVersion, version);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
exports.isLoon = isLoon;
|
|
168
|
+
//# sourceMappingURL=useragent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useragent.js","sourceRoot":"","sources":["../../src/utils/useragent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "surgio",
|
|
3
3
|
"description": "Generating rules for Surge, Clash, Quantumult like a PRO",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
"chalk": "^4.1.2",
|
|
91
91
|
"change-case": "^4.1.2",
|
|
92
92
|
"check-node-version": "^4.2.1",
|
|
93
|
+
"compare-versions": "^6.1.0",
|
|
93
94
|
"date-fns": "^2.30.0",
|
|
94
95
|
"detect-newline": "^3.1.0",
|
|
95
96
|
"dotenv": "^16.3.1",
|