surgio 2.25.3 → 3.0.0-alpha.1

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 (265) hide show
  1. package/LICENSE +1 -1
  2. package/bin/dev +17 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/run +8 -0
  5. package/bin/run.cmd +3 -0
  6. package/build/base-command.d.ts +19 -0
  7. package/build/base-command.js +75 -0
  8. package/build/base-command.js.map +1 -0
  9. package/build/commands/check.d.ts +10 -0
  10. package/build/commands/check.js +88 -0
  11. package/build/commands/check.js.map +1 -0
  12. package/build/commands/clean-cache.d.ts +6 -0
  13. package/build/commands/clean-cache.js +29 -0
  14. package/build/commands/clean-cache.js.map +1 -0
  15. package/build/commands/doctor.d.ts +6 -0
  16. package/build/commands/doctor.js +21 -0
  17. package/build/commands/doctor.js.map +1 -0
  18. package/build/commands/generate.d.ts +7 -0
  19. package/build/commands/generate.js +93 -0
  20. package/build/commands/generate.js.map +1 -0
  21. package/build/commands/lint.d.ts +6 -0
  22. package/build/commands/lint.js +36 -0
  23. package/build/commands/lint.js.map +1 -0
  24. package/build/commands/new.d.ts +6 -0
  25. package/build/commands/new.js +36 -0
  26. package/build/commands/new.js.map +1 -0
  27. package/build/commands/subscriptions.d.ts +7 -0
  28. package/build/commands/subscriptions.js +96 -0
  29. package/build/commands/subscriptions.js.map +1 -0
  30. package/build/commands/upload.d.ts +6 -0
  31. package/build/commands/upload.js +89 -0
  32. package/build/commands/upload.js.map +1 -0
  33. package/build/config.d.ts +6 -0
  34. package/build/config.js +151 -0
  35. package/build/config.js.map +1 -0
  36. package/build/configurables.d.ts +80 -0
  37. package/build/configurables.js +52 -0
  38. package/build/configurables.js.map +1 -0
  39. package/build/constant/constant.d.ts +16 -16
  40. package/build/constant/constant.js +3 -13
  41. package/build/constant/constant.js.map +1 -0
  42. package/build/constant/env.js +1 -1
  43. package/build/constant/env.js.map +1 -0
  44. package/build/constant/error.js +1 -1
  45. package/build/constant/error.js.map +1 -0
  46. package/build/constant/index.js +1 -1
  47. package/build/constant/index.js.map +1 -0
  48. package/build/generator/artifact.d.ts +302 -67
  49. package/build/generator/artifact.js +141 -101
  50. package/build/generator/artifact.js.map +1 -0
  51. package/build/generator/index.d.ts +2 -0
  52. package/build/generator/index.js +19 -0
  53. package/build/generator/index.js.map +1 -0
  54. package/build/generator/template.js +2 -28
  55. package/build/generator/template.js.map +1 -0
  56. package/build/hooks/init.d.ts +3 -0
  57. package/build/hooks/init.js +33 -0
  58. package/build/hooks/init.js.map +1 -0
  59. package/build/index.d.ts +68 -66
  60. package/build/index.js +11 -51
  61. package/build/index.js.map +1 -0
  62. package/build/internal.d.ts +5 -0
  63. package/build/internal.js +25 -0
  64. package/build/internal.js.map +1 -0
  65. package/build/misc/deprecation.d.ts +1 -6
  66. package/build/misc/deprecation.js +1 -8
  67. package/build/misc/deprecation.js.map +1 -0
  68. package/build/misc/flag_cn.d.ts +49 -50
  69. package/build/misc/flag_cn.js +3 -3
  70. package/build/misc/flag_cn.js.map +1 -0
  71. package/build/provider/BlackSSLProvider.d.ts +4 -3
  72. package/build/provider/BlackSSLProvider.js +28 -16
  73. package/build/provider/BlackSSLProvider.js.map +1 -0
  74. package/build/provider/ClashProvider.d.ts +7 -10
  75. package/build/provider/ClashProvider.js +168 -76
  76. package/build/provider/ClashProvider.js.map +1 -0
  77. package/build/provider/CustomProvider.d.ts +4 -3
  78. package/build/provider/CustomProvider.js +98 -54
  79. package/build/provider/CustomProvider.js.map +1 -0
  80. package/build/provider/Provider.d.ts +9 -22
  81. package/build/provider/Provider.js +34 -69
  82. package/build/provider/Provider.js.map +1 -0
  83. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  84. package/build/provider/ShadowsocksJsonSubscribeProvider.js +31 -21
  85. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -0
  86. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  87. package/build/provider/ShadowsocksSubscribeProvider.js +33 -27
  88. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -0
  89. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  90. package/build/provider/ShadowsocksrSubscribeProvider.js +33 -23
  91. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -0
  92. package/build/provider/SsdProvider.d.ts +5 -8
  93. package/build/provider/SsdProvider.js +59 -39
  94. package/build/provider/SsdProvider.js.map +1 -0
  95. package/build/provider/TrojanProvider.d.ts +5 -8
  96. package/build/provider/TrojanProvider.js +40 -30
  97. package/build/provider/TrojanProvider.js.map +1 -0
  98. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  99. package/build/provider/V2rayNSubscribeProvider.js +64 -33
  100. package/build/provider/V2rayNSubscribeProvider.js.map +1 -0
  101. package/build/provider/index.d.ts +16 -2
  102. package/build/provider/index.js +12 -5
  103. package/build/provider/index.js.map +1 -0
  104. package/build/provider/types.d.ts +10 -1
  105. package/build/provider/types.js +1 -1
  106. package/build/provider/types.js.map +1 -0
  107. package/build/redis.js +1 -1
  108. package/build/redis.js.map +1 -0
  109. package/build/types.d.ts +42 -236
  110. package/build/types.js +2 -1
  111. package/build/types.js.map +1 -0
  112. package/build/utils/cache.js +29 -27
  113. package/build/utils/cache.js.map +1 -0
  114. package/build/utils/clash.d.ts +204 -3
  115. package/build/utils/clash.js +247 -110
  116. package/build/utils/clash.js.map +1 -0
  117. package/build/utils/constant.js +1 -1
  118. package/build/utils/constant.js.map +1 -0
  119. package/build/utils/dns.js +1 -1
  120. package/build/utils/dns.js.map +1 -0
  121. package/build/utils/doctor.d.ts +2 -0
  122. package/build/utils/doctor.js +38 -0
  123. package/build/utils/doctor.js.map +1 -0
  124. package/build/utils/env-flag.js +2 -2
  125. package/build/utils/env-flag.js.map +1 -0
  126. package/build/utils/error-helper.d.ts +2 -2
  127. package/build/utils/error-helper.js +51 -16
  128. package/build/utils/error-helper.js.map +1 -0
  129. package/build/utils/errors.d.ts +19 -0
  130. package/build/utils/errors.js +60 -0
  131. package/build/utils/errors.js.map +1 -0
  132. package/build/utils/filter.d.ts +46 -43
  133. package/build/utils/filter.js +57 -59
  134. package/build/utils/filter.js.map +1 -0
  135. package/build/utils/flag.js +6 -6
  136. package/build/utils/flag.js.map +1 -0
  137. package/build/utils/http-client.js +38 -5
  138. package/build/utils/http-client.js.map +1 -0
  139. package/build/utils/index.d.ts +14 -21
  140. package/build/utils/index.js +102 -118
  141. package/build/utils/index.js.map +1 -0
  142. package/build/utils/linter.js +5 -2
  143. package/build/utils/linter.js.map +1 -0
  144. package/build/utils/loon.d.ts +3 -2
  145. package/build/utils/loon.js +67 -5
  146. package/build/utils/loon.js.map +1 -0
  147. package/build/utils/quantumult.d.ts +3 -3
  148. package/build/utils/quantumult.js +190 -258
  149. package/build/utils/quantumult.js.map +1 -0
  150. package/build/utils/relayable-url.js +1 -1
  151. package/build/utils/relayable-url.js.map +1 -0
  152. package/build/utils/remote-snippet.js +37 -14
  153. package/build/utils/remote-snippet.js.map +1 -0
  154. package/build/utils/ss.js +27 -17
  155. package/build/utils/ss.js.map +1 -0
  156. package/build/utils/ssr.js +3 -4
  157. package/build/utils/ssr.js.map +1 -0
  158. package/build/utils/subscription.js +10 -9
  159. package/build/utils/subscription.js.map +1 -0
  160. package/build/utils/surfboard.d.ts +3 -2
  161. package/build/utils/surfboard.js +142 -126
  162. package/build/utils/surfboard.js.map +1 -0
  163. package/build/utils/surge.d.ts +4 -2
  164. package/build/utils/surge.js +328 -300
  165. package/build/utils/surge.js.map +1 -0
  166. package/build/utils/time.d.ts +1 -0
  167. package/build/utils/time.js +6 -0
  168. package/build/utils/time.js.map +1 -0
  169. package/build/utils/tmp-helper.js +8 -1
  170. package/build/utils/tmp-helper.js.map +1 -0
  171. package/build/utils/trojan.js +19 -11
  172. package/build/utils/trojan.js.map +1 -0
  173. package/build/validators/artifact.d.ts +35 -0
  174. package/build/validators/artifact.js +17 -0
  175. package/build/validators/artifact.js.map +1 -0
  176. package/build/validators/common.d.ts +121 -0
  177. package/build/validators/common.js +65 -0
  178. package/build/validators/common.js.map +1 -0
  179. package/build/validators/filter.d.ts +10 -0
  180. package/build/validators/filter.js +15 -0
  181. package/build/validators/filter.js.map +1 -0
  182. package/build/validators/hooks.d.ts +9 -0
  183. package/build/validators/hooks.js +11 -0
  184. package/build/validators/hooks.js.map +1 -0
  185. package/build/validators/http.d.ts +137 -0
  186. package/build/validators/http.js +19 -0
  187. package/build/validators/http.js.map +1 -0
  188. package/build/validators/index.d.ts +15 -0
  189. package/build/validators/index.js +32 -0
  190. package/build/validators/index.js.map +1 -0
  191. package/build/validators/provider.d.ts +114 -0
  192. package/build/validators/provider.js +42 -0
  193. package/build/validators/provider.js.map +1 -0
  194. package/build/validators/shadowsocks.d.ts +86 -0
  195. package/build/validators/shadowsocks.js +29 -0
  196. package/build/validators/shadowsocks.js.map +1 -0
  197. package/build/validators/shadowsocksr.d.ts +77 -0
  198. package/build/validators/shadowsocksr.js +19 -0
  199. package/build/validators/shadowsocksr.js.map +1 -0
  200. package/build/validators/snell.d.ts +71 -0
  201. package/build/validators/snell.js +17 -0
  202. package/build/validators/snell.js.map +1 -0
  203. package/build/validators/socks5.d.ts +77 -0
  204. package/build/validators/socks5.js +19 -0
  205. package/build/validators/socks5.js.map +1 -0
  206. package/build/validators/surgio-config.d.ts +307 -0
  207. package/build/validators/surgio-config.js +95 -0
  208. package/build/validators/surgio-config.js.map +1 -0
  209. package/build/validators/trojan.d.ts +86 -0
  210. package/build/validators/trojan.js +15 -0
  211. package/build/validators/trojan.js.map +1 -0
  212. package/build/validators/tuic.d.ts +301 -0
  213. package/build/validators/tuic.js +21 -0
  214. package/build/validators/tuic.js.map +1 -0
  215. package/build/validators/vmess.d.ts +92 -0
  216. package/build/validators/vmess.js +29 -0
  217. package/build/validators/vmess.js.map +1 -0
  218. package/build/validators/wireguard.d.ts +123 -0
  219. package/build/validators/wireguard.js +26 -0
  220. package/build/validators/wireguard.js.map +1 -0
  221. package/config.d.ts +1 -0
  222. package/config.js +1 -0
  223. package/constant.d.ts +1 -0
  224. package/constant.js +1 -0
  225. package/generator.d.ts +1 -0
  226. package/generator.js +1 -0
  227. package/hygen-template/artifact/new/index.js +15 -15
  228. package/hygen-template/provider/new/index.js +8 -7
  229. package/hygen-template/template/new/index.js +3 -3
  230. package/index.d.ts +1 -0
  231. package/index.js +1 -0
  232. package/internal.d.ts +1 -0
  233. package/internal.js +1 -0
  234. package/package.json +120 -80
  235. package/provider.d.ts +1 -0
  236. package/provider.js +1 -0
  237. package/utils.d.ts +1 -0
  238. package/utils.js +1 -0
  239. package/bin/surgio.js +0 -8
  240. package/build/command/check.d.ts +0 -9
  241. package/build/command/check.js +0 -79
  242. package/build/command/clean-cache.d.ts +0 -8
  243. package/build/command/clean-cache.js +0 -43
  244. package/build/command/doctor.d.ts +0 -9
  245. package/build/command/doctor.js +0 -63
  246. package/build/command/generate.d.ts +0 -8
  247. package/build/command/generate.js +0 -64
  248. package/build/command/lint.d.ts +0 -7
  249. package/build/command/lint.js +0 -42
  250. package/build/command/new.d.ts +0 -7
  251. package/build/command/new.js +0 -44
  252. package/build/command/subscriptions.d.ts +0 -10
  253. package/build/command/subscriptions.js +0 -87
  254. package/build/command/upload.d.ts +0 -9
  255. package/build/command/upload.js +0 -101
  256. package/build/generate.d.ts +0 -4
  257. package/build/generate.js +0 -75
  258. package/build/utils/command.d.ts +0 -2
  259. package/build/utils/command.js +0 -23
  260. package/build/utils/config.d.ts +0 -6
  261. package/build/utils/config.js +0 -245
  262. package/build/utils/patch-proxy.d.ts +0 -1
  263. package/build/utils/patch-proxy.js +0 -19
  264. package/build/utils/v2ray.d.ts +0 -4
  265. package/build/utils/v2ray.js +0 -41
