surgio 2.14.2 → 2.17.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 (47) hide show
  1. package/CHANGELOG.md +80 -50
  2. package/README.md +2 -5
  3. package/build/command/generate.js +2 -2
  4. package/build/command/lint.js +2 -2
  5. package/build/constant/index.js +6 -2
  6. package/build/generator/artifact.d.ts +3 -1
  7. package/build/generator/artifact.js +7 -5
  8. package/build/index.d.ts +3 -1
  9. package/build/index.js +11 -4
  10. package/build/provider/ClashProvider.d.ts +9 -2
  11. package/build/provider/ClashProvider.js +24 -10
  12. package/build/provider/CustomProvider.js +14 -5
  13. package/build/provider/Provider.d.ts +3 -1
  14. package/build/provider/Provider.js +31 -6
  15. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +5 -3
  16. package/build/provider/ShadowsocksJsonSubscribeProvider.js +42 -4
  17. package/build/provider/ShadowsocksSubscribeProvider.d.ts +4 -2
  18. package/build/provider/ShadowsocksSubscribeProvider.js +7 -5
  19. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +4 -2
  20. package/build/provider/ShadowsocksrSubscribeProvider.js +7 -5
  21. package/build/provider/SsdProvider.d.ts +4 -2
  22. package/build/provider/SsdProvider.js +7 -5
  23. package/build/provider/TrojanProvider.d.ts +9 -2
  24. package/build/provider/TrojanProvider.js +15 -6
  25. package/build/provider/V2rayNSubscribeProvider.d.ts +11 -2
  26. package/build/provider/V2rayNSubscribeProvider.js +17 -15
  27. package/build/types.d.ts +3 -0
  28. package/build/utils/cache.d.ts +4 -3
  29. package/build/utils/cache.js +17 -9
  30. package/build/utils/clash.d.ts +3 -0
  31. package/build/utils/clash.js +147 -0
  32. package/build/utils/constant.js +6 -2
  33. package/build/utils/dns.js +5 -5
  34. package/build/utils/env-flag.js +1 -1
  35. package/build/utils/error-helper.js +2 -2
  36. package/build/utils/filter.d.ts +1 -0
  37. package/build/utils/filter.js +27 -3
  38. package/build/utils/http-client.js +6 -2
  39. package/build/utils/index.d.ts +7 -15
  40. package/build/utils/index.js +28 -739
  41. package/build/utils/loon.js +52 -20
  42. package/build/utils/patch-proxy.js +7 -2
  43. package/build/utils/quantumult.d.ts +6 -0
  44. package/build/utils/quantumult.js +255 -0
  45. package/build/utils/surge.d.ts +6 -0
  46. package/build/utils/surge.js +365 -0
  47. package/package.json +5 -5
@@ -113,12 +113,14 @@ class Artifact extends events_1.EventEmitter {
113
113
  }
114
114
  : {}));
115
115
  }
