surgio 3.11.3 → 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.
Files changed (259) hide show
  1. package/package.json +48 -50
  2. package/build/base-command.d.ts +0 -20
  3. package/build/base-command.js +0 -75
  4. package/build/base-command.js.map +0 -1
  5. package/build/commands/check.d.ts +0 -10
  6. package/build/commands/check.js +0 -97
  7. package/build/commands/check.js.map +0 -1
  8. package/build/commands/clean-cache.d.ts +0 -6
  9. package/build/commands/clean-cache.js +0 -28
  10. package/build/commands/clean-cache.js.map +0 -1
  11. package/build/commands/doctor.d.ts +0 -6
  12. package/build/commands/doctor.js +0 -20
  13. package/build/commands/doctor.js.map +0 -1
  14. package/build/commands/generate.d.ts +0 -7
  15. package/build/commands/generate.js +0 -100
  16. package/build/commands/generate.js.map +0 -1
  17. package/build/commands/lint.d.ts +0 -6
  18. package/build/commands/lint.js +0 -37
  19. package/build/commands/lint.js.map +0 -1
  20. package/build/commands/new.d.ts +0 -6
  21. package/build/commands/new.js +0 -37
  22. package/build/commands/new.js.map +0 -1
  23. package/build/commands/subscriptions.d.ts +0 -7
  24. package/build/commands/subscriptions.js +0 -105
  25. package/build/commands/subscriptions.js.map +0 -1
  26. package/build/commands/upload.d.ts +0 -6
  27. package/build/commands/upload.js +0 -91
  28. package/build/commands/upload.js.map +0 -1
  29. package/build/config.d.ts +0 -6
  30. package/build/config.js +0 -156
  31. package/build/config.js.map +0 -1
  32. package/build/configurables.d.ts +0 -89
  33. package/build/configurables.js +0 -52
  34. package/build/configurables.js.map +0 -1
  35. package/build/constant/constant.d.ts +0 -36
  36. package/build/constant/constant.js +0 -160
  37. package/build/constant/constant.js.map +0 -1
  38. package/build/constant/env.d.ts +0 -9
  39. package/build/constant/env.js +0 -13
  40. package/build/constant/env.js.map +0 -1
  41. package/build/constant/error.d.ts +0 -1
  42. package/build/constant/error.js +0 -5
  43. package/build/constant/error.js.map +0 -1
  44. package/build/constant/index.d.ts +0 -3
  45. package/build/constant/index.js +0 -20
  46. package/build/constant/index.js.map +0 -1
  47. package/build/filters/classes.d.ts +0 -13
  48. package/build/filters/classes.js +0 -42
  49. package/build/filters/classes.js.map +0 -1
  50. package/build/filters/filters.d.ts +0 -25
  51. package/build/filters/filters.js +0 -107
  52. package/build/filters/filters.js.map +0 -1
  53. package/build/filters/index.d.ts +0 -2
  54. package/build/filters/index.js +0 -42
  55. package/build/filters/index.js.map +0 -1
  56. package/build/filters/utils.d.ts +0 -16
  57. package/build/filters/utils.js +0 -159
  58. package/build/filters/utils.js.map +0 -1
  59. package/build/generator/artifact.d.ts +0 -102
  60. package/build/generator/artifact.js +0 -370
  61. package/build/generator/artifact.js.map +0 -1
  62. package/build/generator/index.d.ts +0 -3
  63. package/build/generator/index.js +0 -25
  64. package/build/generator/index.js.map +0 -1
  65. package/build/generator/json-template.d.ts +0 -11
  66. package/build/generator/json-template.js +0 -66
  67. package/build/generator/json-template.js.map +0 -1
  68. package/build/generator/template.d.ts +0 -8
  69. package/build/generator/template.js +0 -234
  70. package/build/generator/template.js.map +0 -1
  71. package/build/hooks/init.d.ts +0 -3
  72. package/build/hooks/init.js +0 -43
  73. package/build/hooks/init.js.map +0 -1
  74. package/build/index.d.ts +0 -76
  75. package/build/index.js +0 -74
  76. package/build/index.js.map +0 -1
  77. package/build/internal.d.ts +0 -5
  78. package/build/internal.js +0 -25
  79. package/build/internal.js.map +0 -1
  80. package/build/misc/deprecation.d.ts +0 -0
  81. package/build/misc/deprecation.js +0 -2
  82. package/build/misc/deprecation.js.map +0 -1
  83. package/build/misc/flag_cn.d.ts +0 -56
  84. package/build/misc/flag_cn.js +0 -154
  85. package/build/misc/flag_cn.js.map +0 -1
  86. package/build/provider/BlackSSLProvider.d.ts +0 -11
  87. package/build/provider/BlackSSLProvider.js +0 -93
  88. package/build/provider/BlackSSLProvider.js.map +0 -1
  89. package/build/provider/ClashProvider.d.ts +0 -24
  90. package/build/provider/ClashProvider.js +0 -476
  91. package/build/provider/ClashProvider.js.map +0 -1
  92. package/build/provider/CustomProvider.d.ts +0 -10
  93. package/build/provider/CustomProvider.js +0 -144
  94. package/build/provider/CustomProvider.js.map +0 -1
  95. package/build/provider/Provider.d.ts +0 -17
  96. package/build/provider/Provider.js +0 -121
  97. package/build/provider/Provider.js.map +0 -1
  98. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -11
  99. package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -86
  100. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
  101. package/build/provider/ShadowsocksSubscribeProvider.d.ts +0 -18
  102. package/build/provider/ShadowsocksSubscribeProvider.js +0 -84
  103. package/build/provider/ShadowsocksSubscribeProvider.js.map +0 -1
  104. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +0 -15
  105. package/build/provider/ShadowsocksrSubscribeProvider.js +0 -93
  106. package/build/provider/ShadowsocksrSubscribeProvider.js.map +0 -1
  107. package/build/provider/SsdProvider.d.ts +0 -39
  108. package/build/provider/SsdProvider.js +0 -138
  109. package/build/provider/SsdProvider.js.map +0 -1
  110. package/build/provider/TrojanProvider.d.ts +0 -24
  111. package/build/provider/TrojanProvider.js +0 -98
  112. package/build/provider/TrojanProvider.js.map +0 -1
  113. package/build/provider/V2rayNSubscribeProvider.d.ts +0 -25
  114. package/build/provider/V2rayNSubscribeProvider.js +0 -181
  115. package/build/provider/V2rayNSubscribeProvider.js.map +0 -1
  116. package/build/provider/index.d.ts +0 -17
  117. package/build/provider/index.js +0 -54
  118. package/build/provider/index.js.map +0 -1
  119. package/build/provider/types.d.ts +0 -18
  120. package/build/provider/types.js +0 -3
  121. package/build/provider/types.js.map +0 -1
  122. package/build/redis.d.ts +0 -9
  123. package/build/redis.js +0 -63
  124. package/build/redis.js.map +0 -1
  125. package/build/types.d.ts +0 -138
  126. package/build/types.js +0 -31
  127. package/build/types.js.map +0 -1
  128. package/build/utils/cache.d.ts +0 -23
  129. package/build/utils/cache.js +0 -98
  130. package/build/utils/cache.js.map +0 -1
  131. package/build/utils/clash.d.ts +0 -3
  132. package/build/utils/clash.js +0 -451
  133. package/build/utils/clash.js.map +0 -1
  134. package/build/utils/constant.d.ts +0 -1
  135. package/build/utils/constant.js +0 -19
  136. package/build/utils/constant.js.map +0 -1
  137. package/build/utils/dns.d.ts +0 -3
  138. package/build/utils/dns.js +0 -51
  139. package/build/utils/dns.js.map +0 -1
  140. package/build/utils/doctor.d.ts +0 -2
  141. package/build/utils/doctor.js +0 -38
  142. package/build/utils/doctor.js.map +0 -1
  143. package/build/utils/env-flag.d.ts +0 -9
  144. package/build/utils/env-flag.js +0 -41
  145. package/build/utils/env-flag.js.map +0 -1
  146. package/build/utils/error-helper.d.ts +0 -2
  147. package/build/utils/error-helper.js +0 -62
  148. package/build/utils/error-helper.js.map +0 -1
  149. package/build/utils/errors.d.ts +0 -19
  150. package/build/utils/errors.js +0 -60
  151. package/build/utils/errors.js.map +0 -1
  152. package/build/utils/flag.d.ts +0 -3
  153. package/build/utils/flag.js +0 -79
  154. package/build/utils/flag.js.map +0 -1
  155. package/build/utils/http-client.d.ts +0 -3
  156. package/build/utils/http-client.js +0 -92
  157. package/build/utils/http-client.js.map +0 -1
  158. package/build/utils/index.d.ts +0 -90
  159. package/build/utils/index.js +0 -529
  160. package/build/utils/index.js.map +0 -1
  161. package/build/utils/linter.d.ts +0 -4
  162. package/build/utils/linter.js +0 -49
  163. package/build/utils/linter.js.map +0 -1
  164. package/build/utils/loon.d.ts +0 -3
  165. package/build/utils/loon.js +0 -236
  166. package/build/utils/loon.js.map +0 -1
  167. package/build/utils/quantumult.d.ts +0 -6
  168. package/build/utils/quantumult.js +0 -240
  169. package/build/utils/quantumult.js.map +0 -1
  170. package/build/utils/relayable-url.d.ts +0 -1
  171. package/build/utils/relayable-url.js +0 -18
  172. package/build/utils/relayable-url.js.map +0 -1
  173. package/build/utils/remote-snippet.d.ts +0 -8
  174. package/build/utils/remote-snippet.js +0 -208
  175. package/build/utils/remote-snippet.js.map +0 -1
  176. package/build/utils/singbox.d.ts +0 -3
  177. package/build/utils/singbox.js +0 -377
  178. package/build/utils/singbox.js.map +0 -1
  179. package/build/utils/ss.d.ts +0 -3
  180. package/build/utils/ss.js +0 -97
  181. package/build/utils/ss.js.map +0 -1
  182. package/build/utils/ssr.d.ts +0 -7
  183. package/build/utils/ssr.js +0 -53
  184. package/build/utils/ssr.js.map +0 -1
  185. package/build/utils/subscription.d.ts +0 -11
  186. package/build/utils/subscription.js +0 -68
  187. package/build/utils/subscription.js.map +0 -1
  188. package/build/utils/surfboard.d.ts +0 -7
  189. package/build/utils/surfboard.js +0 -184
  190. package/build/utils/surfboard.js.map +0 -1
  191. package/build/utils/surge.d.ts +0 -8
  192. package/build/utils/surge.js +0 -407
  193. package/build/utils/surge.js.map +0 -1
  194. package/build/utils/time.d.ts +0 -1
  195. package/build/utils/time.js +0 -6
  196. package/build/utils/time.js.map +0 -1
  197. package/build/utils/tmp-helper.d.ts +0 -30
  198. package/build/utils/tmp-helper.js +0 -102
  199. package/build/utils/tmp-helper.js.map +0 -1
  200. package/build/utils/trojan.d.ts +0 -2
  201. package/build/utils/trojan.js +0 -38
  202. package/build/utils/trojan.js.map +0 -1
  203. package/build/utils/useragent.d.ts +0 -18
  204. package/build/utils/useragent.js +0 -210
  205. package/build/utils/useragent.js.map +0 -1
  206. package/build/validators/artifact.d.ts +0 -47
  207. package/build/validators/artifact.js +0 -27
  208. package/build/validators/artifact.js.map +0 -1
  209. package/build/validators/common.d.ts +0 -377
  210. package/build/validators/common.js +0 -106
  211. package/build/validators/common.js.map +0 -1
  212. package/build/validators/filter.d.ts +0 -10
  213. package/build/validators/filter.js +0 -15
  214. package/build/validators/filter.js.map +0 -1
  215. package/build/validators/hooks.d.ts +0 -9
  216. package/build/validators/hooks.js +0 -11
  217. package/build/validators/hooks.js.map +0 -1
  218. package/build/validators/http.d.ts +0 -366
  219. package/build/validators/http.js +0 -23
  220. package/build/validators/http.js.map +0 -1
  221. package/build/validators/hysteria2.d.ts +0 -196
  222. package/build/validators/hysteria2.js +0 -15
  223. package/build/validators/hysteria2.js.map +0 -1
  224. package/build/validators/index.d.ts +0 -17
  225. package/build/validators/index.js +0 -34
  226. package/build/validators/index.js.map +0 -1
  227. package/build/validators/provider.d.ts +0 -120
  228. package/build/validators/provider.js +0 -46
  229. package/build/validators/provider.js.map +0 -1
  230. package/build/validators/shadowsocks.d.ts +0 -252
  231. package/build/validators/shadowsocks.js +0 -31
  232. package/build/validators/shadowsocks.js.map +0 -1
  233. package/build/validators/shadowsocksr.d.ts +0 -184
  234. package/build/validators/shadowsocksr.js +0 -19
  235. package/build/validators/shadowsocksr.js.map +0 -1
  236. package/build/validators/snell.d.ts +0 -178
  237. package/build/validators/snell.js +0 -17
  238. package/build/validators/snell.js.map +0 -1
  239. package/build/validators/socks5.d.ts +0 -196
  240. package/build/validators/socks5.js +0 -15
  241. package/build/validators/socks5.js.map +0 -1
  242. package/build/validators/surgio-config.d.ts +0 -392
  243. package/build/validators/surgio-config.js +0 -101
  244. package/build/validators/surgio-config.js.map +0 -1
  245. package/build/validators/trojan.d.ts +0 -255
  246. package/build/validators/trojan.js +0 -16
  247. package/build/validators/trojan.js.map +0 -1
  248. package/build/validators/tuic.d.ts +0 -741
  249. package/build/validators/tuic.js +0 -21
  250. package/build/validators/tuic.js.map +0 -1
  251. package/build/validators/vless.d.ts +0 -389
  252. package/build/validators/vless.js +0 -31
  253. package/build/validators/vless.js.map +0 -1
  254. package/build/validators/vmess.d.ts +0 -425
  255. package/build/validators/vmess.js +0 -86
  256. package/build/validators/vmess.js.map +0 -1
  257. package/build/validators/wireguard.d.ts +0 -230
  258. package/build/validators/wireguard.js +0 -26
  259. package/build/validators/wireguard.js.map +0 -1
