surgio 2.10.0 → 2.11.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 (55) hide show
  1. package/CHANGELOG.md +83 -50
  2. package/build/command/check.js +4 -4
  3. package/build/command/doctor.js +5 -5
  4. package/build/command/generate.js +4 -4
  5. package/build/command/lint.js +3 -3
  6. package/build/command/new.js +4 -4
  7. package/build/command/subscriptions.js +8 -7
  8. package/build/command/upload.js +3 -3
  9. package/build/generate.js +4 -4
  10. package/build/generator/artifact.d.ts +2 -1
  11. package/build/generator/artifact.js +19 -18
  12. package/build/generator/template.js +11 -17
  13. package/build/index.js +12 -8
  14. package/build/misc/flag_cn.d.ts +1 -0
  15. package/build/misc/flag_cn.js +3 -2
  16. package/build/provider/BlackSSLProvider.js +4 -4
  17. package/build/provider/ClashProvider.js +15 -51
  18. package/build/provider/CustomProvider.js +3 -5
  19. package/build/provider/Provider.d.ts +4 -0
  20. package/build/provider/Provider.js +34 -6
  21. package/build/provider/ShadowsocksJsonSubscribeProvider.js +4 -4
  22. package/build/provider/ShadowsocksSubscribeProvider.js +10 -26
  23. package/build/provider/ShadowsocksrSubscribeProvider.js +11 -26
  24. package/build/provider/SsdProvider.js +11 -27
  25. package/build/provider/TrojanProvider.d.ts +18 -0
  26. package/build/provider/TrojanProvider.js +78 -0
  27. package/build/provider/V2rayNSubscribeProvider.d.ts +3 -2
  28. package/build/provider/V2rayNSubscribeProvider.js +39 -22
  29. package/build/provider/index.d.ts +3 -9
  30. package/build/provider/index.js +4 -1
  31. package/build/provider/types.d.ts +9 -0
  32. package/build/provider/types.js +3 -0
  33. package/build/types.d.ts +7 -1
  34. package/build/types.js +2 -1
  35. package/build/utils/config.js +12 -14
  36. package/build/utils/constant.js +5 -5
  37. package/build/utils/dns.js +6 -17
  38. package/build/utils/error-helper.js +1 -1
  39. package/build/utils/filter.js +3 -3
  40. package/build/utils/flag.js +4 -4
  41. package/build/utils/http-client.js +2 -2
  42. package/build/utils/index.d.ts +1 -0
  43. package/build/utils/index.js +53 -50
  44. package/build/utils/linter.js +3 -3
  45. package/build/utils/loon.js +5 -5
  46. package/build/utils/patch-proxy.js +3 -3
  47. package/build/utils/remote-snippet.js +10 -13
  48. package/build/utils/ss.js +4 -4
  49. package/build/utils/ssr.js +7 -7
  50. package/build/utils/subscription.js +7 -7
  51. package/build/utils/tmp-helper.js +2 -2
  52. package/build/utils/trojan.d.ts +2 -0
  53. package/build/utils/trojan.js +33 -0
  54. package/hygen-template/provider/new/index.js +3 -0
  55. package/package.json +22 -20
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const joi_1 = __importDefault(require("@hapi/joi"));
7
+ const joi_1 = __importDefault(require("joi"));
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const types_1 = require("../types");
10
10
  const cache_1 = require("../utils/cache");
@@ -39,8 +39,8 @@ class BlackSSLProvider extends Provider_1.default {
39
39
  }
40
40
  // istanbul ignore next
41
41
  async getBlackSSLConfig(username, password) {
42
- assert_1.default(username, '未指定 BlackSSL username.');
43
- assert_1.default(password, '未指定 BlackSSL password.');
42
+ (0, assert_1.default)(username, '未指定 BlackSSL username.');
43
+ (0, assert_1.default)(password, '未指定 BlackSSL password.');
44
44
  const key = `blackssl_${username}`;
45
45
  const response = cache_1.ConfigCache.has(key)
46
46
  ? JSON.parse(cache_1.ConfigCache.get(key))
@@ -76,4 +76,4 @@ class BlackSSLProvider extends Provider_1.default {
76
76
  }
77
77
  }