package/build/index.d.ts CHANGED
@@ -1,71 +1,73 @@
1
- import 'source-map-support/register';
2
- import './utils/patch-proxy';
3
- import Command from 'common-bin';
4
- import { PackageJson } from 'type-fest';
5
1
  import * as filter from './utils/filter';
6
- import * as caches from './utils/cache';
7
- import redis from './redis';
8
- declare const pkg: PackageJson;
9
- export declare class SurgioCommand extends Command {
10
- constructor(rawArgv?: string[]);
11
- errorHandler(err: any): void;
12
- }
2
+ export type { CommandConfigBeforeNormalize as SurgioConfig } from './types';
3
+ export * from './configurables';
13
4
  export declare const utils: {
14
- isHeroku: () => boolean;
15
- isNow: () => boolean;
16
- isVercel: () => boolean;
17
- isGitHubActions: () => boolean;
18
- isGitLabCI: () => boolean;
19
- isRailway: () => boolean;
20
- isNetlify: () => boolean;
21
- isAWS: () => boolean;
22
- isFlyIO: () => boolean;
23
- isAWSLambda: () => boolean;
24
- SortFilterWithSortedFilters: typeof filter.SortFilterWithSortedFilters;
25
- SortFilterWithSortedKeywords: typeof filter.SortFilterWithSortedKeywords;
26
- validateFilter: (filter: any) => boolean;
27
- applyFilter: <T extends import("./types").SimpleNodeConfig>(nodeList: readonly T[], filter?: import("./types").SortedNodeNameFilterType | import("./types").NodeNameFilterType | undefined) => readonly T[];
28
- mergeFilters: (filters: readonly import("./types").NodeNameFilterType[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
29
- useKeywords: (keywords: readonly string[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
30
- discardKeywords: (keywords: readonly string[], isStrict?: boolean | undefined) => import("./types").NodeNameFilterType;
31
- useRegexp: (regexp: RegExp) => import("./types").NodeNameFilterType;
32
- useGlob: (glob: string) => import("./types").NodeNameFilterType;
33
- discardGlob: (glob: string) => import("./types").NodeNameFilterType;
34
- useProviders: (keywords: readonly string[], isStrict?: boolean) => import("./types").NodeNameFilterType;
35
- discardProviders: (keywords: readonly string[], isStrict?: boolean) => import("./types").NodeNameFilterType;
36
- useSortedKeywords: (keywords: readonly string[]) => import("./types").SortedNodeNameFilterType;
37
- mergeSortedFilters: (filters: readonly import("./types").NodeNameFilterType[]) => import("./types").SortedNodeNameFilterType;
38
- netflixFilter: import("./types").NodeNameFilterType;
39
- usFilter: import("./types").NodeNameFilterType;
40
- hkFilter: import("./types").NodeNameFilterType;
41
- japanFilter: import("./types").NodeNameFilterType;
42
- koreaFilter: import("./types").NodeNameFilterType;
43
- singaporeFilter: import("./types").NodeNameFilterType;
44
- taiwanFilter: import("./types").NodeNameFilterType;
45
- chinaBackFilter: import("./types").NodeNameFilterType;
46
- chinaOutFilter: import("./types").NodeNameFilterType;
47
- youtubePremiumFilter: import("./types").NodeNameFilterType;
48
- matchGlob: (str: string, glob: string) => boolean;
49
- shadowsocksFilter: import("./types").NodeNameFilterType;
50
- shadowsocksrFilter: import("./types").NodeNameFilterType;
51
- vmessFilter: import("./types").NodeNameFilterType;
52
- v2rayFilter: import("./types").NodeNameFilterType;
53
- snellFilter: import("./types").NodeNameFilterType;
54
- tuicFilter: import("./types").NodeNameFilterType;
55
- httpFilter: import("./types").NodeNameFilterType;
56
- httpsFilter: import("./types").NodeNameFilterType;
57
- trojanFilter: import("./types").NodeNameFilterType;
58
- socks5Filter: import("./types").NodeNameFilterType;
5
+ readonly isHeroku: () => boolean;
6
+ readonly isNow: () => boolean;
7
+ readonly isVercel: () => boolean;
8
+ readonly isGitHubActions: () => boolean;
9
+ readonly isGitLabCI: () => boolean;
10
+ readonly isRailway: () => boolean;
11
+ readonly isNetlify: () => boolean;
12
+ readonly isAWS: () => boolean;
13
+ readonly isFlyIO: () => boolean;
14
+ readonly isAWSLambda: () => boolean;
15
+ readonly SortFilterWithSortedFilters: typeof filter.SortFilterWithSortedFilters;
16
+ readonly SortFilterWithSortedKeywords: typeof filter.SortFilterWithSortedKeywords;
17
+ readonly validateFilter: (filter: unknown) => boolean;
18
+ readonly applyFilter: <T extends import("./types").PossibleNodeConfigType>(nodeList: readonly T[], filter?: ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean) | {
19
+ readonly filter: <T_1 extends import("./types").PossibleNodeConfigType>(nodeList: readonly T_1[]) => readonly T_1[];
20
+ readonly supportSort: true;
21
+ } | undefined) => readonly T[];
22
+ readonly mergeFilters: (filters: ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean)[], isStrict?: boolean | undefined) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
23
+ readonly useKeywords: (keywords: string[], isStrict?: boolean | undefined) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
24
+ readonly discardKeywords: (keywords: string[], isStrict?: boolean | undefined) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
25
+ readonly useRegexp: (regexp: RegExp) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
26
+ readonly useGlob: (glob: string) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
27
+ readonly discardGlob: (glob: string) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
28
+ readonly useProviders: (keywords: string[], isStrict?: boolean) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
29
+ readonly discardProviders: (keywords: string[], isStrict?: boolean) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
30
+ readonly useSortedKeywords: (keywords: string[]) => {
31
+ readonly filter: <T_1 extends import("./types").PossibleNodeConfigType>(nodeList: readonly T_1[]) => readonly T_1[];
32
+ readonly supportSort: true;
33
+ };
34
+ readonly mergeSortedFilters: (filters: ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean)[]) => {
35
+ readonly filter: <T_1 extends import("./types").PossibleNodeConfigType>(nodeList: readonly T_1[]) => readonly T_1[];
36
+ readonly supportSort: true;
37
+ };
38
+ readonly reverseFilter: (filter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
39
+ readonly mergeReversedFilters: (filters: ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean)[], isStrict?: boolean | undefined) => (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
40
+ readonly netflixFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
41
+ readonly usFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
42
+ readonly hkFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
43
+ readonly japanFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
44
+ readonly koreaFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
45
+ readonly singaporeFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
46
+ readonly taiwanFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
47
+ readonly chinaBackFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
48
+ readonly chinaOutFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
49
+ readonly youtubePremiumFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
50
+ readonly matchGlob: (str: string, glob: string) => boolean;
51
+ readonly shadowsocksFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
52
+ readonly shadowsocksrFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
53
+ readonly vmessFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
54
+ readonly v2rayFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
55
+ readonly snellFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
56
+ readonly tuicFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
57
+ readonly httpFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
58
+ readonly httpsFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
59
+ readonly trojanFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
60
+ readonly socks5Filter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
61
+ readonly wireguardFilter: (nodeConfig: import("./types").PossibleNodeConfigType) => boolean;
59
62
  };
60
63
  export declare const categories: {
61
- SNIPPET: string;
62
- SURGE: string;
63
- QUANTUMULT_X: string;
64
- QUANTUMULT_X_SERVER: string;
65
- QUANTUMULT_X_FILTER: string;
66
- QUANTUMULT_X_REWRITE: string;
67
- CLASH: string;
68
- LOON: string;
69
- SURFBOARD: string;
64
+ readonly SNIPPET: "Snippet";
65
+ readonly SURGE: "Surge";
66
+ readonly QUANTUMULT_X: "Quantumult X";
67
+ readonly QUANTUMULT_X_SERVER: "Quantumult X Server";
68
+ readonly QUANTUMULT_X_FILTER: "Quantumult X Filter";
69
+ readonly QUANTUMULT_X_REWRITE: "Quantumult X Rewrite";
70
+ readonly CLASH: "Clash";
71
+ readonly LOON: "Loon";
72
+ readonly SURFBOARD: "Surfboard";
70
73
  };
71
- export { pkg, caches, redis };
package/build/index.js CHANGED
@@ -22,59 +22,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.redis = exports.caches = exports.pkg = exports.categories = exports.utils = exports.SurgioCommand = void 0;
30
- require("source-map-support/register");
31
- require("./utils/patch-proxy");
32
- const global_agent_1 = require("global-agent");
33
- const common_bin_1 = __importDefault(require("common-bin"));
34
- const fs_extra_1 = __importDefault(require("fs-extra"));
35
- const env2_1 = __importDefault(require("env2"));
36
- const path_1 = require("path");
37
- const update_notifier_1 = __importDefault(require("update-notifier"));
38
- const logger_1 = require("@surgio/logger");
29
+ exports.categories = exports.utils = void 0;
39
30
  const utils_1 = require("./utils");
40
- const command_1 = require("./utils/command");
41
31
  const filter = __importStar(require("./utils/filter"));
42
- const caches = __importStar(require("./utils/cache"));
43
- exports.caches = caches;
44
- const error_helper_1 = require("./utils/error-helper");
45
32
  const constant_1 = require("./constant");
46
- const redis_1 = __importDefault(require("./redis"));
47
- exports.redis = redis_1.default;
48
- // istanbul ignore next
49
- if (!(0, utils_1.isGFWFree)()) {
50
- // Global proxy
51
- (0, global_agent_1.bootstrap)();
52
- }
53
- const envPath = (0, path_1.resolve)(process.cwd(), './.env');
54
- const pkg = fs_extra_1.default.readJSONSync((0, path_1.join)(__dirname, '../package.json'));
55
- exports.pkg = pkg;
56
- class SurgioCommand extends common_bin_1.default {
57
- constructor(rawArgv) {
58
- super(rawArgv);
59
- // istanbul ignore next
60
- if (fs_extra_1.default.existsSync(envPath)) {
61
- (0, env2_1.default)(envPath);
62
- }
63
- (0, update_notifier_1.default)({ pkg: require('../package.json') }).notify();
64
- this.usage = '使用方法: surgio <command> [options]';
65
- this.load((0, path_1.join)(__dirname, './command'));
66
- (0, command_1.defineGlobalOptions)(this.yargs);
67
- // istanbul ignore next
68
- if (this.yargs.argv.verbose) {
69
- logger_1.transports.console.level = 'debug';
70
- }
71
- }
72
- errorHandler(err) {
73
- error_helper_1.errorHandler.call(this, err);
74
- }
75
- }
76
- exports.SurgioCommand = SurgioCommand;
77
- exports.utils = Object.assign(Object.assign({}, filter), { isHeroku: utils_1.isHeroku,
33
+ __exportStar(require("./configurables"), exports);
34
+ exports.utils = {
35
+ ...filter,
36
+ isHeroku: utils_1.isHeroku,
78
37
  isNow: utils_1.isNow,
79
38
  isVercel: utils_1.isVercel,
80
39
  isGitHubActions: utils_1.isGitHubActions,
@@ -83,6 +42,7 @@ exports.utils = Object.assign(Object.assign({}, filter), { isHeroku: utils_1.isH
83
42
  isNetlify: utils_1.isNetlify,
84
43
  isAWS: utils_1.isAWS,
85
44
  isFlyIO: utils_1.isFlyIO,
86
- isAWSLambda: utils_1.isAWSLambda });
87
- exports.categories = Object.assign({}, constant_1.CATEGORIES);
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBcUM7QUFDckMsK0JBQTZCO0FBRTdCLCtDQUF5QztBQUN6Qyw0REFBaUM7QUFDakMsd0RBQTBCO0FBQzFCLGdEQUF3QjtBQUN4QiwrQkFBcUM7QUFFckMsc0VBQTZDO0FBQzdDLDJDQUE0QztBQUU1QyxtQ0FZaUI7QUFDakIsNkNBQXNEO0FBQ3RELHVEQUF5QztBQUN6QyxzREFBd0M7QUE0RDFCLHdCQUFNO0FBM0RwQix1REFBb0Q7QUFDcEQseUNBQXdDO0FBQ3hDLG9EQUE0QjtBQXlETixnQkF6RGYsZUFBSyxDQXlEZTtBQXZEM0IsdUJBQXVCO0FBQ3ZCLElBQUksQ0FBQyxJQUFBLGlCQUFTLEdBQUUsRUFBRTtJQUNoQixlQUFlO0lBQ2YsSUFBQSx3QkFBUyxHQUFFLENBQUM7Q0FDYjtBQUVELE1BQU0sT0FBTyxHQUFHLElBQUEsY0FBTyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxNQUFNLEdBQUcsR0FBRyxrQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBZ0IsQ0FBQztBQWdEdEUsa0JBQUc7QUE5Q1osTUFBYSxhQUFjLFNBQVEsb0JBQU87SUFDeEMsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZix1QkFBdUI7UUFDdkIsSUFBSSxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBQSx5QkFBYyxFQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3RCxJQUFJLENBQUMsS0FBSyxHQUFHLGtDQUFrQyxDQUFDO1FBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFeEMsSUFBQSw2QkFBbUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLG1CQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQTFCRCxzQ0EwQkM7QUFFWSxRQUFBLEtBQUssbUNBQ2IsTUFBTSxLQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLEtBQUssRUFBTCxhQUFLO0lBQ0wsUUFBUSxFQUFSLGdCQUFRO0lBQ1IsZUFBZSxFQUFmLHVCQUFlO0lBQ2YsVUFBVSxFQUFWLGtCQUFVO0lBQ1YsU0FBUyxFQUFULGlCQUFTO0lBQ1QsU0FBUyxFQUFULGlCQUFTO0lBQ1QsS0FBSyxFQUFMLGFBQUs7SUFDTCxPQUFPLEVBQVAsZUFBTztJQUNQLFdBQVcsRUFBWCxtQkFBVyxJQUNYO0FBRVcsUUFBQSxVQUFVLHFCQUNsQixxQkFBVSxFQUNiIn0=
45
+ isAWSLambda: utils_1.isAWSLambda,
46
+ };
47
+ exports.categories = constant_1.CATEGORIES;
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAWgB;AAChB,uDAAwC;AACxC,yCAAuC;AAGvC,kDAA+B;AAElB,QAAA,KAAK,GAAG;IACnB,GAAG,MAAM;IACT,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,gBAAQ;IACR,eAAe,EAAf,uBAAe;IACf,UAAU,EAAV,kBAAU;IACV,SAAS,EAAT,iBAAS;IACT,SAAS,EAAT,iBAAS;IACT,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,WAAW,EAAX,mBAAW;CACH,CAAA;AAEG,QAAA,UAAU,GAAG,qBAAU,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PackageJson } from 'type-fest';
2
+ export { isZodError, isSurgioError, SurgioError } from './utils';
3
+ export * from './utils/cache';
4
+ export * from './types';
5
+ export declare const packageJson: PackageJson;
@@ -0,0 +1,25 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.packageJson = exports.SurgioError = exports.isSurgioError = exports.isZodError = void 0;
18
+ var utils_1 = require("./utils");
19
+ Object.defineProperty(exports, "isZodError", { enumerable: true, get: function () { return utils_1.isZodError; } });
20
+ Object.defineProperty(exports, "isSurgioError", { enumerable: true, get: function () { return utils_1.isSurgioError; } });
21
+ Object.defineProperty(exports, "SurgioError", { enumerable: true, get: function () { return utils_1.SurgioError; } });
22
+ __exportStar(require("./utils/cache"), exports);
23
+ __exportStar(require("./types"), exports);
24
+ exports.packageJson = require('../package.json');
25
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,iCAAgE;AAAvD,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC/C,gDAA6B;AAC7B,0CAAuB;AAEV,QAAA,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAA"}
@@ -1,6 +1 @@
1
- export declare const DEP005 = "surgioConfig.surgeConfig.shadowsocksFormat: \"custom\" \u5DF2\u4E0D\u63A8\u8350\u4F7F\u7528\uFF0C\u8BF7\u6539\u4E3A \"ss\"";
2
- export declare const DEP006 = "surgioConfig.surgeConfig.v2ray: \"external\" \u5DF2\u4E0D\u63A8\u8350\u4F7F\u7528\uFF0C\u8BF7\u6539\u4E3A \"native\"";
3
- export declare const DEP007 = "patchYamlArray \u5DF2\u4E0D\u63A8\u8350\u4F7F\u7528\uFF0C\u8BF7\u6539\u4E3A Clash \u89C4\u5219\u683C\u5F0F\u5904\u7406\u5668\uFF0C\u8BE6\u60C5\u8BF7\u9605\u8BFB https://url.royli.dev/xr9mj";
4
- export declare const DEP008 = "surgioConfig.clashConfig.ssrFormat: \"legacy\" \u4F1A\u5728\u540E\u7EED\u7248\u672C\u4E2D\u79FB\u51FA\uFF0C\u8BF7\u4F7F\u7528\u539F\u7248 Clash \u5BA2\u6237\u7AEF";
5
- export declare const DEP009 = "proxyGroupModifier \u4F1A\u5728\u540E\u7EED\u7248\u672C\u4E2D\u79FB\u51FA\uFF0C\u8BE6\u60C5\u8BF7\u9605\u8BFB https://url.royli.dev/YyKh1";
6
- export declare const DEP010 = "Quantumult \u76F8\u5173\u65B9\u6CD5\u4F1A\u5728\u4E0B\u4E2A\u5927\u7248\u672C\u4E2D\u79FB\u51FA\uFF0C\u8BF7\u4F7F\u7528\u5176\u5B83\u5BA2\u6237\u7AEF";
1
+ export {};
@@ -1,10 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEP010 = exports.DEP009 = exports.DEP008 = exports.DEP007 = exports.DEP006 = exports.DEP005 = void 0;
4
- exports.DEP005 = 'surgioConfig.surgeConfig.shadowsocksFormat: "custom" 已不推荐使用,请改为 "ss"';
5
- exports.DEP006 = 'surgioConfig.surgeConfig.v2ray: "external" 已不推荐使用,请改为 "native"';
6
- exports.DEP007 = 'patchYamlArray 已不推荐使用,请改为 Clash 规则格式处理器,详情请阅读 https://url.royli.dev/xr9mj';
7
- exports.DEP008 = 'surgioConfig.clashConfig.ssrFormat: "legacy" 会在后续版本中移出,请使用原版 Clash 客户端';
8
- exports.DEP009 = 'proxyGroupModifier 会在后续版本中移出,详情请阅读 https://url.royli.dev/YyKh1';
9
- exports.DEP010 = 'Quantumult 相关方法会在下个大版本中移出,请使用其它客户端';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWlzYy9kZXByZWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE1BQU0sR0FDakIsc0VBQXNFLENBQUM7QUFDNUQsUUFBQSxNQUFNLEdBQ2pCLGdFQUFnRSxDQUFDO0FBQ3RELFFBQUEsTUFBTSxHQUNqQiwyRUFBMkUsQ0FBQztBQUNqRSxRQUFBLE1BQU0sR0FDakIsd0VBQXdFLENBQUM7QUFDOUQsUUFBQSxNQUFNLEdBQ2pCLGdFQUFnRSxDQUFDO0FBQ3RELFFBQUEsTUFBTSxHQUNqQixvQ0FBb0MsQ0FBQyJ9
3
+ //# sourceMappingURL=deprecation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecation.js","sourceRoot":"","sources":["../../src/misc/deprecation.ts"],"names":[],"mappings":""}
@@ -1,52 +1,51 @@
1
1
  export declare const TAIWAN: ReadonlyArray<string>;
2
- declare const _default: {
3
- '\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08': string[];
4
- '\uD83C\uDDF8\uD83C\uDDF1': string[];
5
- '\uD83C\uDDE6\uD83C\uDDF7': string[];
6
- '\uD83C\uDDE6\uD83C\uDDF9': string[];
7
- '\uD83C\uDDE6\uD83C\uDDFA': string[];
8
- '\uD83C\uDDE7\uD83C\uDDEA': string[];
9
- '\uD83C\uDDE7\uD83C\uDDEC': string[];
10
- '\uD83C\uDDF5\uD83C\uDDF0': string[];
11
- '\uD83C\uDDE7\uD83C\uDDF7': string[];
12
- '\uD83C\uDDE8\uD83C\uDDE6': string[];
13
- '\uD83C\uDDE8\uD83C\uDDED': string[];
14
- '\uD83C\uDDE9\uD83C\uDDEA': string[];
15
- '\uD83C\uDDE9\uD83C\uDDF0': string[];
16
- '\uD83C\uDDEA\uD83C\uDDF8': string[];
17
- '\uD83C\uDDEA\uD83C\uDDFA': string[];
18
- '\uD83C\uDDEB\uD83C\uDDEE': string[];
19
- '\uD83C\uDDEB\uD83C\uDDF7': string[];
20
- '\uD83C\uDDEC\uD83C\uDDE7': string[];
21
- '\uD83C\uDDFA\uD83C\uDDE6': string[];
22
- '\uD83C\uDDED\uD83C\uDDFA': string[];
23
- '\uD83C\uDDED\uD83C\uDDF0': string[];
24
- '\uD83C\uDDEE\uD83C\uDDF3': string[];
25
- '\uD83C\uDDEE\uD83C\uDDE9': string[];
26
- '\uD83C\uDDEE\uD83C\uDDEA': string[];
27
- '\uD83C\uDDEE\uD83C\uDDF1': string[];
28
- '\uD83C\uDDEE\uD83C\uDDF9': string[];
29
- '\uD83C\uDDF0\uD83C\uDDF5': string[];
30
- '\uD83C\uDDF0\uD83C\uDDF7': string[];
31
- '\uD83C\uDDF1\uD83C\uDDFB': string[];
32
- '\uD83C\uDDF2\uD83C\uDDFD\uFE0F': string[];
33
- '\uD83C\uDDF2\uD83C\uDDF4': string[];
34
- '\uD83C\uDDF2\uD83C\uDDFE': string[];
35
- '\uD83C\uDDF3\uD83C\uDDF1': string[];
36
- '\uD83C\uDDF5\uD83C\uDDED': string[];
37
- '\uD83C\uDDF7\uD83C\uDDF4': string[];
38
- '\uD83C\uDDF7\uD83C\uDDFA': string[];
39
- '\uD83C\uDDF8\uD83C\uDDE6': string[];
40
- '\uD83C\uDDF8\uD83C\uDDEA': string[];
41
- '\uD83C\uDDF8\uD83C\uDDEC': string[];
42
- '\uD83C\uDDF9\uD83C\uDDED': string[];
43
- '\uD83C\uDDF9\uD83C\uDDF7': string[];
44
- '\uD83C\uDDFA\uD83C\uDDF8': string[];
45
- '\uD83C\uDDFB\uD83C\uDDF3': string[];
46
- '\uD83C\uDDFF\uD83C\uDDE6': string[];
47
- '\uD83C\uDDE6\uD83C\uDDEA': string[];
48
- '\uD83C\uDDEF\uD83C\uDDF5': string[];
49
- '\uD83C\uDDF3\uD83C\uDDF4': string[];
50
- '\uD83C\uDDE8\uD83C\uDDF3': string[];
2
+ export declare const FLAGS: {
3
+ readonly '\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08': readonly ["流量", "时间", "过期", "BANDWIDTH", "EXPIRE"];
4
+ readonly '\uD83C\uDDF8\uD83C\uDDF1': readonly ["应急", "测试节点"];
5
+ readonly '\uD83C\uDDE6\uD83C\uDDF7': readonly ["ARGENTINA", "阿根廷"];
6
+ readonly '\uD83C\uDDE6\uD83C\uDDF9': readonly ["AUSTRIA", "奥地利", "维也纳"];
7
+ readonly '\uD83C\uDDE6\uD83C\uDDFA': readonly ["AUSTRALIA", "澳大利亚", "澳洲", "墨尔本", "悉尼", "SYDNEY"];
8
+ readonly '\uD83C\uDDE7\uD83C\uDDEA': readonly ["BELGIUM", "比利时"];
9
+ readonly '\uD83C\uDDE7\uD83C\uDDEC': readonly ["BULGARIA", "保加利亚"];
10
+ readonly '\uD83C\uDDF5\uD83C\uDDF0': readonly ["PAKISTAN", "巴基斯坦"];
11
+ readonly '\uD83C\uDDE7\uD83C\uDDF7': readonly ["BRAZIL", "巴西", "圣保罗"];
12
+ readonly '\uD83C\uDDE8\uD83C\uDDE6': readonly ["CANADA", "加拿大", "WATERLOO", "蒙特利尔", "温哥华", "楓葉", "枫叶", "滑铁卢", "多伦多"];
13
+ readonly '\uD83C\uDDE8\uD83C\uDDED': readonly ["SWITZERLAND", "瑞士", "苏黎世"];
14
+ readonly '\uD83C\uDDE9\uD83C\uDDEA': readonly ["GERMAN", "德", "法兰克福"];
15
+ readonly '\uD83C\uDDE9\uD83C\uDDF0': readonly ["DENMARK", "丹麦"];
16
+ readonly '\uD83C\uDDEA\uD83C\uDDF8': readonly ["SPAIN", "西班牙"];
17
+ readonly '\uD83C\uDDEA\uD83C\uDDFA': readonly ["欧盟", "欧罗巴"];
18
+ readonly '\uD83C\uDDEB\uD83C\uDDEE': readonly ["FINLAND", "芬兰", "赫尔辛基"];
19
+ readonly '\uD83C\uDDEB\uD83C\uDDF7': readonly ["FR", "FRANCE", "法国", "法國", "巴黎"];
20
+ readonly '\uD83C\uDDEC\uD83C\uDDE7': readonly ["UK", "ENGLAND", "UNITED KINGDOM", "英", "伦敦"];
21
+ readonly '\uD83C\uDDFA\uD83C\uDDE6': readonly ["UKRAINE", "乌克兰", "基辅"];
22
+ readonly '\uD83C\uDDED\uD83C\uDDFA': readonly ["HUNGARY", "匈牙利"];
23
+ readonly '\uD83C\uDDED\uD83C\uDDF0': readonly ["HK", "港", "HONGKONG", "HONG KONG", "HGC", "WTT", "CMI"];
24
+ readonly '\uD83C\uDDEE\uD83C\uDDF3': readonly ["INDIA", "印度", "孟买", "MUMBAI"];
25
+ readonly '\uD83C\uDDEE\uD83C\uDDE9': readonly ["INDONESIA", "印尼", "印度尼西亚", "雅加达"];
26
+ readonly '\uD83C\uDDEE\uD83C\uDDEA': readonly ["IRELAND", "爱尔兰", "都柏林"];
27
+ readonly '\uD83C\uDDEE\uD83C\uDDF1': readonly ["ISRAEL", "以色列"];
28
+ readonly '\uD83C\uDDEE\uD83C\uDDF9': readonly ["ITALY", "NACHASH", "意大利", "米兰", "義大利"];
29
+ readonly '\uD83C\uDDF0\uD83C\uDDF5': readonly ["朝鲜"];
30
+ readonly '\uD83C\uDDF0\uD83C\uDDF7': readonly ["KR", "KOREA", "KOR", "首尔", "韩", "韓"];
31
+ readonly '\uD83C\uDDF1\uD83C\uDDFB': readonly ["LATVIA", "LATVIJA", "拉脱维亚"];
32
+ readonly '\uD83C\uDDF2\uD83C\uDDFD\uFE0F': readonly ["MEXICO", "墨西哥"];
33
+ readonly '\uD83C\uDDF2\uD83C\uDDF4': readonly ["MACAU", "MACAO", "澳门", "CTM"];
34
+ readonly '\uD83C\uDDF2\uD83C\uDDFE': readonly ["MALAYSIA", "马来西亚", "吉隆坡"];
35
+ readonly '\uD83C\uDDF3\uD83C\uDDF1': readonly ["NETHERLANDS", "荷兰", "荷蘭", "尼德蘭", "阿姆斯特丹"];
36
+ readonly '\uD83C\uDDF5\uD83C\uDDED': readonly ["PHILIPPINES", "菲律宾"];
37
+ readonly '\uD83C\uDDF7\uD83C\uDDF4': readonly ["ROMANIA", "罗马尼亚"];
38
+ readonly '\uD83C\uDDF7\uD83C\uDDFA': readonly ["RU", "RUSSIA", "普京", "俄罗斯", "俄羅斯", "伯力", "莫斯科", "圣彼得堡", "西伯利亚", "京俄", "杭俄"];
39
+ readonly '\uD83C\uDDF8\uD83C\uDDE6': readonly ["SAUDI", "沙特"];
40
+ readonly '\uD83C\uDDF8\uD83C\uDDEA': readonly ["SWEDEN", "瑞典"];
41
+ readonly '\uD83C\uDDF8\uD83C\uDDEC': readonly ["SG", "SIN", "SINGAPORE", "新加坡", "狮城", "沪新", "京新", "中新", "泉新", "穗新", "深新", "杭新", "广新"];
42
+ readonly '\uD83C\uDDF9\uD83C\uDDED': readonly ["THAILAND", "泰", "曼谷"];
43
+ readonly '\uD83C\uDDF9\uD83C\uDDF7': readonly ["TURKEY", "土耳其", "伊斯坦布尔"];
44
+ readonly '\uD83C\uDDFA\uD83C\uDDF8': readonly ["US", "USA", "AMERICA", "UNITED STATES", "LAX", "SFO", "美", "波特兰", "达拉斯", "俄勒冈", "凤凰城", "费利蒙", "硅谷", "矽谷", "拉斯维加斯", "洛杉矶", "圣何塞", "圣克拉拉", "西雅图", "芝加哥", "哥伦布", "纽约"];
45
+ readonly '\uD83C\uDDFB\uD83C\uDDF3': readonly ["VIETNAM", "越南", "胡志明"];
46
+ readonly '\uD83C\uDDFF\uD83C\uDDE6': readonly ["SOUTH AFRICA", "南非"];
47
+ readonly '\uD83C\uDDE6\uD83C\uDDEA': readonly ["UNITED ARAB EMIRATES", "阿联酋", "迪拜"];
48
+ readonly '\uD83C\uDDEF\uD83C\uDDF5': readonly ["JP", "JAPAN", "日", "东京", "大阪", "埼玉", "NTT", "KDDI"];
49
+ readonly '\uD83C\uDDF3\uD83C\uDDF4': readonly ["NORWAY", "挪威"];
50
+ readonly '\uD83C\uDDE8\uD83C\uDDF3': readonly [...string[], "CHINA", "回国", "中国", "回國", "中國", "江苏", "北京", "上海", "广州", "深圳", "杭州", "徐州", "青岛", "宁波", "镇江", "BACK"];
51
51
  };
52
- export default _default;
@@ -3,7 +3,7 @@
3
3
  // credit: https://github.com/JO2EY/Rules
4
4
  // flags from @KOP-XIAO: https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/resource-parser.js
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TAIWAN = void 0;
6
+ exports.FLAGS = exports.TAIWAN = void 0;
7
7
  exports.TAIWAN = [
8
8
  'TW',
9
9
  'TAIWAN',
@@ -15,7 +15,7 @@ exports.TAIWAN = [
15
15
  'CHT',
16
16
  'HINET',
17
17
  ];
18
- exports.default = {
18
+ exports.FLAGS = {
19
19
  '🏳️‍🌈': ['流量', '时间', '过期', 'BANDWIDTH', 'EXPIRE'],
20
20
  '🇸🇱': ['应急', '测试节点'],
21
21
  '🇦🇷': ['ARGENTINA', '阿根廷'],
@@ -142,4 +142,4 @@ exports.default = {
142
142
  'BACK',
143
143
  ],
144
144
  };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ19jbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9taXNjL2ZsYWdfY24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUF1QjtBQUN2Qix5Q0FBeUM7QUFDekMsdUdBQXVHOzs7QUFFMUYsUUFBQSxNQUFNLEdBQTBCO0lBQzNDLElBQUk7SUFDSixRQUFRO0lBQ1IsSUFBSTtJQUNKLEdBQUc7SUFDSCxHQUFHO0lBQ0gsSUFBSTtJQUNKLElBQUk7SUFDSixLQUFLO0lBQ0wsT0FBTztDQUNSLENBQUM7QUFFRixrQkFBZTtJQUNiLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDbkQsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUN0QixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO0lBQzVCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQzFELE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7SUFDMUIsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUM1QixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQzVCLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsVUFBVTtRQUNWLE1BQU07UUFDTixLQUFLO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixLQUFLO1FBQ0wsS0FBSztLQUNOO0lBQ0QsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDcEMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFDL0IsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztJQUN6QixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7SUFDckIsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUM7SUFDakMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUMxQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDdEQsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7SUFDaEMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7SUFDakUsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztJQUMzQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNqQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDaEQsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2QsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDOUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDdkMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7SUFDbkMsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztJQUNuRCxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQzlCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDM0IsTUFBTSxFQUFFO1FBQ04sSUFBSTtRQUNKLFFBQVE7UUFDUixJQUFJO1FBQ0osS0FBSztRQUNMLEtBQUs7UUFDTCxJQUFJO1FBQ0osS0FBSztRQUNMLE1BQU07UUFDTixNQUFNO1FBQ04sSUFBSTtRQUNKLElBQUk7S0FDTDtJQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDdkIsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztJQUN4QixNQUFNLEVBQUU7UUFDTixJQUFJO1FBQ0osS0FBSztRQUNMLFdBQVc7UUFDWCxLQUFLO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO0tBQ0w7SUFDRCxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztJQUMvQixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztJQUNsQyxNQUFNLEVBQUU7UUFDTixJQUFJO1FBQ0osS0FBSztRQUNMLFNBQVM7UUFDVCxlQUFlO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxHQUFHO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxJQUFJO1FBQ0osSUFBSTtRQUNKLE9BQU87UUFDUCxLQUFLO1FBQ0wsS0FBSztRQUNMLE1BQU07UUFDTixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxJQUFJO0tBQ0w7SUFDRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztJQUNoQyxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDO0lBQzlCLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7SUFDN0MsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUM3RCxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO0lBQ3hCLE1BQU0sRUFBRTtRQUNOLEdBQUcsY0FBTTtRQUNULE9BQU87UUFDUCxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLE1BQU07S0FDUDtDQUNGLENBQUMifQ==
145
+ //# sourceMappingURL=flag_cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag_cn.js","sourceRoot":"","sources":["../../src/misc/flag_cn.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { BlackSSLProviderConfig, HttpsNodeConfig, SubscriptionUserinfo } from '../types';
1
+ import { BlackSSLProviderConfig } from '../types';
2
2
  import Provider from './Provider';
3
+ import { GetNodeListFunction, GetSubscriptionUserInfoFunction } from './types';
3
4
  export default class BlackSSLProvider extends Provider {
4
5
  readonly username: string;
5
6
  readonly password: string;
6
7
  constructor(name: string, config: BlackSSLProviderConfig);
7
- getSubscriptionUserInfo(): Promise<SubscriptionUserinfo | undefined>;
8
- getNodeList(): Promise<ReadonlyArray<HttpsNodeConfig>>;
8
+ getSubscriptionUserInfo: GetSubscriptionUserInfoFunction;
9
+ getNodeList: GetNodeListFunction;
9
10
  private getBlackSSLConfig;
10
11
  }
@@ -4,39 +4,51 @@ 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("joi"));
7
+ const zod_1 = require("zod");
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const types_1 = require("../types");
10
+ const utils_1 = require("../utils");
10
11
  const cache_1 = require("../utils/cache");
11
12
  const http_client_1 = __importDefault(require("../utils/http-client"));
12
13
  const Provider_1 = __importDefault(require("./Provider"));
13
14
  class BlackSSLProvider extends Provider_1.default {
15
+ username;
16
+ password;
14
17
  constructor(name, config) {
15
18
  super(name, config);
16
- const schema = joi_1.default.object({
17
- username: joi_1.default.string().required(),
18
- password: joi_1.default.string().required(),
19
- }).unknown();
20
- const { error } = schema.validate(config);
19
+ const schema = zod_1.z.object({
20
+ username: zod_1.z.string(),
21
+ password: zod_1.z.string(),
22
+ });
23
+ const result = schema.safeParse(config);
21
24
  // istanbul ignore next
22
- if (error) {
23
- throw error;
25
+ if (!result.success) {
26
+ throw new utils_1.SurgioError('BlackSSLProvider 配置校验失败', {
27
+ cause: result.error,
28
+ providerName: name,
29
+ });
24
30
  }
25
- this.username = config.username;
26
- this.password = config.password;
31
+ this.username = result.data.username;
32
+ this.password = result.data.password;
27
33
  this.supportGetSubscriptionUserInfo = true;
28
34
  }
29
- async getSubscriptionUserInfo() {
35
+ getSubscriptionUserInfo = async () => {
30
36
  const { subscriptionUserinfo } = await this.getBlackSSLConfig(this.username, this.password);
31
37
  if (subscriptionUserinfo) {
32
38
  return subscriptionUserinfo;
33
39
  }
34
- return void 0;
35
- }
36
- async getNodeList() {
40
+ return undefined;
41
+ };
42
+ getNodeList = async () => {
37
43
  const { nodeList } = await this.getBlackSSLConfig(this.username, this.password);
44
+ if (this.config.hooks?.afterNodeListResponse) {
45
+ const newList = await this.config.hooks.afterNodeListResponse(nodeList, {});
46
+ if (newList) {
47
+ return newList;
48
+ }
49
+ }
38
50
  return nodeList;
39
- }
51
+ };
40
52
  // istanbul ignore next
41
53
  async getBlackSSLConfig(username, password) {
42
54
  (0, assert_1.default)(username, '未指定 BlackSSL username.');
@@ -76,4 +88,4 @@ class BlackSSLProvider extends Provider_1.default {
76
88
  }
77
89
  }
78
90
  exports.default = BlackSSLProvider;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxhY2tTU0xQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm92aWRlci9CbGFja1NTTFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1QkFBdUI7Ozs7O0FBRXZCLDhDQUFzQjtBQUN0QixvREFBNEI7QUFFNUIsb0NBS2tCO0FBQ2xCLDBDQUE2QztBQUM3Qyx1RUFBOEM7QUFDOUMsMERBQWtDO0FBRWxDLE1BQXFCLGdCQUFpQixTQUFRLGtCQUFRO0lBSXBELFlBQVksSUFBWSxFQUFFLE1BQThCO1FBQ3RELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFYixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCO1FBR2xDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUMzRCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsT0FBTyxvQkFBb0IsQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FDL0MsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsdUJBQXVCO0lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUM3QixRQUFnQixFQUNoQixRQUFnQjtRQUtoQixJQUFBLGdCQUFNLEVBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDM0MsSUFBQSxnQkFBTSxFQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sR0FBRyxHQUFHLFlBQVksUUFBUSxFQUFFLENBQUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBVyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0scUJBQVUsQ0FBQyxHQUFHLENBQzlCLDZDQUE2QyxFQUM3QztvQkFDRSxZQUFZLEVBQUU7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3FCQUNUO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQ1YscURBQXFEO3FCQUN4RDtpQkFDRixDQUNGLENBQUM7Z0JBRUYsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsT0FBTztZQUNMLFFBQVEsRUFBRyxRQUFRLENBQUMsU0FBNEIsQ0FBQyxHQUFHLENBQ2xELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDbkIsSUFBSSxFQUFFLG9CQUFZLENBQUMsS0FBSztnQkFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUTtnQkFDUixRQUFRO2FBQ1QsQ0FBQyxDQUNIO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYTtnQkFDaEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxlQUFlO2dCQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVU7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcEdELG1DQW9HQyJ9
91
+ //# sourceMappingURL=BlackSSLProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlackSSLProvider.js","sourceRoot":"","sources":["../../src/provider/BlackSSLProvider.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,15 @@
1
1
  import { ClashProviderConfig, HttpNodeConfig, HttpsNodeConfig, ShadowsocksNodeConfig, ShadowsocksrNodeConfig, SnellNodeConfig, SubscriptionUserinfo, TrojanNodeConfig, TuicNodeConfig, VmessNodeConfig } from '../types';
2
2
  import Provider from './Provider';
3
- declare type SupportConfigTypes = ShadowsocksNodeConfig | VmessNodeConfig | HttpsNodeConfig | HttpNodeConfig | ShadowsocksrNodeConfig | SnellNodeConfig | TrojanNodeConfig | TuicNodeConfig;
3
+ import { GetNodeListFunction, GetSubscriptionUserInfoFunction } from './types';
4
+ type SupportConfigTypes = ShadowsocksNodeConfig | VmessNodeConfig | HttpsNodeConfig | HttpNodeConfig | ShadowsocksrNodeConfig | SnellNodeConfig | TrojanNodeConfig | TuicNodeConfig;
4
5
  export default class ClashProvider extends Provider {
5
- readonly _url: string;
6
+ #private;
6
7
  readonly udpRelay?: boolean;
7
8
  readonly tls13?: boolean;
8
9
  constructor(name: string, config: ClashProviderConfig);
9
10
  get url(): string;
10
- getSubscriptionUserInfo({ requestUserAgent, }?: {
11
- requestUserAgent?: string;
12
- }): Promise<SubscriptionUserinfo | undefined>;
13
- getNodeList({ requestUserAgent, }?: {
14
- requestUserAgent?: string;
15
- }): Promise<ReadonlyArray<SupportConfigTypes>>;
11
+ getSubscriptionUserInfo: GetSubscriptionUserInfoFunction;
12
+ getNodeList: GetNodeListFunction;
16
13
  }
17
14
  export declare const getClashSubscription: ({ url, udpRelay, tls13, requestUserAgent, }: {
18
15
  url: string;
@@ -20,8 +17,8 @@ export declare const getClashSubscription: ({ url, udpRelay, tls13, requestUserA
20
17
  tls13?: boolean | undefined;
21
18
  requestUserAgent?: string | undefined;
22
19
  }) => Promise<{
23
- readonly nodeList: ReadonlyArray<SupportConfigTypes>;
20
+ readonly nodeList: Array<SupportConfigTypes>;
24
21
  readonly subscriptionUserinfo?: SubscriptionUserinfo;
25
22
  }>;
26
- export declare const parseClashConfig: (proxyList: ReadonlyArray<any>, udpRelay?: boolean, tls13?: boolean) => ReadonlyArray<SupportConfigTypes>;
23
+ export declare const parseClashConfig: (proxyList: Array<any>, udpRelay?: boolean, tls13?: boolean) => Array<SupportConfigTypes>;
27
24
  export {};