@@ -1,6 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class NewCommand extends BaseCommand<typeof NewCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- export default NewCommand;
@@ -1,37 +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
- // istanbul ignore file
7
- const path_1 = require("path");
8
- const core_1 = require("@oclif/core");
9
- const hygen_1 = require("@royli/hygen");
10
- const base_command_1 = __importDefault(require("../base-command"));
11
- const defaultTemplates = (0, path_1.join)(__dirname, '../../hygen-template');
12
- class NewCommand extends base_command_1.default {
13
- static description = '新建文件助手';
14
- async run() {
15
- const args = [...this.argv].concat('new'); // [type] new ...
16
- await (0, hygen_1.runner)(args, {
17
- templates: defaultTemplates,
18
- cwd: this.projectDir,
19
- logger: new hygen_1.Logger(console.log.bind(console)),
20
- createPrompter: () => require('inquirer'),
21
- exec: async (action, body) => {
22
- const opts = body && body.length > 0 ? { input: body } : {};
23
- await require('execa')(action, opts);
24
- },
25
- });
26
- await this.cleanup();
27
- }
28
- }
29
- NewCommand.args = {
30
- type: core_1.Args.custom({
31
- description: '文件类型',
32
- required: true,
33
- options: ['provider', 'template', 'artifact'],
34
- })(),
35
- };
36
- exports.default = NewCommand;
37
- //# sourceMappingURL=new.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":";;;;;AAAA,uBAAuB;AACvB,+BAA2B;AAC3B,sCAAkC;AAClC,wCAA6C;AAE7C,mEAAyC;AACzC,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;AAEhE,MAAM,UAAW,SAAQ,sBAA8B;IACrD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAEtB,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,iBAAiB;QAErE,MAAM,IAAA,cAAM,EAAC,IAAI,EAAE;YACjB,SAAS,EAAE,gBAAgB;YAC3B,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,MAAM,EAAE,IAAI,cAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACzC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC3D,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;;AAGH,UAAU,CAAC,IAAI,GAAG;IAChB,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;KAC9C,CAAC,EAAE;CACL,CAAA;AAED,kBAAe,UAAU,CAAA"}
@@ -1,7 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class SubscriptionsCommand extends BaseCommand<typeof SubscriptionsCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- private listProviders;
6
- }
7
- export default SubscriptionsCommand;
@@ -1,105 +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 __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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- // istanbul ignore file
40
- const fs_1 = require("fs");
41
- const path_1 = require("path");
42
- const logger_1 = require("@surgio/logger");
43
- const base_command_1 = __importDefault(require("../base-command"));
44
- const provider_1 = require("../provider");
45
- const utils_1 = require("../utils");
46
- const logger = (0, logger_1.createLogger)({
47
- service: 'surgio:SubscriptionsCommand',
48
- });
49
- class SubscriptionsCommand extends base_command_1.default {
50
- static description = '查询订阅信息';
51
- async run() {
52
- const providerList = await this.listProviders();
53
- for (const provider of providerList) {
54
- if (provider.supportGetSubscriptionUserInfo) {
55
- const userInfo = await provider.getSubscriptionUserInfo();
56
- if (userInfo) {
57
- const format = (0, utils_1.formatSubscriptionUserInfo)(userInfo);
58
- console.log('🤟 %s 已用流量:%s 剩余流量:%s 有效期至:%s', provider.name, format.used, format.left, format.expire);
59
- }
60
- else {
61
- console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
62
- }
63
- }
64
- else {
65
- console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
66
- }
67
- }
68
- await this.cleanup();
69
- }
70
- async listProviders() {
71
- const files = await fs_1.promises.readdir(this.surgioConfig.providerDir, {
72
- encoding: 'utf8',
73
- });
74
- const providerList = [];
75
- async function readProvider(path) {
76
- let provider;
77
- try {
78
- const providerName = (0, path_1.basename)(path, '.js');
79
- const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s)));
80
- logger.debug('read %s %s', providerName, path);
81
- // eslint-disable-next-line prefer-const
82
- provider = await (0, provider_1.getProvider)(providerName, module.default);
83
- }
84
- catch (err) {
85
- logger.debug(`${path} 不是一个合法的模块`);
86
- return undefined;
87
- }
88
- if (!provider?.type) {
89
- logger.debug(`${path} 不是一个 Provider`);
90
- return undefined;
91
- }
92
- logger.debug('got provider %j', provider);
93
- return provider;
94
- }
95
- for (const file of files) {
96
- const result = await readProvider((0, path_1.join)(this.surgioConfig.providerDir, file));
97
- if (result) {
98
- providerList.push(result);
99
- }
100
- }
101
- return providerList;
102
- }
103
- }
104
- exports.default = SubscriptionsCommand;
105
- //# sourceMappingURL=subscriptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/commands/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class UploadCommand extends BaseCommand<typeof UploadCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- export default UploadCommand;
@@ -1,91 +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
- // istanbul ignore file
7
- const path_1 = __importDefault(require("path"));
8
- const core_1 = require("@oclif/core");
9
- const ali_oss_1 = __importDefault(require("ali-oss"));
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const node_dir_1 = __importDefault(require("node-dir"));
12
- const base_command_1 = __importDefault(require("../base-command"));
13
- const config_1 = require("../config");
14
- class UploadCommand extends base_command_1.default {
15
- static description = '上传规则到阿里云 OSS';
16
- async run() {
17
- const config = this.surgioConfig;
18
- if (this.flags.output) {
19
- (0, config_1.setConfig)('output', this.flags.output);
20
- }
21
- const region = config?.upload?.region;
22
- const bucket = config?.upload?.bucket;
23
- const endpoint = config?.upload?.endpoint;
24
- const accessKeyId = process.env.OSS_ACCESS_KEY_ID ?? config?.upload?.accessKeyId;
25
- const accessKeySecret = process.env.OSS_ACCESS_KEY_SECRET ?? config?.upload?.accessKeySecret;
26
- if (!accessKeyId || !accessKeySecret) {
27
- throw new Error('请在配置文件中配置 OSS 的 accessKeyId 和 accessKeySecret');
28
- }
29
- const client = new ali_oss_1.default({
30
- secure: true,
31
- region,
32
- bucket,
33
- endpoint,
34
- accessKeyId,
35
- accessKeySecret,
36
- });
37
- const prefix = config?.upload?.prefix || '/';
38
- const fileList = await node_dir_1.default.promiseFiles(config.output);
39
- const files = fileList.map((filePath) => ({
40
- fileName: path_1.default.basename(filePath),
41
- filePath,
42
- }));
43
- const fileNameList = files.map((file) => file.fileName);
44
- const upload = () => {
45
- return Promise.all(files.map((file) => {
46
- const { fileName, filePath } = file;
47
- const objectName = `${prefix}${fileName}`;
48
- const readStream = fs_extra_1.default.createReadStream(filePath);
49
- return client.put(objectName, readStream, {
50
- mime: 'text/plain; charset=utf-8',
51
- headers: {
52
- 'Cache-Control': 'private, no-cache, no-store',
53
- },
54
- });
55
- }));
56
- };
57
- const deleteUnwanted = async () => {
58
- const list = await client.list({
59
- prefix,
60
- delimiter: '/',
61
- 'max-keys': 100,
62
- }, {});
63
- const deleteList = [];
64
- for (const key in list.objects) {
65
- if (list.objects.hasOwnProperty(key)) {
66
- const object = list.objects[key];
67
- const objectName = object.name.replace(prefix, '');
68
- const isExist = fileNameList.indexOf(objectName) > -1;
69
- if (objectName && !isExist) {
70
- deleteList.push(object.name);
71
- }
72
- }
73
- }
74
- if (deleteList.length) {
75
- await client.deleteMulti(deleteList);
76
- }
77
- };
78
- this.ora.start('开始上传到阿里云 OSS');
79
- await upload();
80
- await deleteUnwanted();
81
- await this.cleanup();
82
- }
83
- }
84
- UploadCommand.flags = {
85
- output: core_1.Flags.string({
86
- char: 'o',
87
- description: '生成规则的目录',
88
- }),
89
- };
90
- exports.default = UploadCommand;
91
- //# sourceMappingURL=upload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"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"}
package/build/config.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import { CommandConfig, CommandConfigBeforeNormalize } from './types';
2
- export declare const loadConfig: (cwd: string, override?: Partial<CommandConfig>) => CommandConfig;
3
- export declare const getConfig: () => CommandConfig;
4
- export declare const setConfig: <T extends keyof CommandConfig>(key: T, value: CommandConfig[T]) => CommandConfig;
5
- export declare const normalizeConfig: (cwd: string, userConfig: Partial<CommandConfigBeforeNormalize>) => CommandConfig;
6
- export declare const validateConfig: (userConfig: Partial<CommandConfig>) => CommandConfigBeforeNormalize;
package/build/config.js DELETED
@@ -1,156 +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.validateConfig = exports.normalizeConfig = exports.setConfig = exports.getConfig = exports.loadConfig = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const url_1 = require("url");
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const lodash_1 = __importDefault(require("lodash"));
11
- const constant_1 = require("./constant");
12
- const redis_1 = __importDefault(require("./redis"));
13
- const validators_1 = require("./validators");
14
- const flag_1 = require("./utils/flag");
15
- const utils_1 = require("./utils");
16
- let finalConfig = null;
17
- const loadConfig = (cwd, override) => {
18
- const absPath = path_1.default.join(cwd, 'surgio.conf.js');
19
- // istanbul ignore next
20
- if (!fs_extra_1.default.existsSync(absPath)) {
21
- throw new Error(`配置文件 ${absPath} 不存在`);
22
- }
23
- const userConfig = (0, exports.validateConfig)(lodash_1.default.cloneDeep(require(absPath)));
24
- if (userConfig.flags) {
25
- Object.keys(userConfig.flags).forEach((emoji) => {
26
- if (userConfig.flags) {
27
- if (typeof userConfig.flags[emoji] === 'string') {
28
- (0, flag_1.addFlagMap)(userConfig.flags[emoji], emoji);
29
- }
30
- else if (lodash_1.default.isRegExp(userConfig.flags[emoji])) {
31
- (0, flag_1.addFlagMap)(userConfig.flags[emoji], emoji);
32
- }
33
- else {
34
- ;
35
- userConfig.flags[emoji].forEach((name) => {
36
- (0, flag_1.addFlagMap)(name, emoji);
37
- });
38
- }
39
- }
40
- });
41
- }
42
- if (override) {
43
- return {
44
- ...(0, exports.normalizeConfig)(cwd, userConfig),
45
- ...override,
46
- };
47
- }
48
- finalConfig = (0, exports.normalizeConfig)(cwd, userConfig);
49
- return finalConfig;
50
- };
51
- exports.loadConfig = loadConfig;
52
- const getConfig = () => {
53
- // istanbul ignore next
54
- if (!finalConfig) {
55
- throw new Error('请先调用 loadConfig 方法');
56
- }
57
- return finalConfig;
58
- };
59
- exports.getConfig = getConfig;
60
- const setConfig = (key, value) => {
61
- // istanbul ignore next
62
- if (!finalConfig) {
63
- throw new Error('请先调用 loadConfig 方法');
64
- }
65
- if (lodash_1.default.isPlainObject(value)) {
66
- finalConfig[key] = {
67
- ...finalConfig[key],
68
- ...value,
69
- };
70
- }
71
- else {
72
- finalConfig[key] = value;
73
- }
74
- return finalConfig;
75
- };
76
- exports.setConfig = setConfig;
77
- const normalizeConfig = (cwd, userConfig) => {
78
- const defaultConfig = {
79
- artifacts: [],
80
- urlBase: '/',
81
- output: path_1.default.join(cwd, './dist'),
82
- templateDir: path_1.default.join(cwd, './template'),
83
- providerDir: path_1.default.join(cwd, './provider'),
84
- configDir: (0, utils_1.ensureConfigFolder)(),
85
- surgeConfig: {
86
- resolveHostname: false,
87
- vmessAEAD: true,
88
- },
89
- clashConfig: {
90
- enableShadowTls: false,
91
- enableTuic: false,
92
- enableHysteria2: false,
93
- enableVless: false,
94
- clashCore: 'clash',
95
- },
96
- quantumultXConfig: {
97
- vmessAEAD: true,
98
- },
99
- surfboardConfig: {
100
- vmessAEAD: true,
101
- },
102
- proxyTestUrl: constant_1.PROXY_TEST_URL,
103
- proxyTestInterval: constant_1.PROXY_TEST_INTERVAL,
104
- internetTestUrl: constant_1.INTERNET_TEST_URL,
105
- internetTestInterval: constant_1.INTERNET_TEST_INTERVAL,
106
- checkHostname: false,
107
- resolveHostname: false,
108
- cache: {
109
- type: 'default',
110
- },
111
- gateway: {
112
- passRequestUserAgent: false,
113
- },
114
- };
115
- const config = lodash_1.default.defaultsDeep(userConfig, defaultConfig);
116
- // istanbul ignore next
117
- if (!fs_extra_1.default.existsSync(config.templateDir)) {
118
- throw new Error(`仓库内缺少 ${config.templateDir} 目录`);
119
- }
120
- // istanbul ignore next
121
- if (!fs_extra_1.default.existsSync(config.providerDir)) {
122
- throw new Error(`仓库内缺少 ${config.providerDir} 目录`);
123
- }
124
- if (/http/i.test(config.urlBase)) {
125
- const urlObject = new url_1.URL(config.urlBase);
126
- config.publicUrl = urlObject.origin + '/';
127
- }
128
- else {
129
- config.publicUrl = '/';
130
- }
131
- // istanbul ignore next
132
- if (config.cache && config.cache.type === 'redis') {
133
- if (!config.cache.redisUrl) {
134
- throw new Error('缓存配置错误,请检查 cache.redisUrl 配置');
135
- }
136
- redis_1.default.createRedis(config.cache.redisUrl);
137
- }
138
- // istanbul ignore next
139
- if (config.gateway) {
140
- if (config.gateway.auth && !config.gateway.accessToken) {
141
- throw new Error('请检查 gateway.accessToken 配置');
142
- }
143
- }
144
- return config;
145
- };
146
- exports.normalizeConfig = normalizeConfig;
147
- const validateConfig = (userConfig) => {
148
- const result = validators_1.SurgioConfigValidator.safeParse(userConfig);
149
- // istanbul ignore next
150
- if (!result.success) {
151
- throw result.error;
152
- }
153
- return result.data;
154
- };
155
- exports.validateConfig = validateConfig;
156
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import { Promisable } from 'type-fest';
2
- import { BlackSSLProviderConfig, ClashProviderConfig, CommandConfigBeforeNormalize, CustomProviderConfig, PossibleProviderConfigType, ShadowsocksJsonSubscribeProviderConfig, ShadowsocksrSubscribeProviderConfig, ShadowsocksSubscribeProviderConfig, SsdProviderConfig, TrojanProviderConfig, V2rayNSubscribeProviderConfig } from './types';
3
- export declare const defineSurgioConfig: (config: CommandConfigBeforeNormalize) => {
4
- artifacts: {
5
- name: string;
6
- template: string;
7
- provider: string;
8
- templateType?: "default" | "json" | undefined;
9
- extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined;
10
- categories?: string[] | undefined;
11
- combineProviders?: string[] | undefined;
12
- customParams?: Record<string, any> | undefined;
13
- customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined;
14
- destDir?: string | undefined;
15
- destDirs?: string[] | undefined;
16
- downloadUrl?: string | undefined;
17
- templateString?: string | undefined;
18
- subscriptionUserInfoProvider?: string | undefined;
19
- }[];
20
- remoteSnippets?: {
21
- name: string;
22
- url: string;
23
- surgioSnippet?: boolean | undefined;
24
- }[] | undefined;
25
- urlBase?: string | undefined;
26
- upload?: {
27
- bucket: string;
28
- accessKeyId: string;
29
- accessKeySecret: string;
30
- prefix?: string | undefined;
31
- region?: string | undefined;
32
- endpoint?: string | undefined;
33
- } | undefined;
34
- binPath?: {
35
- shadowsocksr: string;
36
- } | undefined;
37
- flags?: Record<string, string | RegExp | (string | RegExp)[]> | undefined;
38
- surgeConfig?: {
39
- resolveHostname?: boolean | undefined;
40
- vmessAEAD?: boolean | undefined;
41
- } | undefined;
42
- surfboardConfig?: {
43
- vmessAEAD?: boolean | undefined;
44
- } | undefined;
45
- quantumultXConfig?: {
46
- vmessAEAD?: boolean | undefined;
47
- } | undefined;
48
- clashConfig?: {
49
- enableTuic?: boolean | undefined;
50
- enableShadowTls?: boolean | undefined;
51
- enableHysteria2?: boolean | undefined;
52
- enableVless?: boolean | undefined;
53
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
54
- } | undefined;
55
- gateway?: {
56
- accessToken?: string | undefined;
57
- viewerToken?: string | undefined;
58
- auth?: boolean | undefined;
59
- cookieMaxAge?: number | undefined;
60
- useCacheOnError?: boolean | undefined;
61
- passRequestUserAgent?: boolean | undefined;
62
- } | undefined;
63
- checkHostname?: boolean | undefined;
64
- resolveHostname?: boolean | undefined;
65
- proxyTestUrl?: string | undefined;
66
- proxyTestInterval?: number | undefined;
67
- internetTestUrl?: string | undefined;
68
- internetTestInterval?: number | undefined;
69
- customFilters?: Record<string, ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean) | {
70
- readonly filter: <T extends import("./types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>;
71
- readonly supportSort: true;
72
- }> | undefined;
73
- customParams?: Record<string, any> | undefined;
74
- analytics?: boolean | undefined;
75
- cache?: {
76
- type?: "default" | "redis" | undefined;
77
- redisUrl?: string | undefined;
78
- } | undefined;
79
- };
80
- export type ProviderDefineFunction<T extends PossibleProviderConfigType, U = Omit<T, 'type'>> = (config: U) => T | Promisable<T>;
81
- export declare const defineBlackSSLProvider: ProviderDefineFunction<BlackSSLProviderConfig>;
82
- export declare const defineClashProvider: ProviderDefineFunction<ClashProviderConfig>;
83
- export declare const defineCustomProvider: ProviderDefineFunction<CustomProviderConfig>;
84
- export declare const defineShadowsocksJsonSubscribeProvider: ProviderDefineFunction<ShadowsocksJsonSubscribeProviderConfig>;
85
- export declare const defineShadowsocksSubscribeProvider: ProviderDefineFunction<ShadowsocksSubscribeProviderConfig>;
86
- export declare const defineShadowsocksrSubscribeProvider: ProviderDefineFunction<ShadowsocksrSubscribeProviderConfig>;
87
- export declare const defineSsdProvider: ProviderDefineFunction<SsdProviderConfig>;
88
- export declare const defineTrojanProvider: ProviderDefineFunction<TrojanProviderConfig>;
89
- export declare const defineV2rayNSubscribeProvider: ProviderDefineFunction<V2rayNSubscribeProviderConfig>;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineV2rayNSubscribeProvider = exports.defineTrojanProvider = exports.defineSsdProvider = exports.defineShadowsocksrSubscribeProvider = exports.defineShadowsocksSubscribeProvider = exports.defineShadowsocksJsonSubscribeProvider = exports.defineCustomProvider = exports.defineClashProvider = exports.defineBlackSSLProvider = exports.defineSurgioConfig = void 0;
4
- const types_1 = require("./types");
5
- const defineSurgioConfig = (config) => config;
6
- exports.defineSurgioConfig = defineSurgioConfig;
7
- const defineBlackSSLProvider = (config) => ({
8
- ...config,
9
- type: types_1.SupportProviderEnum.BlackSSL,
10
- });
11
- exports.defineBlackSSLProvider = defineBlackSSLProvider;
12
- const defineClashProvider = (config) => ({
13
- ...config,
14
- type: types_1.SupportProviderEnum.Clash,
15
- });
16
- exports.defineClashProvider = defineClashProvider;
17
- const defineCustomProvider = (config) => ({
18
- ...config,
19
- type: types_1.SupportProviderEnum.Custom,
20
- });
21
- exports.defineCustomProvider = defineCustomProvider;
22
- const defineShadowsocksJsonSubscribeProvider = (config) => ({
23
- ...config,
24
- type: types_1.SupportProviderEnum.ShadowsocksJsonSubscribe,
25
- });
26
- exports.defineShadowsocksJsonSubscribeProvider = defineShadowsocksJsonSubscribeProvider;
27
- const defineShadowsocksSubscribeProvider = (config) => ({
28
- ...config,
29
- type: types_1.SupportProviderEnum.ShadowsocksSubscribe,
30
- });
31
- exports.defineShadowsocksSubscribeProvider = defineShadowsocksSubscribeProvider;
32
- const defineShadowsocksrSubscribeProvider = (config) => ({
33
- ...config,
34
- type: types_1.SupportProviderEnum.ShadowsocksrSubscribe,
35
- });
36
- exports.defineShadowsocksrSubscribeProvider = defineShadowsocksrSubscribeProvider;
37
- const defineSsdProvider = (config) => ({
38
- ...config,
39
- type: types_1.SupportProviderEnum.Ssd,
40
- });
41
- exports.defineSsdProvider = defineSsdProvider;
42
- const defineTrojanProvider = (config) => ({
43
- ...config,
44
- type: types_1.SupportProviderEnum.Trojan,
45
- });
46
- exports.defineTrojanProvider = defineTrojanProvider;
47
- const defineV2rayNSubscribeProvider = (config) => ({
48
- ...config,
49
- type: types_1.SupportProviderEnum.V2rayNSubscribe,
50
- });
51
- exports.defineV2rayNSubscribeProvider = defineV2rayNSubscribeProvider;
52
- //# sourceMappingURL=configurables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configurables.js","sourceRoot":"","sources":["../src/configurables.ts"],"names":[],"mappings":";;;AAEA,mCAagB;AAET,MAAM,kBAAkB,GAAG,CAAC,MAAoC,EAAE,EAAE,CACzE,MAAM,CAAA;AADK,QAAA,kBAAkB,sBACvB;AAOD,MAAM,sBAAsB,GAE/B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,QAAQ;CACnC,CAAC,CAAA;AALW,QAAA,sBAAsB,0BAKjC;AAEK,MAAM,mBAAmB,GAE5B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,KAAK;CAChC,CAAC,CAAA;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,oBAAoB,GAE7B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,MAAM;CACjC,CAAC,CAAA;AALW,QAAA,oBAAoB,wBAK/B;AAEK,MAAM,sCAAsC,GAE/C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;CACnD,CAAC,CAAA;AALW,QAAA,sCAAsC,0CAKjD;AAEK,MAAM,kCAAkC,GAE3C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,oBAAoB;CAC/C,CAAC,CAAA;AALW,QAAA,kCAAkC,sCAK7C;AAEK,MAAM,mCAAmC,GAE5C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;CAChD,CAAC,CAAA;AALW,QAAA,mCAAmC,uCAK9C;AAEK,MAAM,iBAAiB,GAA8C,CAC1E,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,GAAG;CAC9B,CAAC,CAAA;AALW,QAAA,iBAAiB,qBAK5B;AAEK,MAAM,oBAAoB,GAE7B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,MAAM;CACjC,CAAC,CAAA;AALW,QAAA,oBAAoB,wBAK/B;AAEK,MAAM,6BAA6B,GAEtC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,MAAM;IACT,IAAI,EAAE,2BAAmB,CAAC,eAAe;CAC1C,CAAC,CAAA;AALW,QAAA,6BAA6B,iCAKxC"}
@@ -1,36 +0,0 @@
1
- export declare const NETWORK_SURGIO_UA = "surgio";
2
- export declare const OBFS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1";
3
- export declare const PROXY_TEST_URL = "http://cp.cloudflare.com/generate_204";
4
- export declare const INTERNET_TEST_URL = "http://connect.rom.miui.com/generate_204";
5
- export declare const PROXY_TEST_INTERVAL = 1200;
6
- export declare const INTERNET_TEST_INTERVAL = 1200;
7
- export declare const CLASH_SUPPORTED_RULE: readonly ["DOMAIN-SUFFIX", "DOMAIN-KEYWORD", "DOMAIN", "SRC-IP-CIDR", "IP-CIDR", "IP-CIDR6", "GEOIP", "DST-PORT", "SRC-PORT", "MATCH", "FINAL", "PROCESS-NAME"];
8
- export declare const CLASH_META_SUPPORTED_RULE: readonly ["DOMAIN", "DOMAIN-SUFFIX", "DOMAIN-KEYWORD", "DOMAIN-REGEX", "GEOSITE", "GEOIP", "SRC-GEOIP", "IP-ASN", "SRC-IP-ASN", "IP-CIDR", "IP-CIDR6", "SRC-IP-CIDR", "IP-SUFFIX", "SRC-IP-SUFFIX", "SRC-PORT", "DST-PORT", "IN-PORT", "DSCP", "PROCESS-NAME", "PROCESS-PATH", "PROCESS-NAME-REGEX", "PROCESS-PATH-REGEX", "NETWORK", "UID", "IN-TYPE", "IN-USER", "IN-NAME", "SUB-RULE", "AND", "OR", "NOT", "RULE-SET", "MATCH"];
9
- export declare const STASH_SUPPORTED_RULE: readonly ["DOMAIN", "DOMAIN-SUFFIX", "DOMAIN-KEYWORD", "GEOIP", "IP-ASN", "IP-CIDR", "IP-CIDR6", "DST-PORT", "RULE-SET", "GEOSITE", "PROCESS-NAME", "PROCESS-PATH", "SCRIPT"];
10
- export declare const QUANTUMULT_X_SUPPORTED_RULE: readonly ["USER-AGENT", "HOST", "HOST-KEYWORD", "HOST-SUFFIX", "DOMAIN", "DOMAIN-SUFFIX", "DOMAIN-KEYWORD", "IP-CIDR", "IP-CIDR6", "GEOIP", "FINAL"];
11
- export declare const LOON_SUPPORTED_RULE: readonly ["DOMAIN-SUFFIX", "DOMAIN", "DOMAIN-KEYWORD", "USER-AGENT", "URL-REGEX", "IP-CIDR", "GEOIP", "FINAL"];
12
- export declare const SURFBOARD_SUPPORTED_RULE: readonly ["DOMAIN-SUFFIX", "DOMAIN", "DOMAIN-KEYWORD", "IP-CIDR", "IP-CIDR6", "GEOIP", "FINAL", "PROCESS-NAME", "RULE-SET", "DOMAIN-SET"];
13
- export declare const CATEGORIES: {
14
- readonly SNIPPET: "Snippet";
15
- readonly SURGE: "Surge";
16
- readonly QUANTUMULT_X: "Quantumult X";
17
- readonly QUANTUMULT_X_SERVER: "Quantumult X Server";
18
- readonly QUANTUMULT_X_FILTER: "Quantumult X Filter";
19
- readonly QUANTUMULT_X_REWRITE: "Quantumult X Rewrite";
20
- readonly CLASH: "Clash";
21
- readonly LOON: "Loon";
22
- readonly SURFBOARD: "Surfboard";
23
- };
24
- export declare const TMP_FOLDER_NAME = "surgio-config";
25
- export declare const CACHE_KEYS: {
26
- readonly RemoteSnippets: "remote-snippets-v2";
27
- readonly Provider: "provider-v2";
28
- readonly RenderedArtifact: "rendered-artifact";
29
- };
30
- export declare const V2RAYN_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "http", "ws", "h2", "grpc"];
31
- export declare const CLASH_META_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws", "h2", "grpc", "http"];
32
- export declare const STASH_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws", "h2", "grpc", "http"];
33
- export declare const QUANTUMULT_X_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws", "http"];
34
- export declare const SURGE_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws"];
35
- export declare const SURFBOARD_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws"];
36
- export declare const LOON_SUPPORTED_VMESS_NETWORK: readonly ["tcp", "ws", "http"];