78
78
  exports.default = BlackSSLProvider;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxhY2tTU0xQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9CbGFja1NTTFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1QkFBdUI7Ozs7O0FBRXZCLG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsb0NBS2tCO0FBQ2xCLDBDQUE2QztBQUM3Qyx1RUFBOEM7QUFDOUMsMERBQWtDO0FBRWxDLE1BQXFCLGdCQUFpQixTQUFRLGtCQUFRO0lBSXBELFlBQVksSUFBWSxFQUFFLE1BQThCO1FBQ3RELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCO1FBR2xDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUMzRCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsT0FBTyxvQkFBb0IsQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FDL0MsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsdUJBQXVCO0lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUM3QixRQUFnQixFQUNoQixRQUFnQjtRQUtoQixnQkFBTSxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBQzNDLGdCQUFNLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFFM0MsTUFBTSxHQUFHLEdBQUcsWUFBWSxRQUFRLEVBQUUsQ0FBQztRQUVuQyxNQUFNLFFBQVEsR0FBRyxtQkFBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFXLENBQUM7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxxQkFBVSxDQUFDLEdBQUcsQ0FDOUIsNkNBQTZDLEVBQzdDO29CQUNFLFlBQVksRUFBRTt3QkFDWixRQUFRO3dCQUNSLFFBQVE7cUJBQ1Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVksRUFDVixxREFBcUQ7cUJBQ3hEO2lCQUNGLENBQ0YsQ0FBQztnQkFFRixtQkFBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFVCxPQUFPO1lBQ0wsUUFBUSxFQUFHLFFBQVEsQ0FBQyxTQUE0QixDQUFDLEdBQUcsQ0FDbEQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNuQixJQUFJLEVBQUUsb0JBQVksQ0FBQyxLQUFLO2dCQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixRQUFRO2dCQUNSLFFBQVE7YUFDVCxDQUFDLENBQ0g7WUFDRCxvQkFBb0IsRUFBRTtnQkFDcEIsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxhQUFhO2dCQUNoQyxLQUFLLEVBQUUsUUFBUSxDQUFDLGVBQWU7Z0JBQy9CLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVTthQUM1QjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwR0QsbUNBb0dDIn0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxhY2tTU0xQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9CbGFja1NTTFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1QkFBdUI7Ozs7O0FBRXZCLDhDQUFzQjtBQUN0QixvREFBNEI7QUFFNUIsb0NBS2tCO0FBQ2xCLDBDQUE2QztBQUM3Qyx1RUFBOEM7QUFDOUMsMERBQWtDO0FBRWxDLE1BQXFCLGdCQUFpQixTQUFRLGtCQUFRO0lBSXBELFlBQVksSUFBWSxFQUFFLE1BQThCO1FBQ3RELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCO1FBR2xDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUMzRCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsT0FBTyxvQkFBb0IsQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FDL0MsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsdUJBQXVCO0lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUM3QixRQUFnQixFQUNoQixRQUFnQjtRQUtoQixJQUFBLGdCQUFNLEVBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDM0MsSUFBQSxnQkFBTSxFQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sR0FBRyxHQUFHLFlBQVksUUFBUSxFQUFFLENBQUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBVyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0scUJBQVUsQ0FBQyxHQUFHLENBQzlCLDZDQUE2QyxFQUM3QztvQkFDRSxZQUFZLEVBQUU7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3FCQUNUO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQ1YscURBQXFEO3FCQUN4RDtpQkFDRixDQUNGLENBQUM7Z0JBRUYsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsT0FBTztZQUNMLFFBQVEsRUFBRyxRQUFRLENBQUMsU0FBNEIsQ0FBQyxHQUFHLENBQ2xELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDbkIsSUFBSSxFQUFFLG9CQUFZLENBQUMsS0FBSztnQkFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUTtnQkFDUixRQUFRO2FBQ1QsQ0FBQyxDQUNIO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYTtnQkFDaEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxlQUFlO2dCQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVU7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcEdELG1DQW9HQyJ9
@@ -1,42 +1,21 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
22
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
4
  };
24
5
  Object.defineProperty(exports, "__esModule", { value: true });
25
6
  exports.parseClashConfig = exports.getClashSubscription = void 0;
26
- const joi_1 = __importDefault(require("@hapi/joi"));
7
+ const joi_1 = __importDefault(require("joi"));
27
8
  const assert_1 = __importDefault(require("assert"));
28
9
  const yaml_1 = __importDefault(require("yaml"));
29
10
  const lodash_1 = __importDefault(require("lodash"));
30
11
  const logger_1 = require("@surgio/logger");
31
12
  const types_1 = require("../types");
32
13
  const utils_1 = require("../utils");
33
- const http_client_1 = __importStar(require("../utils/http-client"));
14
+ const http_client_1 = require("../utils/http-client");
34
15
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
35
- const subscription_1 = require("../utils/subscription");
36
- const cache_1 = require("../utils/cache");
37
16
  const constant_1 = require("../utils/constant");
38
17
  const Provider_1 = __importDefault(require("./Provider"));