116
- async init() {
116
+ async init({ requestUserAgent, } = {}) {
117
117
  if (this.isReady) {
118
118
  throw new Error('Artifact 已经初始化完成');
119
119
  }
120
120
  this.emit('initArtifact:start', { artifact: this.artifact });
121
- await bluebird_1.default.map(this.providerNameList, this.providerMapper.bind(this), {
121
+ await bluebird_1.default.map(this.providerNameList, async (providerName) => {
122
+ await this.providerMapper(providerName, { requestUserAgent });
123
+ }, {
122
124
  concurrency: (0, env_flag_1.getNetworkConcurrency)(),
123
125
  });
124
126
  this.providerNameList.forEach((providerName) => {
@@ -156,7 +158,7 @@ class Artifact extends events_1.EventEmitter {
156
158
  this.emit('renderArtifact', { artifact: this.artifact, result });
157
159
  return result;
158
160
  }
159
- async providerMapper(providerName) {
161
+ async providerMapper(providerName, { requestUserAgent } = {}) {
160
162
  const config = this.surgioConfig;
161
163
  const mainProviderName = this.artifact.provider;
162
164
  const filePath = path_1.default.resolve(config.providerDir, `${providerName}.js`);
@@ -179,7 +181,7 @@ class Artifact extends events_1.EventEmitter {
179
181
  throw err;
180
182
  }
181
183
  try {
182
- nodeConfigList = await provider.getNodeList();
184
+ nodeConfigList = await provider.getNodeList({ requestUserAgent });
183
185
  }
184
186
  catch (err) /* istanbul ignore next */ {
185
187
  err.message = `获取 ${providerName} 节点时出现错误,相关文件 ${filePath} ,错误原因: ${err.message}`;
@@ -287,4 +289,4 @@ class Artifact extends events_1.EventEmitter {
287
289
  }
288
290
  }
289
291
  exports.Artifact = Artifact;
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZ2VuZXJhdG9yL2FydGlmYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF3QztBQUN4QyxvREFBNEI7QUFDNUIsd0RBQWdDO0FBQ2hDLHdEQUEwQjtBQUMxQixvREFBdUI7QUFFdkIsZ0RBQXdCO0FBQ3hCLG1DQUFzQztBQUV0QywwQ0FBMEM7QUFDMUMsb0NBUWtCO0FBQ2xCLG9DQWtCa0I7QUFDbEIsc0NBQTZDO0FBQzdDLGdEQUEwRDtBQUMxRCw0Q0FxQnlCO0FBQ3pCLHdDQUF3RDtBQUN4RCx3Q0FBNkM7QUFDN0MseUNBQThDO0FBYTlDLE1BQWEsUUFBUyxTQUFRLHFCQUFZO0lBaUJ4QyxZQUNTLFlBQTJCLEVBQzNCLFFBQXdCLEVBQ3ZCLFVBQTJCLEVBQUU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKRCxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQW5CaEMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsc0JBQWlCLEdBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDTCxnQkFBVyxHQUNoQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ0wsYUFBUSxHQUE2QixFQUFFLENBQUM7UUFDeEMsaUJBQVksR0FBdUIsRUFBRSxDQUFDO1FBZTNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFFbEUsSUFBQSxnQkFBTSxFQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hELElBQUEsZ0JBQU0sRUFBQyxRQUFRLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixJQUFBLGdCQUFNLEVBQUMsUUFBUSxF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
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZ2VuZXJhdG9yL2FydGlmYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF3QztBQUN4QyxvREFBNEI7QUFDNUIsd0RBQWdDO0FBQ2hDLHdEQUEwQjtBQUMxQixvREFBdUI7QUFFdkIsZ0RBQXdCO0FBQ3hCLG1DQUFzQztBQUV0QywwQ0FBMEM7QUFDMUMsb0NBUWtCO0FBQ2xCLG9DQWtCa0I7QUFDbEIsc0NBQTZDO0FBQzdDLGdEQUEwRDtBQUMxRCw0Q0FxQnlCO0FBQ3pCLHdDQUF3RDtBQUN4RCx3Q0FBNkM7QUFDN0MseUNBQThDO0FBYTlDLE1BQWEsUUFBUyxTQUFRLHFCQUFZO0lBaUJ4QyxZQUNTLFlBQTJCLEVBQzNCLFFBQXdCLEVBQ3ZCLFVBQTJCLEVBQUU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKRCxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQW5CaEMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsc0JBQWlCLEdBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDTCxnQkFBVyxHQUNoQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ0wsYUFBUSxHQUE2QixFQUFFLENBQUM7UUFDeEMsaUJBQVksR0FBdUIsRUFBRSxDQUFDO1FBZTNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFFbEUsSUFBQSxnQkFBTSxFQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hELElBQUEsZ0JBQU0sRUFBQyxRQUFRLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixJQUFBLGdCQUFNLEVBQUMsUUFBUSxF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
package/build/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import './utils/patch-proxy';
3
3
  import Command from 'common-bin';
4
4
  import { PackageJson } from 'type-fest';
5
5
  import * as filter from './utils/filter';
6
+ import * as caches from './utils/cache';
6
7
  declare const pkg: PackageJson;
7
8
  export declare class SurgioCommand extends Command {
8
9
  constructor(rawArgv?: string[]);
@@ -16,6 +17,7 @@ export declare const utils: {
16
17
  SortFilterWithSortedFilters: typeof filter.SortFilterWithSortedFilters;
17
18
  SortFilterWithSortedKeywords: typeof filter.SortFilterWithSortedKeywords;
18
19
  validateFilter: (filter: any) => boolean;
20
+ applyFilter: <T extends import("./types").SimpleNodeConfig>(nodeList: readonly T[], filter?: import("./types").SortedNodeNameFilterType | import("./types").NodeNameFilterType | undefined) => readonly T[];
19
21
  mergeFilters: (filters: readonly import("./types").NodeNameFilterType[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
20
22
  useKeywords: (keywords: readonly string[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
21
23
  discardKeywords: (keywords: readonly string[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
@@ -54,4 +56,4 @@ export declare const categories: {
54
56
  CLASH: string;
55
57
  LOON: string;
56
58
  };
57
- export { pkg };
59
+ export { pkg, caches };
package/build/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -22,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
27
  };
24
28
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.pkg = exports.categories = exports.utils = exports.SurgioCommand = void 0;
29
+ exports.caches = exports.pkg = exports.categories = exports.utils = exports.SurgioCommand = void 0;
26
30
  require("source-map-support/register");
27
31
  require("./utils/patch-proxy");
28
32
  const global_agent_1 = require("global-agent");
@@ -34,6 +38,8 @@ const update_notifier_1 = __importDefault(require("update-notifier"));
34
38
  const logger_1 = require("@surgio/logger");
35
39
  const utils_1 = require("./utils");
36
40
  const filter = __importStar(require("./utils/filter"));
41
+ const caches = __importStar(require("./utils/cache"));
42
+ exports.caches = caches;
37
43
  const error_helper_1 = require("./utils/error-helper");
38
44
  const constant_1 = require("./constant");
39
45
  // istanbul ignore next
@@ -41,7 +47,8 @@ if (!(0, utils_1.isNow)() &&
41
47
  !(0, utils_1.isHeroku)() &&
42
48
  !(0, utils_1.isGitHubActions)() &&
43
49
  !(0, utils_1.isGitLabCI)() &&
44
- !(0, utils_1.isRailway)()) {
50
+ !(0, utils_1.isRailway)() &&
51
+ !(0, utils_1.isNetlify)()) {
45
52
  // Global proxy
46
53
  (0, global_agent_1.bootstrap)();
47
54
  }
@@ -83,4 +90,4 @@ exports.utils = Object.assign(Object.assign({}, filter), { isHeroku: utils_1.isH
83
90
  isGitHubActions: utils_1.isGitHubActions,
84
91
  isGitLabCI: utils_1.isGitLabCI });
85
92
  exports.categories = Object.assign({}, constant_1.CATEGORIES);
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFxQztBQUNyQywrQkFBNkI7QUFFN0IsK0NBQXlDO0FBQ3pDLDREQUFpQztBQUNqQyx3REFBMEI7QUFDMUIsZ0RBQXdCO0FBQ3hCLCtCQUFxQztBQUVyQyxzRUFBNkM7QUFDN0MsMkNBQTRDO0FBRTVDLG1DQU1pQjtBQUNqQix1REFBeUM7QUFDekMsdURBQW9EO0FBQ3BELHlDQUF3QztBQUV4Qyx1QkFBdUI7QUFDdkIsSUFDRSxDQUFDLElBQUEsYUFBSyxHQUFFO0lBQ1IsQ0FBQyxJQUFBLGdCQUFRLEdBQUU7SUFDWCxDQUFDLElBQUEsdUJBQWUsR0FBRTtJQUNsQixDQUFDLElBQUEsa0JBQVUsR0FBRTtJQUNiLENBQUMsSUFBQSxpQkFBUyxHQUFFLEVBQ1o7SUFDQSxlQUFlO0lBQ2YsSUFBQSx3QkFBUyxHQUFFLENBQUM7Q0FDYjtBQUVELE1BQU0sT0FBTyxHQUFHLElBQUEsY0FBTyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxNQUFNLEdBQUcsR0FBRyxrQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBZ0IsQ0FBQztBQW1EdEUsa0JBQUc7QUFqRFosTUFBYSxhQUFjLFNBQVEsb0JBQU87SUFDeEMsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZix1QkFBdUI7UUFDdkIsSUFBSSxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBQSx5QkFBYyxFQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsS0FBSyxHQUFHLGtDQUFrQyxDQUFDO1FBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsRUFBRTtnQkFDRCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUM7UUFDRixtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkIsdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLG1CQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQW5DRCxzQ0FtQ0M7QUFFWSxRQUFBLEtBQUssbUNBQ2IsTUFBTSxLQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLEtBQUssRUFBTCxhQUFLO0lBQ0wsZUFBZSxFQUFmLHVCQUFlO0lBQ2YsVUFBVSxFQUFWLGtCQUFVLElBQ1Y7QUFFVyxRQUFBLFVBQVUscUJBQ2xCLHFCQUFVLEVBQ2IifQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBcUM7QUFDckMsK0JBQTZCO0FBRTdCLCtDQUF5QztBQUN6Qyw0REFBaUM7QUFDakMsd0RBQTBCO0FBQzFCLGdEQUF3QjtBQUN4QiwrQkFBcUM7QUFFckMsc0VBQTZDO0FBQzdDLDJDQUE0QztBQUU1QyxtQ0FPaUI7QUFDakIsdURBQXlDO0FBQ3pDLHNEQUF3QztBQXFFMUIsd0JBQU07QUFwRXBCLHVEQUFvRDtBQUNwRCx5Q0FBd0M7QUFFeEMsdUJBQXVCO0FBQ3ZCLElBQ0UsQ0FBQyxJQUFBLGFBQUssR0FBRTtJQUNSLENBQUMsSUFBQSxnQkFBUSxHQUFFO0lBQ1gsQ0FBQyxJQUFBLHVCQUFlLEdBQUU7SUFDbEIsQ0FBQyxJQUFBLGtCQUFVLEdBQUU7SUFDYixDQUFDLElBQUEsaUJBQVMsR0FBRTtJQUNaLENBQUMsSUFBQSxpQkFBUyxHQUFFLEVBQ1o7SUFDQSxlQUFlO0lBQ2YsSUFBQSx3QkFBUyxHQUFFLENBQUM7Q0FDYjtBQUVELE1BQU0sT0FBTyxHQUFHLElBQUEsY0FBTyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxNQUFNLEdBQUcsR0FBRyxrQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBZ0IsQ0FBQztBQW1EdEUsa0JBQUc7QUFqRFosTUFBYSxhQUFjLFNBQVEsb0JBQU87SUFDeEMsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZix1QkFBdUI7UUFDdkIsSUFBSSxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBQSx5QkFBYyxFQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsS0FBSyxHQUFHLGtDQUFrQyxDQUFDO1FBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsRUFBRTtnQkFDRCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUM7UUFDRixtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkIsdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLG1CQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQW5DRCxzQ0FtQ0M7QUFFWSxRQUFBLEtBQUssbUNBQ2IsTUFBTSxLQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLEtBQUssRUFBTCxhQUFLO0lBQ0wsZUFBZSxFQUFmLHVCQUFlO0lBQ2YsVUFBVSxFQUFWLGtCQUFVLElBQ1Y7QUFFVyxRQUFBLFVBQVUscUJBQ2xCLHFCQUFVLEVBQ2IifQ==
@@ -8,9 +8,16 @@ export default class ClashProvider extends Provider {
8
8
  constructor(name: string, config: ClashProviderConfig);
9
9
  get url(): string;
10
10
  getSubscriptionUserInfo(): Promise<SubscriptionUserinfo | undefined>;
11
- getNodeList(): Promise<ReadonlyArray<SupportConfigTypes>>;
11
+ getNodeList({ requestUserAgent, }?: {
12
+ requestUserAgent?: string;
13
+ }): Promise<ReadonlyArray<SupportConfigTypes>>;
12
14
  }
13
- export declare const getClashSubscription: (url: string, udpRelay?: boolean | undefined, tls13?: boolean | undefined) => Promise<{
15
+ export declare const getClashSubscription: ({ url, udpRelay, tls13, requestUserAgent, }: {
16
+ url: string;
17
+ udpRelay?: boolean | undefined;
18
+ tls13?: boolean | undefined;
19
+ requestUserAgent?: string | undefined;
20
+ }) => Promise<{
14
21
  readonly nodeList: ReadonlyArray<SupportConfigTypes>;
15
22
  readonly subscriptionUserinfo?: SubscriptionUserinfo;
16
23
  }>;
@@ -12,7 +12,6 @@ const logger_1 = require("@surgio/logger");
12
12
  const types_1 = require("../types");
13
13
  const utils_1 = require("../utils");
14
14
  const env_flag_1 = require("../utils/env-flag");
15
- const http_client_1 = require("../utils/http-client");
16
15
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
17
16
  const Provider_1 = __importDefault(require("./Provider"));
18
17
  const logger = (0, logger_1.createLogger)({
@@ -45,22 +44,31 @@ class ClashProvider extends Provider_1.default {
45
44
  return (0, relayable_url_1.default)(this._url, this.relayUrl);
46
45
  }
47
46
  async getSubscriptionUserInfo() {
48
- const { subscriptionUserinfo } = await (0, exports.getClashSubscription)(this.url, this.udpRelay, this.tls13);
47
+ const { subscriptionUserinfo } = await (0, exports.getClashSubscription)({
48
+ url: this.url,
49
+ udpRelay: this.udpRelay,
50
+ tls13: this.tls13,
51
+ });
49
52
  if (subscriptionUserinfo) {
50
53
  return subscriptionUserinfo;
51
54
  }
52
55
  return void 0;
53
56
  }
54
- async getNodeList() {
55
- const { nodeList } = await (0, exports.getClashSubscription)(this.url, this.udpRelay, this.tls13);
57
+ async getNodeList({ requestUserAgent, } = {}) {
58
+ const { nodeList } = await (0, exports.getClashSubscription)({
59
+ url: this.url,
60
+ udpRelay: this.udpRelay,
61
+ tls13: this.tls13,
62
+ requestUserAgent,
63
+ });
56
64
  return nodeList;
57
65
  }
58
66
  }
59
67
  exports.default = ClashProvider;
60
- const getClashSubscription = async (url, udpRelay, tls13) => {
68
+ const getClashSubscription = async ({ url, udpRelay, tls13, requestUserAgent, }) => {
61
69
  (0, assert_1.default)(url, '未指定订阅地址 url');
62
70
  const response = await Provider_1.default.requestCacheableResource(url, {
63
- requestUserAgent: (0, http_client_1.getUserAgent)((0, env_flag_1.getNetworkClashUA)()),
71
+ requestUserAgent: requestUserAgent || (0, env_flag_1.getNetworkClashUA)(),
64
72
  });
65
73
  let clashConfig;
66
74
  try {
@@ -196,10 +204,16 @@ const parseClashConfig = (proxyList, udpRelay, tls13) => {
196
204
  method: item.cipher,
197
205
  'udp-relay': resolveUdpRelay(item.udp, udpRelay),
198
206
  };
199
- case 'trojan':
200
- return Object.assign(Object.assign(Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Trojan, nodeName: item.name, hostname: item.server, port: item.port, password: item.password }, ('skip-cert-verify' in item
207
+ case 'trojan': {
208
+ const network = item.network;
209
+ const wsOpts = lodash_1.default.get(item, 'ws-opts', {});
210
+ const wsHeaders = (0, utils_1.lowercaseHeaderKeys)(lodash_1.default.get(wsOpts, 'headers', {}));
211
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Trojan, nodeName: item.name, hostname: item.server, port: item.port, password: item.password }, ('skip-cert-verify' in item
201
212
  ? { skipCertVerify: item['skip-cert-verify'] === true }
202
- : null)), ('alpn' in item ? { alpn: item.alpn } : null)), ('sni' in item ? { sni: item.sni } : null)), { 'udp-relay': resolveUdpRelay(item.udp, udpRelay), tls13: tls13 !== null && tls13 !== void 0 ? tls13 : false });
213
+ : null)), ('alpn' in item ? { alpn: item.alpn } : null)), ('sni' in item ? { sni: item.sni } : null)), { 'udp-relay': resolveUdpRelay(item.udp, udpRelay), tls13: tls13 !== null && tls13 !== void 0 ? tls13 : false }), (network === 'ws'
214
+ ? { network: 'ws', wsPath: lodash_1.default.get(wsOpts, 'path', '/'), wsHeaders }
215
+ : null));
216
+ }
203
217
  default:
204
218
  logger.warn(`不支持从 Clash 订阅中读取 ${item.type} 的节点,节点 ${item.name} 会被省略`);
205
219
  return void 0;
@@ -214,4 +228,4 @@ function resolveUdpRelay(val, defaultVal = false) {
214
228
  }
215
229
  return defaultVal;
216
230
  }
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLG9EQUF1QjtBQUN2QiwyQ0FBOEM7QUFFOUMsb0NBV2tCO0FBQ2xCLG9DQUErQztBQUMvQyxnREFBc0Q7QUFDdEQsc0RBQW9EO0FBQ3BELDJFQUFrRDtBQUNsRCwwREFBa0M7QUFXbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSxzQkFBc0I7Q0FDaEMsQ0FBQyxDQUFDO0FBRUgsTUFBcUIsYUFBYyxTQUFRLGtCQUFRO0lBS2pELFlBQVksSUFBWSxFQUFFLE1BQTJCO1FBQ25ELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtpQkFDZCxHQUFHLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ25CLENBQUM7aUJBQ0QsUUFBUSxFQUFFO1lBQ2IsUUFBUSxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsS0FBSyxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztR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
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9DbGFzaFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLG9EQUF1QjtBQUN2QiwyQ0FBOEM7QUFFOUMsb0NBV2tCO0FBQ2xCLG9DQUErQztBQUMvQyxnREFBc0Q7QUFDdEQsMkVBQWtEO0FBQ2xELDBEQUFrQztBQVdsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHNCQUFzQjtDQUNoQyxDQUFDLENBQUM7QUFFSCxNQUFxQixhQUFjLFNBQVEsa0JBQVE7SUFLakQsWUFBWSxJQUFZLEVBQUUsTUFBMkI7UUFDbkQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixLQUFLLEVBQUUsYUFBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUMzQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FB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
@@ -32,18 +32,27 @@ class CustomProvider extends Provider_1.default {
32
32
  this.nodeList = config.nodeList;
33
33
  }
34
34
  async getNodeList() {
35
- const checkSchema = joi_1.default.object({
35
+ const udpRelayCheckSchema = joi_1.default.object({
36
36
  'udp-relay': joi_1.default.bool().strict(),
37
37
  }).unknown();
38
38
  return this.nodeList.map((item) => {
39
- const { error } = checkSchema.validate(item);
39
+ const { error: udpRelayCheckError } = udpRelayCheckSchema.validate(item);
40
+ const lowercaseKeys = ['wsHeaders'];
40
41
  // istanbul ignore next
41
- if (error) {
42
- throw error;
42
+ if (udpRelayCheckError) {
43
+ throw udpRelayCheckError;
43
44
  }
45
+ lowercaseKeys.forEach((key) => {
46
+ if (item[key]) {
47
+ item[key] = Object.keys(item[key]).reduce((acc, curr) => {
48
+ acc[curr.toLowerCase()] = item[key][curr];
49
+ return acc;
50
+ }, {});
51
+ }
52
+ });
44
53
  return item;
45
54
  });
46
55
  }
47
56
  }
48
57
  exports.default = CustomProvider;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvQ3VzdG9tUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsb0NBSWtCO0FBQ2xCLDBEQUFrQztBQUVsQyxNQUFxQixjQUFlLFNBQVEsa0JBQVE7SUFHbEQsWUFBWSxJQUFZLEVBQUUsTUFBNEI7UUFDcEQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLFVBQVUsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsb0JBQVksQ0FBQyxDQUFDO2lCQUM3QyxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM5QixHQUFHLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMzQixLQUFLLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUN2QixlQUFlLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtTQUM5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxhQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtTQUNuRCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzdCLFdBQVcsRUFBRSxhQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3Qyx1QkFBdUI7WUFDdkIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSxLQUFLLENBQUM7YUFDYjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoREQsaUNBZ0RDIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvQ3VzdG9tUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsb0NBSWtCO0FBQ2xCLDBEQUFrQztBQUVsQyxNQUFxQixjQUFlLFNBQVEsa0JBQVE7SUFHbEQsWUFBWSxJQUFZLEVBQUUsTUFBNEI7UUFDcEQsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLFVBQVUsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsb0JBQVksQ0FBQyxDQUFDO2lCQUM3QyxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM5QixHQUFHLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMzQixLQUFLLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNyQixTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtZQUN2QixlQUFlLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRTtTQUM5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxhQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtTQUNuRCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLG1CQUFtQixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDckMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7U0FDakMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVwQyx1QkFBdUI7WUFDdkIsSUFBSSxrQkFBa0IsRUFBRTtnQkFDdEIsTUFBTSxrQkFBa0IsQ0FBQzthQUMxQjtZQUVELGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO3dCQUN0RCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxPQUFPLEdBQUcsQ0FBQztvQkFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ1I7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExREQsaUNBMERDIn0=
@@ -21,5 +21,7 @@ export default class Provider {
21
21
  }): Promise<SubsciptionCacheItem>;
22
22
  get nextPort(): number;
23
23
  getSubscriptionUserInfo(): Promise<SubscriptionUserinfo | undefined>;
24
- getNodeList(): Promise<ReadonlyArray<PossibleNodeConfigType>>;
24
+ getNodeList({}?: {
25
+ requestUserAgent?: string;
26
+ }): Promise<ReadonlyArray<PossibleNodeConfigType>>;
25
27
  }
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -7,8 +30,9 @@ const logger_1 = require("@surgio/logger");
7
30
  const joi_1 = __importDefault(require("joi"));
8
31
  const types_1 = require("../types");
9
32
  const cache_1 = require("../utils/cache");
10
- const http_client_1 = __importDefault(require("../utils/http-client"));
33
+ const http_client_1 = __importStar(require("../utils/http-client"));
11
34
  const subscription_1 = require("../utils/subscription");
35
+ const utils_1 = require("../utils");
12
36
  const logger = (0, logger_1.createLogger)({
13
37
  service: 'surgio:Provider',
14
38
  });
@@ -67,8 +91,9 @@ class Provider {
67
91
  });
68
92
  }
69
93
  static async requestCacheableResource(url, options = {}) {
70
- return cache_1.SubscriptionCache.has(url)
71
- ? cache_1.SubscriptionCache.get(url)
94
+ const cacheKey = `${(0, utils_1.toBase64)((0, http_client_1.getUserAgent)(options.requestUserAgent || ''))}:${url}`;
95
+ return cache_1.SubscriptionCache.has(cacheKey)
96
+ ? cache_1.SubscriptionCache.get(cacheKey)
72
97
  : await (async () => {
73
98
  const headers = {};
74
99
  if (options.requestUserAgent) {
@@ -86,7 +111,7 @@ class Provider {
86
111
  (0, subscription_1.parseSubscriptionUserInfo)(res.headers['subscription-userinfo']);
87
112
  logger.debug('%s received subscription userinfo - raw: %s | parsed: %j', url, res.headers['subscription-userinfo'], subsciptionCacheItem.subscriptionUserinfo);
88
113
  }
89
- cache_1.SubscriptionCache.set(url, subsciptionCacheItem);
114
+ cache_1.SubscriptionCache.set(cacheKey, subsciptionCacheItem);
90
115
  return subsciptionCacheItem;
91
116
  })();
92
117
  }
@@ -101,9 +126,9 @@ class Provider {
101
126
  throw new Error('此 Provider 不支持该功能');
102
127
  }
103
128
  // istanbul ignore next
104
- getNodeList() {
129
+ getNodeList({} = {}) {
105
130
  return Promise.resolve([]);
106
131
  }
107
132
  }
108
133
  exports.default = Provider;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBOEM7QUFDOUMsOENBQXNCO0FBRXRCLG9DQUtrQjtBQUNsQiwwQ0FBeUU7QUFDekUsdUVBQThDO0FBQzlDLHdEQUFrRTtBQUVsRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDLENBQUM7QUFFSCxNQUFxQixRQUFRO0lBaUIzQixZQUFtQixJQUFZLEVBQUUsTUFBc0I7UUFBcEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsMkJBQW1CLENBQUMsQ0FBQztpQkFDcEQsUUFBUSxFQUFFO1lBQ2IsVUFBVSxFQUFFLGFBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ3pCLGFBQUcsQ0FBQyxRQUFRLEVBQUUsRUFDZCxhQUFHLENBQUMsTUFBTSxDQUFDO2dCQUNULE1BQU0sRUFBRSxhQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN0QixXQUFXLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTthQUNwQyxDQUFDLENBQ0g7WUFDRCxhQUFhLEVBQUUsYUFBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDNUIsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ3BDLENBQUMsQ0FDSDtZ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
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE4QztBQUM5Qyw4Q0FBc0I7QUFFdEIsb0NBS2tCO0FBQ2xCLDBDQUF5RTtBQUN6RSxvRUFBZ0U7QUFDaEUsd0RBQWtFO0FBQ2xFLG9DQUFvQztBQUVwQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDLENBQUM7QUFFSCxNQUFxQixRQUFRO0lBaUIzQixZQUFtQixJQUFZLEVBQUUsTUFBc0I7UUFBcEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNmLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQVMsMkJBQW1CLENBQUMsQ0FBQztpQkFDcEQsUUFBUSxFQUFFO1lBQ2IsVUFBVSxFQUFFLGFBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ3pCLGFBQUcsQ0FBQyxRQUFRLEVBQUUsRUFDZCxhQUFHLENBQUMsTUFBTSxDQUFDO2dCQUNULE1BQU0sRUFBRSxhQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN0QixXQUFXLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTthQUNwQyxDQUFDLENBQ0g7WUFDRCxhQUFhLEVBQUUsYUFBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDNUIsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ3BDLENBQUMsQ0FDSDtZQUNELG9CQUFvQixFQUFFLGFBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ25DLGFBQUcsQ0FBQyxRQUFRLEVBQUUsRUFDZCxhQUFHLENBQUMsTUFBTSxDQUFDO2dCQUNULE1BQU0sRUFBRSxhQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN0QixXQUFXLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTthQUNwQyxDQUFDLENBQ0g7WUFDRCxhQUFhLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FDakMsYUFBRyxDQUFDLE1BQU0sRUFBRSxFQUNaLGFBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ2IsYUFBRyxDQUFDLFFBQVEsRUFBRSxFQUNkLGFBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ3BDLENBQUMsQ0FDSCxDQUNGO1lBQ0QsT0FBTyxFQUFFLGFBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDL0Isa0JBQWtCLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxLQUFLLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUM3QixHQUFHLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMzQixTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3RELFFBQVEsRUFBRSxDQUFDLGFBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEQsVUFBVSxFQUFFLGFBQUcsQ0FBQyxRQUFRLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyw4QkFBOEIsR0FBRyxLQUFLLENBQUM7UUFFNUM7WUFDRSxNQUFNO1lBQ04sWUFBWTtZQUNaLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLFNBQVM7WUFDVCxvQkFBb0I7WUFDcEIsS0FBSztZQUNMLE9BQU87WUFDUCxXQUFXO1lBQ1gsWUFBWTtZQUNaLFVBQVU7U0FDWCxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FDbkMsR0FBVyxFQUNYLFVBRUksRUFBRTtRQUVOLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBQSxnQkFBUSxFQUMxQixJQUFBLDBCQUFZLEVBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUM3QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVgsT0FBTyx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUMsQ0FBRSx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUEwQjtZQUMzRCxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNoQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBRW5CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO29CQUM1QixPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2lCQUNsRDtnQkFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLHFCQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDcEMsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLE9BQU87aUJBQ1IsQ0FBQyxDQUFDO2dCQUNILE1BQU0sb0JBQW9CLEdBQXlCO29CQUNqRCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7aUJBQ2YsQ0FBQztnQkFFRixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRTtvQkFDeEMsb0JBQW9CLENBQUMsb0JBQW9CO3dCQUN2QyxJQUFBLHdDQUF5QixFQUN2QixHQUFHLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFXLENBQy9DLENBQUM7b0JBQ0osTUFBTSxDQUFDLEtBQUssQ0FDViwwREFBMEQsRUFDMUQsR0FBRyxFQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFDcEMsb0JBQW9CLENBQUMsb0JBQW9CLENBQzFDLENBQUM7aUJBQ0g7Z0JBRUQseUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUV0RCxPQUFPLG9CQUFvQixDQUFDO1lBQzlCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN6QjtRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELHVCQUF1QjtJQUNoQixLQUFLLENBQUMsdUJBQXVCO1FBR2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLFdBQVcsQ0FBQyxLQUFvQyxFQUFFO1FBR3ZELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUEzSkQsMkJBMkpDIn0=
@@ -1,10 +1,12 @@
1
- import { ShadowsocksJsonSubscribeProviderConfig } from '../types';
2
- import { getShadowsocksJSONConfig } from '../utils';
1
+ import { ShadowsocksJsonSubscribeProviderConfig, ShadowsocksNodeConfig } from '../types';
3
2
  import Provider from './Provider';
4
3
  export default class ShadowsocksJsonSubscribeProvider extends Provider {
5
4
  readonly udpRelay?: boolean;
6
5
  private readonly _url;
7
6
  constructor(name: string, config: ShadowsocksJsonSubscribeProviderConfig);
8
7
  get url(): string;
9
- getNodeList(): ReturnType<typeof getShadowsocksJSONConfig>;
8
+ getNodeList({ requestUserAgent, }?: {
9
+ requestUserAgent?: string;
10
+ }): ReturnType<typeof getShadowsocksJSONConfig>;
10
11
  }
12
+ export declare const getShadowsocksJSONConfig: (url: string, udpRelay?: boolean | undefined, requestUserAgent?: string | undefined) => Promise<ReadonlyArray<ShadowsocksNodeConfig>>;
@@ -3,8 +3,10 @@ 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
+ exports.getShadowsocksJSONConfig = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
6
8
  const joi_1 = __importDefault(require("joi"));
7
- const utils_1 = require("../utils");
9
+ const types_1 = require("../types");
8
10
  const relayable_url_1 = __importDefault(require("../utils/relayable-url"));
9
11
  const Provider_1 = __importDefault(require("./Provider"));
10
12
  class ShadowsocksJsonSubscribeProvider extends Provider_1.default {
@@ -30,9 +32,45 @@ class ShadowsocksJsonSubscribeProvider extends Provider_1.default {
30
32
  get url() {
31
33
  return (0, relayable_url_1.default)(this._url, this.relayUrl);
32
34
  }
33
- getNodeList() {
34
- return (0, utils_1.getShadowsocksJSONConfig)(this.url, this.udpRelay);
35
+ getNodeList({ requestUserAgent, } = {}) {
36
+ return (0, exports.getShadowsocksJSONConfig)(this.url, this.udpRelay, requestUserAgent);
35
37
  }
36
38
  }
37
39
  exports.default = ShadowsocksJsonSubscribeProvider;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFFdEIsb0NBQW9EO0FBQ3BELDJFQUFrRDtBQUNsRCwwREFBa0M7QUFFbEMsTUFBcUIsZ0NBQWlDLFNBQVEsa0JBQVE7SUFJcEUsWUFBWSxJQUFZLEVBQUUsTUFBOEM7UUFDdEUsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFO2lCQUNkLEdBQUcsQ0FBQztnQkFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbkIsQ0FBQztpQkFDRCxRQUFRLEVBQUU7WUFDYixRQUFRLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQVcsR0FBRztRQUNaLE9BQU8sSUFBQSx1QkFBWSxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBQSxnQ0FBd0IsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFuQ0QsbURBbUNDIn0=
40
+ const getShadowsocksJSONConfig = async (url, udpRelay, requestUserAgent) => {
41
+ (0, assert_1.default)(url, '未指定订阅地址 url');
42
+ async function requestConfigFromRemote() {
43
+ const response = await Provider_1.default.requestCacheableResource(url, {
44
+ requestUserAgent: requestUserAgent || 'shadowrocket',
45
+ });
46
+ const config = JSON.parse(response.body);
47
+ if (!config || !config.configs) {
48
+ throw new Error('订阅地址返回的数据格式不正确');
49
+ }
50
+ return config.configs.map((item) => {
51
+ const nodeConfig = {
52
+ nodeName: item.remarks,
53
+ type: types_1.NodeTypeEnum.Shadowsocks,
54
+ hostname: item.server,
55
+ port: item.server_port,
56
+ method: item.method,
57
+ password: item.password,
58
+ };
59
+ if (typeof udpRelay === 'boolean') {
60
+ nodeConfig['udp-relay'] = udpRelay;
61
+ }
62
+ if (item.plugin === 'obfs-local') {
63
+ const obfs = item.plugin_opts.match(/obfs=(\w+)/);
64
+ const obfsHost = item.plugin_opts.match(/obfs-host=(.+)$/);
65
+ if (obfs) {
66
+ nodeConfig.obfs = obfs[1];
67
+ nodeConfig['obfs-host'] = obfsHost ? obfsHost[1] : 'www.bing.com';
68
+ }
69
+ }
70
+ return nodeConfig;
71
+ });
72
+ }
73
+ return await requestConfigFromRemote();
74
+ };
75
+ exports.getShadowsocksJSONConfig = getShadowsocksJSONConfig;
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcHJvdmlkZXIvU2hhZG93c29ja3NKc29uU3Vic2NyaWJlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDhDQUFzQjtBQUN0QixvQ0FJa0I7QUFDbEIsMkVBQWtEO0FBQ2xELDBEQUFrQztBQUVsQyxNQUFxQixnQ0FBaUMsU0FBUSxrQkFBUTtJQUlwRSxZQUFZLElBQVksRUFBRSxNQUE4QztRQUN0RSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFBLHVCQUFZLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxFQUNqQixnQkFBZ0IsTUFDaUIsRUFBRTtRQUduQyxPQUFPLElBQUEsZ0NBQXdCLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGO0FBdkNELG1EQXVDQztBQUVNLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxFQUMzQyxHQUFXLEVBQ1gsUUFBa0IsRUFDbEIsZ0JBQXlCLEVBQ3NCLEVBQUU7SUFDakQsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUzQixLQUFLLFVBQVUsdUJBQXVCO1FBR3BDLE1BQU0sUUFBUSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsZ0JBQWdCLEVBQUUsZ0JBQWdCLElBQUksY0FBYztTQUNyRCxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBRXRDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUF5QixFQUFFO1lBQ3hELE1BQU0sVUFBVSxHQUFRO2dCQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQWlCO2dCQUNoQyxJQUFJLEVBQUUsb0JBQVksQ0FBQyxXQUFXO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQWdCO2dCQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQXFCO2dCQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQWdCO2dCQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQWtCO2FBQ2xDLENBQUM7WUFFRixJQUFJLE9BQU8sUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQzthQUNwQztZQUNELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxZQUFZLEVBQUU7Z0JBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUUzRCxJQUFJLElBQUksRUFBRTtvQkFDUixVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7aUJBQ25FO2FBQ0Y7WUFFRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE1BQU0sdUJBQXVCLEVBQUUsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFqRFcsUUFBQSx3QkFBd0IsNEJBaURuQyJ9
@@ -6,12 +6,14 @@ export default class ShadowsocksSubscribeProvider extends Provider {
6
6
  constructor(name: string, config: ShadowsocksSubscribeProviderConfig);
7
7
  get url(): string;
8
8
  getSubscriptionUserInfo(): Promise<SubscriptionUserinfo | undefined>;
9
- getNodeList(): Promise<ReadonlyArray<ShadowsocksNodeConfig>>;
9
+ getNodeList({ requestUserAgent, }?: {
10
+ requestUserAgent?: string;
11
+ }): Promise<ReadonlyArray<ShadowsocksNodeConfig>>;
10
12
  }
11
13
  /**
12
14
  * @see https://shadowsocks.org/en/spec/SIP002-URI-Scheme.html
13
15
  */
14
- export declare const getShadowsocksSubscription: (url: string, udpRelay?: boolean | undefined) => Promise<{
16
+ export declare const getShadowsocksSubscription: (url: string, udpRelay?: boolean | undefined, requestUserAgent?: string | undefined) => Promise<{
15
17
  readonly nodeList: ReadonlyArray<ShadowsocksNodeConfig>;
16
18
  readonly subscriptionUserinfo?: SubscriptionUserinfo | undefined;
17
19
  }>;
@@ -45,8 +45,8 @@ class ShadowsocksSubscribeProvider extends Provider_1.default {
45
45
  }
46
46
  return undefined;
47
47
  }
48
- async getNodeList() {
49
- const { nodeList } = await (0, exports.getShadowsocksSubscription)(this.url, this.udpRelay);
48
+ async getNodeList({ requestUserAgent, } = {}) {
49
+ const { nodeList } = await (0, exports.getShadowsocksSubscription)(this.url, this.udpRelay, requestUserAgent);
50
50
  return nodeList;
51
51
  }
52
52
  }
@@ -54,9 +54,11 @@ exports.default = ShadowsocksSubscribeProvider;
54
54
  /**
55
55
  * @see https://shadowsocks.org/en/spec/SIP002-URI-Scheme.html
56
56
  */
57
- const getShadowsocksSubscription = async (url, udpRelay) => {
57
+ const getShadowsocksSubscription = async (url, udpRelay, requestUserAgent) => {
58
58
  (0, assert_1.default)(url, '未指定订阅地址 url');
59
- const response = await Provider_1.default.requestCacheableResource(url);
59
+ const response = await Provider_1.default.requestCacheableResource(url, {
60
+ requestUserAgent,
61
+ });
60
62
  const nodeList = (0, utils_1.fromBase64)(response.body)
61
63
  .split('\n')
62
64
  .filter((item) => !!item && item.startsWith('ss://'))
@@ -73,4 +75,4 @@ const getShadowsocksSubscription = async (url, udpRelay) => {
73
75
  };
74
76
  };
75
77
  exports.getShadowsocksSubscription = getShadowsocksSubscription;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NTdWJzY3JpYmVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9TaGFkb3dzb2Nrc1N1YnNjcmliZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsMkNBQThDO0FBTzlDLG9DQUFzQztBQUN0QywyRUFBa0Q7QUFDbEQsb0NBQXlDO0FBQ3pDLDBEQUFrQztBQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHFDQUFxQztDQUMvQyxDQUFDLENBQUM7QUFFSCxNQUFxQiw0QkFBNkIsU0FBUSxrQkFBUTtJQUloRSxZQUFZLElBQVksRUFBRSxNQUEwQztRQUNsRSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLEdBQUc7UUFDWixPQUFPLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUdsQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQy9ELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRUYsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixPQUFPLG9CQUFvQixDQUFDO1NBQzdCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQ25ELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBdkRELCtDQXVEQztBQUVEOztHQUVHO0FBQ0ksTUFBTSwwQkFBMEIsR0FBRyxLQUFLLEVBQzdDLEdBQVcsRUFDWCxRQUFrQixFQUlqQixFQUFFO0lBQ0gsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUzQixNQUFNLFFBQVEsR0FBRyxNQUFNLGtCQUFRLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBQSxrQkFBVSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDdkMsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBeUIsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFBLGVBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QixVQUFVLENBQUMsV0FBVyxDQUFhLEdBQUcsUUFBUSxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFTCxPQUFPO1FBQ0wsUUFBUTtRQUNSLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0I7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTNCVyxRQUFBLDBCQUEwQiw4QkEyQnJDIn0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhZG93c29ja3NTdWJzY3JpYmVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9TaGFkb3dzb2Nrc1N1YnNjcmliZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFzQjtBQUN0QixvREFBNEI7QUFDNUIsMkNBQThDO0FBTzlDLG9DQUFzQztBQUN0QywyRUFBa0Q7QUFDbEQsb0NBQXlDO0FBQ3pDLDBEQUFrQztBQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUM7SUFDMUIsT0FBTyxFQUFFLHFDQUFxQztDQUMvQyxDQUFDLENBQUM7QUFFSCxNQUFxQiw0QkFBNkIsU0FBUSxrQkFBUTtJQUloRSxZQUFZLElBQVksRUFBRSxNQUEwQztRQUNsRSxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE1BQU0sTUFBTSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7WUFDeEIsR0FBRyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUU7aUJBQ2QsR0FBRyxDQUFDO2dCQUNILE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNuQixDQUFDO2lCQUNELFFBQVEsRUFBRTtZQUNiLFFBQVEsRUFBRSxhQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLHVCQUF1QjtRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLEdBQUc7UUFDWixPQUFPLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUdsQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQy9ELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO1FBRUYsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixPQUFPLG9CQUFvQixDQUFDO1NBQzdCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFDdkIsZ0JBQWdCLE1BQ2lCLEVBQUU7UUFHbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBQSxrQ0FBMEIsRUFDbkQsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsUUFBUSxFQUNiLGdCQUFnQixDQUNqQixDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBNURELCtDQTREQztBQUVEOztHQUVHO0FBQ0ksTUFBTSwwQkFBMEIsR0FBRyxLQUFLLEVBQzdDLEdBQVcsRUFDWCxRQUFrQixFQUNsQixnQkFBeUIsRUFJeEIsRUFBRTtJQUNILElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFM0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBUSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRTtRQUM1RCxnQkFBZ0I7S0FDakIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBQSxrQkFBVSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDdkMsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBeUIsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFBLGVBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QixVQUFVLENBQUMsV0FBVyxDQUFhLEdBQUcsUUFBUSxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFTCxPQUFPO1FBQ0wsUUFBUTtRQUNSLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0I7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTlCVyxRQUFBLDBCQUEwQiw4QkE4QnJDIn0=