39
- const logger = logger_1.createLogger({
18
+ const logger = (0, logger_1.createLogger)({
40
19
  service: 'surgio:ClashProvider',
41
20
  });
42
21
  class ClashProvider extends Provider_1.default {
@@ -63,44 +42,29 @@ class ClashProvider extends Provider_1.default {
63
42
  }
64
43
  // istanbul ignore next
65
44
  get url() {
66
- return relayable_url_1.default(this._url, this.relayUrl);
45
+ return (0, relayable_url_1.default)(this._url, this.relayUrl);
67
46
  }
68
47
  async getSubscriptionUserInfo() {
69
- const { subscriptionUserinfo } = await exports.getClashSubscription(this.url, this.udpRelay, this.tls13);
48
+ const { subscriptionUserinfo } = await (0, exports.getClashSubscription)(this.url, this.udpRelay, this.tls13);
70
49
  if (subscriptionUserinfo) {
71
50
  return subscriptionUserinfo;
72
51
  }
73
52
  return void 0;
74
53
  }
75
54
  async getNodeList() {
76
- const { nodeList } = await exports.getClashSubscription(this.url, this.udpRelay, this.tls13);
55
+ const { nodeList } = await (0, exports.getClashSubscription)(this.url, this.udpRelay, this.tls13);
77
56
  return nodeList;
78
57
  }
79
58
  }
80
59
  exports.default = ClashProvider;
81
60
  const getClashSubscription = async (url, udpRelay, tls13) => {
82
- assert_1.default(url, '未指定订阅地址 url');
83
- const response = cache_1.SubscriptionCache.has(url)
84
- ? cache_1.SubscriptionCache.get(url)
85
- : await (async () => {
86
- const res = await http_client_1.default.get(url, {
87
- responseType: 'text',
88
- headers: {
89
- 'user-agent': http_client_1.getUserAgent(constant_1.NETWORK_CLASH_UA),
90
- },
91
- });
92
- const subsciptionCacheItem = {
93
- body: res.body,
94
- };
95
- if (res.headers['subscription-userinfo']) {
96
- subsciptionCacheItem.subscriptionUserinfo = subscription_1.parseSubscriptionUserInfo(res.headers['subscription-userinfo']);
97
- logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
98
- }
99
- cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
100
- return subsciptionCacheItem;
101
- })();
61
+ (0, assert_1.default)(url, '未指定订阅地址 url');
62
+ const response = await Provider_1.default.requestCacheableResource(url, {
63
+ requestUserAgent: (0, http_client_1.getUserAgent)(constant_1.NETWORK_CLASH_UA),
64
+ });
102
65
  let clashConfig;
103
66
  try {
67
+ // eslint-disable-next-line prefer-const
104
68
  clashConfig = yaml_1.default.parse(response.body);
105
69
  }
106
70
  catch (err) /* istanbul ignore next */ {
@@ -116,7 +80,7 @@ const getClashSubscription = async (url, udpRelay, tls13) => {
116
80
  throw new Error(`${url} 订阅内容有误,请检查后重试`);
117
81
  }
118
82
  return {
119
- nodeList: exports.parseClashConfig(proxyList, udpRelay, tls13),
83
+ nodeList: (0, exports.parseClashConfig)(proxyList, udpRelay, tls13),
120
84
  subscriptionUserinfo: response.subscriptionUserinfo,
121
85
  };
122
86
  };
@@ -137,7 +101,7 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
137
101
  logger.warn(`不支持从 Clash 订阅中读取 QUIC 模式的 Shadowsocks 节点,节点 ${item.name} 会被省略`);
138
102
  return void 0;
139
103
  }
140
- const wsHeaders = utils_1.lowercaseHeaderKeys(lodash_1.default.get(item, 'plugin-opts.headers', {}));
104
+ const wsHeaders = (0, utils_1.lowercaseHeaderKeys)(lodash_1.default.get(item, 'plugin-opts.headers', {}));
141
105
  return Object.assign(Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Shadowsocks, nodeName: item.name, hostname: item.server, port: item.port, method: item.cipher, password: item.password, 'udp-relay': resolveUdpRelay(item.udp, udpRelay) }, (item.plugin && item.plugin === 'obfs'
142
106
  ? {
143
107
  obfs: item['plugin-opts'].mode,
@@ -168,7 +132,7 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
168
132
  logger.warn(`不支持从 Clash 订阅中读取 network 类型为 ${item.network} 的 Vmess 节点,节点 ${item.name} 会被省略`);
169
133
  return void 0;
170
134
  }
171
- const wsHeaders = utils_1.lowercaseHeaderKeys(lodash_1.default.get(item, 'ws-headers', {}));
135
+ const wsHeaders = (0, utils_1.lowercaseHeaderKeys)(lodash_1.default.get(item, 'ws-headers', {}));
172
136
  return Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Vmess, nodeName: item.name, hostname: item.server, port: item.port, uuid: item.uuid, alterId: item.alterId ? `${item.alterId}` : '0', method: item.cipher || 'auto', 'udp-relay': resolveUdpRelay(item.udp, udpRelay), tls: (_a = item.tls) !== null && _a !== void 0 ? _a : false, network: item.network || 'tcp' }, (item.network === 'ws'
173
137
  ? {
174
138
  path: lodash_1.default.get(item, 'ws-path', '/'),
@@ -240,4 +204,4 @@ function resolveUdpRelay(val, defaultVal = false) {
240
204
  }
241
205
  return defaultVal;
242
206
  }
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLGdEQUF3QjtBQUN4QixvREFBdUI7QUFDdkIsMkNBQThDO0FBRTlDLG9DQVdrQjtBQUNsQixvQ0FBK0M7QUFDL0Msb0VBQWdFO0FBQ2hFLDJFQUFrRDtBQUNsRCx3REFBa0U7QUFDbEUsMENBQXlFO0FBQ3pFLGdEQUFxRDtBQUNyRCwwREFBa0M7QUFXbEMsTUFBTSxNQUFNLEdBQUcscUJBQVksQ0FBQztJQUMxQixPQUFPLEVBQUUsc0JBQXNCO0NBQ2hDLENBQUMsQ0FBQztBQUVILE1BQXFCLGFBQWMsU0FBUSxrQkFBUTtJQUtqRCxZQUFZLElBQVksRUFBRSxNQUEyQjtRQUNuRCxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1lBQzdCLEtBQUssRUFBRSxhQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQzNCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJ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
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLG9EQUF1QjtBQUN2QiwyQ0FBOEM7QUFFOUMsb0NBV2tCO0FBQ2xCLG9DQUErQztBQUMvQyxzREFBb0Q7QUFDcEQsMkVBQWtEO0FBQ2xELGdEQUFxRDtBQUNyRCwwREFBa0M7QUFXbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSxzQkFBc0I7Q0FDaEMsQ0FBQyxDQUFDO0FBRUgsTUFBcUIsYUFBYyxTQUFRLGtCQUFRO0lBS2pELFlBQVksSUFBWSxFQUFFLE1BQTJCO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtpQkFDZCxHQUFHLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ25CLENBQUM7aUJBQ0QsUUFBUSxFQUFFO1lBQ2IsUUFBUSxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsS0FBSyxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztR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
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const joi_1 = __importDefault(require("@hapi/joi"));
6
+ const joi_1 = __importDefault(require("joi"));
7
7
  const types_1 = require("../types");
8
8
  const Provider_1 = __importDefault(require("./Provider"));
9
9
  class CustomProvider extends Provider_1.default {
@@ -22,9 +22,7 @@ class CustomProvider extends Provider_1.default {
22
22
  underlyingProxy: joi_1.default.string(),
23
23
  }).unknown();
24
24
  const schema = joi_1.default.object({
25
- nodeList: joi_1.default.array()
26
- .items(nodeSchema)
27
- .required(),
25
+ nodeList: joi_1.default.array().items(nodeSchema).required(),
28
26
  }).unknown();
29
27
  const { error } = schema.validate(config);
30
28
  // istanbul ignore next
@@ -48,4 +46,4 @@ class CustomProvider extends Provider_1.default {
48
46
  }
49
47
  }
50
48
  exports.default = CustomProvider;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvQ3VzdG9tUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0NBSWtCO0FBQ2xCLDBEQUFrQztBQUVsQyxNQUFxQixjQUFlLFNBQVEsa0JBQVE7SUFHbEQsWUFBWSxJQUFZLEVBQUUsTUFBNEI7UUFDcEQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLFVBQVUsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsb0JBQVksQ0FBQyxDQUFDO2lCQUM3QyxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM5QixHQUFHLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMzQixLQUFLLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUN2QixlQUFlLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtTQUM5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxhQUFHLENBQUMsS0FBSyxFQUFFO2lCQUNsQixLQUFLLENBQUMsVUFBVSxDQUFDO2lCQUNqQixRQUFRLEVBQUU7U0FDZCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzdCLFdBQVcsRUFBRSxhQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3Qyx1QkFBdUI7WUFDdkIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSxLQUFLLENBQUM7YUFDYjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsREQsaUNBa0RDIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvQ3VzdG9tUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsb0NBSWtCO0FBQ2xCLDBEQUFrQztBQUVsQyxNQUFxQixjQUFlLFNBQVEsa0JBQVE7SUFHbEQsWUFBWSxJQUFZLEVBQUUsTUFBNEI7UUFDcEQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLFVBQVUsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsb0JBQVksQ0FBQyxDQUFDO2lCQUM3QyxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM5QixHQUFHLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMzQixLQUFLLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUN2QixlQUFlLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtTQUM5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxhQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtTQUNuRCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzdCLFdBQVcsRUFBRSxhQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3Qyx1QkFBdUI7WUFDdkIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSxLQUFLLENBQUM7YUFDYjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoREQsaUNBZ0RDIn0=
@@ -1,4 +1,5 @@
1
1
  import { ProviderConfig, SupportProviderEnum, PossibleNodeConfigType, SubscriptionUserinfo } from '../types';
2
+ import { SubsciptionCacheItem } from '../utils/cache';
2
3
  export default class Provider {
3
4
  name: string;
4
5
  readonly type: SupportProviderEnum;
@@ -15,6 +16,9 @@ export default class Provider {
15
16
  supportGetSubscriptionUserInfo: boolean;
16
17
  startPort?: number;
17
18
  constructor(name: string, config: ProviderConfig);
19
+ static requestCacheableResource(url: string, options?: {
20
+ requestUserAgent?: string;
21
+ }): Promise<SubsciptionCacheItem>;
18
22
  get nextPort(): number;
19
23
  getSubscriptionUserInfo(): Promise<SubscriptionUserinfo | undefined>;
20
24
  getNodeList(): Promise<ReadonlyArray<PossibleNodeConfigType>>;
@@ -3,8 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const joi_1 = __importDefault(require("@hapi/joi"));
6
+ const logger_1 = require("@surgio/logger");
7
+ const joi_1 = __importDefault(require("joi"));
7
8
  const types_1 = require("../types");
9
+ const cache_1 = require("../utils/cache");
10
+ const http_client_1 = __importDefault(require("../utils/http-client"));
11
+ const subscription_1 = require("../utils/subscription");
12
+ const logger = (0, logger_1.createLogger)({
13
+ service: 'surgio:Provider',
14
+ });
8
15
  class Provider {
9
16
  constructor(name, config) {
10
17
  this.name = name;
@@ -32,10 +39,7 @@ class Provider {
32
39
  removeExistingFlag: joi_1.default.boolean().strict(),
33
40
  mptcp: joi_1.default.boolean().strict(),
34
41
  tfo: joi_1.default.boolean().strict(),
35
- startPort: joi_1.default.number()
36
- .integer()
37
- .min(1024)
38
- .max(65535),
42
+ startPort: joi_1.default.number().integer().min(1024).max(65535),
39
43
  relayUrl: [joi_1.default.boolean().strict(), joi_1.default.string()],
40
44
  renameNode: joi_1.default.function(),
41
45
  }).unknown();
@@ -62,6 +66,30 @@ class Provider {
62
66
  this[key] = config[key];
63
67
  });
64
68
  }
69
+ static async requestCacheableResource(url, options = {}) {
70
+ return cache_1.SubscriptionCache.has(url)
71
+ ? cache_1.SubscriptionCache.get(url)
72
+ : await (async () => {
73
+ const headers = {};
74
+ if (options.requestUserAgent) {
75
+ headers['user-agent'] = options.requestUserAgent;
76
+ }
77
+ const res = await http_client_1.default.get(url, {
78
+ responseType: 'text',
79
+ headers,
80
+ });
81
+ const subsciptionCacheItem = {
82
+ body: res.body,
83
+ };
84
+ if (res.headers['subscription-userinfo']) {
85
+ subsciptionCacheItem.subscriptionUserinfo =
86
+ (0, subscription_1.parseSubscriptionUserInfo)(res.headers['subscription-userinfo']);
87
+ logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
88
+ }
89
+ cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
90
+ return subsciptionCacheItem;
91
+ })();
92
+ }
65
93
  get nextPort() {
66
94
  if (this.startPort) {
67
95
  return this.startPort++;
@@ -78,4 +106,4 @@ class Provider {
78
106
  }
79
107
  }
80
108
  exports.default = Provider;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsb0NBS2tCO0FBRWxCLE1BQXFCLFFBQVE7SUFpQjNCLFlBQW1CLElBQVksRUFBRSxNQUFzQjtRQUFwQyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQzdCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsSUFBSSxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2YsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBUywyQkFBbUIsQ0FBQyxDQUFDO2lCQUNwRCxRQUFRLEVBQUU7WUFDYixVQUFVLEVBQUUsYUFBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDekIsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ3BDLENBQUMsQ0FDSDtZQUNELGFBQWEsRUFBRSxhQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUM1QixhQUFHLENBQUMsUUFBUSxFQUFFLEVBQ2QsYUFBRyxDQUFDLE1BQU0sQ0FBQztnQkFDVCxNQUFNLEVBQUUsYUFBRyxDQUFDLFFBQVEsRUFBRTtnQkFDdEIsV0FBVyxFQUFFLGFBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUU7YUFDcEMsQ0FBQyxDQUNIO1lBQ0Qsb0JBQW9CLEVBQUUsYUFBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDbkMsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFR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
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBOEM7QUFDOUMsOENBQXNCO0FBRXRCLG9DQUtrQjtBQUNsQiwwQ0FBeUU7QUFDekUsdUVBQThDO0FBQzlDLHdEQUFrRTtBQUVsRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDLENBQUM7QUFFSCxNQUFxQixRQUFRO0lBaUIzQixZQUFtQixJQUFZLEVBQUUsTUFBc0I7UUFBcEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsMkJBQW1CLENBQUMsQ0FBQztpQkFDcEQsUUFBUSxFQUFFO1lBQ2IsVUFBVSxFQUFFLGFBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ3pCLGFBQUcsQ0FBQyxRQUFRLEVBQUUsRUFDZCxhQUFHLENBQUMsTUFBTSxDQUFDO2dCQUNULE1BQU0sRUFBRSxhQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN0QixXQUFXLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTthQUNwQyxDQUFDLENBQ0g7WUFDRCxhQUFhLEVBQUUsYUFBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDNUIsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ3BDLENBQUMsQ0FDSDtZ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
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const joi_1 = __importDefault(require("@hapi/joi"));
6
+ const joi_1 = __importDefault(require("joi"));
7
7
  const utils_1 = require("../utils");
8
8
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
9
9
  const Provider_1 = __importDefault(require("./Provider"));
@@ -28,11 +28,11 @@ class ShadowsocksJsonSubscribeProvider extends Provider_1.default {
28
28
  }
29
29
  // istanbul ignore next
30
30
  get url() {
31
- return relayable_url_1.default(this._url, this.relayUrl);
31
+ return (0, relayable_url_1.default)(this._url, this.relayUrl);
32
32
  }
33
33
  getNodeList() {
34
- return utils_1.getShadowsocksJSONConfig(this.url, this.udpRelay);
34
+ return (0, utils_1.getShadowsocksJSONConfig)(this.url, this.udpRelay);
35
35
  }
36
36
  }
37
37
  exports.default = ShadowsocksJsonSubscribeProvider;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsb0NBQW9EO0FBQ3BELDJFQUFrRDtBQUNsRCwwREFBa0M7QUFFbEMsTUFBcUIsZ0NBQWlDLFNBQVEsa0JBQVE7SUFJcEUsWUFBWSxJQUFZLEVBQUUsTUFBOEM7UUFDdEUsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQVcsR0FBRztRQUNaLE9BQU8sdUJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLGdDQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQW5DRCxtREFtQ0MifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFFdEIsb0NBQW9EO0FBQ3BELDJFQUFrRDtBQUNsRCwwREFBa0M7QUFFbEMsTUFBcUIsZ0NBQWlDLFNBQVEsa0JBQVE7SUFJcEUsWUFBWSxJQUFZLEVBQUUsTUFBOEM7UUFDdEUsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQVcsR0FBRztRQUNaLE9BQU8sSUFBQSx1QkFBWSxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBQSxnQ0FBd0IsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFuQ0QsbURBbUNDIn0=
@@ -4,17 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getShadowsocksSubscription = void 0;
7
- const joi_1 = __importDefault(require("@hapi/joi"));
7
+ const joi_1 = __importDefault(require("joi"));
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const logger_1 = require("@surgio/logger");
10
10
  const utils_1 = require("../utils");
11
- const http_client_1 = __importDefault(require("../utils/http-client"));
12
11
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
13
12
  const ss_1 = require("../utils/ss");
14
- const subscription_1 = require("../utils/subscription");
15
- const cache_1 = require("../utils/cache");
16
13
  const Provider_1 = __importDefault(require("./Provider"));
17
- const logger = logger_1.createLogger({
14
+ const logger = (0, logger_1.createLogger)({
18
15
  service: 'surgio:ShadowsocksSubscribeProvider',
19
16
  });
20
17
  class ShadowsocksSubscribeProvider extends Provider_1.default {
@@ -39,17 +36,17 @@ class ShadowsocksSubscribeProvider extends Provider_1.default {
39
36
  }
40
37
  // istanbul ignore next
41
38
  get url() {
42
- return relayable_url_1.default(this._url, this.relayUrl);
39
+ return (0, relayable_url_1.default)(this._url, this.relayUrl);
43
40
  }
44
41
  async getSubscriptionUserInfo() {
45
- const { subscriptionUserinfo } = await exports.getShadowsocksSubscription(this.url, this.udpRelay);
42
+ const { subscriptionUserinfo } = await (0, exports.getShadowsocksSubscription)(this.url, this.udpRelay);
46
43
  if (subscriptionUserinfo) {
47
44
  return subscriptionUserinfo;
48
45
  }
49
46
  return undefined;
50
47
  }
51
48
  async getNodeList() {
52
- const { nodeList } = await exports.getShadowsocksSubscription(this.url, this.udpRelay);
49
+ const { nodeList } = await (0, exports.getShadowsocksSubscription)(this.url, this.udpRelay);
53
50
  return nodeList;
54
51
  }
55
52
  }
@@ -58,26 +55,13 @@ exports.default = ShadowsocksSubscribeProvider;
58
55
  * @see https://shadowsocks.org/en/spec/SIP002-URI-Scheme.html
59
56
  */
60
57
  const getShadowsocksSubscription = async (url, udpRelay) => {
61
- assert_1.default(url, '未指定订阅地址 url');
62
- const response = cache_1.SubscriptionCache.has(url)
63
- ? cache_1.SubscriptionCache.get(url)
64
- : await (async () => {
65
- const res = await http_client_1.default.get(url);
66
- const subsciptionCacheItem = {
67
- body: res.body,
68
- };
69
- if (res.headers['subscription-userinfo']) {
70
- subsciptionCacheItem.subscriptionUserinfo = subscription_1.parseSubscriptionUserInfo(res.headers['subscription-userinfo']);
71
- logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
72
- }
73
- cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
74
- return subsciptionCacheItem;
75
- })();
76
- const nodeList = utils_1.fromBase64(response.body)
58
+ (0, assert_1.default)(url, '未指定订阅地址 url');
59
+ const response = await Provider_1.default.requestCacheableResource(url);
60
+ const nodeList = (0, utils_1.fromBase64)(response.body)
77
61
  .split('\n')
78
62
  .filter((item) => !!item && item.startsWith('ss://'))
79
63
  .map((item) => {
80
- const nodeConfig = ss_1.parseSSUri(item);
64
+ const nodeConfig = (0, ss_1.parseSSUri)(item);
81
65
  if (udpRelay !== void 0) {
82
66
  nodeConfig['udp-relay'] = udpRelay;
83
67
  }
@@ -89,4 +73,4 @@ const getShadowsocksSubscription = async (url, udpRelay) => {
89
73
  };
90
74
  };
91
75
  exports.getShadowsocksSubscription = getShadowsocksSubscription;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NTdWJzY3JpYmVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9TaGFkb3dzb2Nrc1N1YnNjcmliZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsMkNBQThDO0FBTzlDLG9DQUFzQztBQUN0Qyx1RUFBOEM7QUFDOUMsMkVBQWtEO0FBQ2xELG9DQUF5QztBQUN6Qyx3REFBa0U7QUFDbEUsMENBQXlFO0FBQ3pFLDBEQUFrQztBQUVsQyxNQUFNLE1BQU0sR0FBRyxxQkFBWSxDQUFDO0lBQzFCLE9BQU8sRUFBRSxxQ0FBcUM7Q0FDL0MsQ0FBQyxDQUFDO0FBRUgsTUFBcUIsNEJBQTZCLFNBQVEsa0JBQVE7SUFJaEUsWUFBWSxJQUFZLEVBQUUsTUFBMEM7UUFDbEUsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFB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
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NTdWJzY3JpYmVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9TaGFkb3dzb2Nrc1N1YnNjcmliZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsMkNBQThDO0FBTzlDLG9DQUFzQztBQUN0QywyRUFBa0Q7QUFDbEQsb0NBQXlDO0FBQ3pDLDBEQUFrQztBQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHFDQUFxQztDQUMvQyxDQUFDLENBQUM7QUFFSCxNQUFxQiw0QkFBNkIsU0FBUSxrQkFBUTtJQUloRSxZQUFZLElBQVksRUFBRSxNQUEwQztRQUNsRSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLEdBQUc7UUFDWixPQUFPLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUdsQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQy9ELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRUYsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixPQUFPLG9CQUFvQixDQUFDO1NBQzdCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQ25ELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBdkRELCtDQXVEQztBQUVEOztHQUVHO0FBQ0ksTUFBTSwwQkFBMEIsR0FBRyxLQUFLLEVBQzdDLEdBQVcsRUFDWCxRQUFrQixFQUlqQixFQUFFO0lBQ0gsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUzQixNQUFNLFFBQVEsR0FBRyxNQUFNLGtCQUFRLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBQSxrQkFBVSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDdkMsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBeUIsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFBLGVBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QixVQUFVLENBQUMsV0FBVyxDQUFhLEdBQUcsUUFBUSxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFTCxPQUFPO1FBQ0wsUUFBUTtRQUNSLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0I7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTNCVyxRQUFBLDBCQUEwQiw4QkEyQnJDIn0=
@@ -4,17 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getShadowsocksrSubscription = void 0;
7
- const joi_1 = __importDefault(require("@hapi/joi"));
7
+ const joi_1 = __importDefault(require("joi"));
8
8
  const logger_1 = require("@surgio/logger");
9
9
  const assert_1 = __importDefault(require("assert"));
10
10
  const utils_1 = require("../utils");
11
- const http_client_1 = __importDefault(require("../utils/http-client"));
12
11
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
13
12
  const subscription_1 = require("../utils/subscription");
14
- const cache_1 = require("../utils/cache");
15
13
  const ssr_1 = require("../utils/ssr");
16
14
  const Provider_1 = __importDefault(require("./Provider"));
17
- const logger = logger_1.createLogger({
15
+ const logger = (0, logger_1.createLogger)({
18
16
  service: 'surgio:ShadowsocksrSubscribeProvider',
19
17
  });
20
18
  class ShadowsocksrSubscribeProvider extends Provider_1.default {
@@ -39,42 +37,29 @@ class ShadowsocksrSubscribeProvider extends Provider_1.default {
39
37
  }
40
38
  // istanbul ignore next
41
39
  get url() {
42
- return relayable_url_1.default(this._url, this.relayUrl);
40
+ return (0, relayable_url_1.default)(this._url, this.relayUrl);
43
41
  }
44
42
  async getSubscriptionUserInfo() {
45
- const { subscriptionUserinfo } = await exports.getShadowsocksrSubscription(this.url, this.udpRelay);
43
+ const { subscriptionUserinfo } = await (0, exports.getShadowsocksrSubscription)(this.url, this.udpRelay);
46
44
  if (subscriptionUserinfo) {
47
45
  return subscriptionUserinfo;
48
46
  }
49
47
  return undefined;
50
48
  }
51
49
  async getNodeList() {
52
- const { nodeList } = await exports.getShadowsocksrSubscription(this.url, this.udpRelay);
50
+ const { nodeList } = await (0, exports.getShadowsocksrSubscription)(this.url, this.udpRelay);
53
51
  return nodeList;
54
52
  }
55
53
  }
56
54
  exports.default = ShadowsocksrSubscribeProvider;
57
55
  const getShadowsocksrSubscription = async (url, udpRelay) => {
58
- assert_1.default(url, '未指定订阅地址 url');
59
- const response = cache_1.SubscriptionCache.has(url)
60
- ? cache_1.SubscriptionCache.get(url)
61
- : await (async () => {
62
- const res = await http_client_1.default.get(url);
63
- const subsciptionCacheItem = {
64
- body: res.body,
65
- };
66
- if (res.headers['subscription-userinfo']) {
67
- subsciptionCacheItem.subscriptionUserinfo = subscription_1.parseSubscriptionUserInfo(res.headers['subscription-userinfo']);
68
- logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
69
- }
70
- cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
71
- return subsciptionCacheItem;
72
- })();
73
- const nodeList = utils_1.fromBase64(response.body)
56
+ (0, assert_1.default)(url, '未指定订阅地址 url');
57
+ const response = await Provider_1.default.requestCacheableResource(url);
58
+ const nodeList = (0, utils_1.fromBase64)(response.body)
74
59
  .split('\n')
75
60
  .filter((item) => !!item && item.startsWith('ssr://'))
76
61
  .map((str) => {
77
- const nodeConfig = ssr_1.parseSSRUri(str);
62
+ const nodeConfig = (0, ssr_1.parseSSRUri)(str);
78
63
  if (udpRelay !== void 0) {
79
64
  nodeConfig['udp-relay'] = udpRelay;
80
65
  }
@@ -84,7 +69,7 @@ const getShadowsocksrSubscription = async (url, udpRelay) => {
84
69
  nodeList[0].nodeName.includes('剩余流量')) {
85
70
  const dataNode = nodeList[0];
86
71
  const expireNode = nodeList[1];
87
- response.subscriptionUserinfo = subscription_1.parseSubscriptionNode(dataNode.nodeName, expireNode.nodeName);
72
+ response.subscriptionUserinfo = (0, subscription_1.parseSubscriptionNode)(dataNode.nodeName, expireNode.nodeName);
88
73
  logger.debug('%s received subscription node - raw: %s %s | parsed: %j', url, dataNode.nodeName, expireNode.nodeName, response.subscriptionUserinfo);
89
74
  }
90
75
  return {
@@ -93,4 +78,4 @@ const getShadowsocksrSubscription = async (url, udpRelay) => {
93
78
  };
94
79
  };
95
80
  exports.getShadowsocksrSubscription = getShadowsocksrSubscription;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NyU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NyU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDJDQUE4QztBQUM5QyxvREFBNEI7QUFPNUIsb0NBQXNDO0FBQ3RDLHVFQUE4QztBQUM5QywyRUFBa0Q7QUFDbEQsd0RBRytCO0FBQy9CLDBDQUF5RTtBQUN6RSxzQ0FBMkM7QUFDM0MsMERBQWtDO0FBRWxDLE1BQU0sTUFBTSxHQUFHLHFCQUFZLENBQUM7SUFDMUIsT0FBTyxFQUFFLHNDQUFzQztDQUNoRCxDQUFDLENBQUM7QUFFSCxNQUFxQiw2QkFBOEIsU0FBUSxrQkFBUTtJQUlqRSxZQUFZLElBQVksRUFBRSxNQUEyQztRQUNuRSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMs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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NyU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NyU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLDJDQUE4QztBQUM5QyxvREFBNEI7QUFPNUIsb0NBQXNDO0FBQ3RDLDJFQUFrRDtBQUNsRCx3REFBOEQ7QUFDOUQsc0NBQTJDO0FBQzNDLDBEQUFrQztBQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHNDQUFzQztDQUNoRCxDQUFDLENBQUM7QUFFSCxNQUFxQiw2QkFBOEIsU0FBUSxrQkFBUTtJQUlqRSxZQUFZLElBQVksRUFBRSxNQUEyQztRQUNuRSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUks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