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
@@ -3,291 +3,223 @@ 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.getQuantumultXNodes = exports.getQuantumultNodes = void 0;
6
+ exports.getQuantumultXNodeNames = exports.getQuantumultXNodes = void 0;
7
7
  const logger_1 = require("@surgio/logger");
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
- const util_1 = require("util");
10
- const deprecation_1 = require("../misc/deprecation");
11
- const constant_1 = require("../constant");
12
9
  const types_1 = require("../types");
13
10
  const filter_1 = require("./filter");
14
11
  const index_1 = require("./index");
15
12
  const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:quantumult' });
16
- const showDEP010 = (0, util_1.deprecate)(lodash_1.default.noop, deprecation_1.DEP010, 'DEP010');
17
- const getQuantumultNodes = function (list, groupName = 'Surgio', filter) {
18
- showDEP010();
19
- // istanbul ignore next
20
- if (arguments.length === 3 && typeof filter === 'undefined') {
21
- throw new Error(constant_1.ERR_INVALID_FILTER);
22
- }
23
- function getHeader(wsHeaders) {
24
- return Object.keys(wsHeaders)
25
- .map((headerKey) => `${headerKey}:${wsHeaders[headerKey]}`)
26
- .join('[Rr][Nn]');
27
- }
28
- const result = (0, filter_1.applyFilter)(list, filter)
29
- .map((nodeConfig) => {
30
- switch (nodeConfig.type) {
31
- case types_1.NodeTypeEnum.Vmess: {
32
- const config = [
33
- 'vmess',
34
- nodeConfig.hostname,
35
- nodeConfig.port,
36
- nodeConfig.method === 'auto'
37
- ? 'chacha20-ietf-poly1305'
38
- : nodeConfig.method,
39
- JSON.stringify(nodeConfig.uuid),
40
- nodeConfig.alterId,
41
- `group=${groupName}`,
42
- `over-tls=${nodeConfig.tls === true ? 'true' : 'false'}`,
43
- `certificate=1`,
44
- `obfs=${nodeConfig.network}`,
45
- `obfs-path=${JSON.stringify(nodeConfig.path || '/')}`,
46
- `obfs-header=${JSON.stringify(getHeader(Object.assign({ host: nodeConfig.host || nodeConfig.hostname, 'user-agent': constant_1.OBFS_UA }, lodash_1.default.omit(nodeConfig.wsHeaders, ['host']))))}`,
47
- ]
48
- .filter((value) => !!value)
49
- .join(',');
50
- return ('vmess://' + (0, index_1.toBase64)([nodeConfig.nodeName, config].join(' = ')));
51
- }
52
- case types_1.NodeTypeEnum.Shadowsocks: {
53
- return (0, index_1.getShadowsocksNodes)([nodeConfig], groupName);
54
- }
55
- case types_1.NodeTypeEnum.Shadowsocksr:
56
- return (0, index_1.getShadowsocksrNodes)([nodeConfig], groupName);
57
- case types_1.NodeTypeEnum.HTTPS: {
58
- const config = [
59
- nodeConfig.nodeName,
60
- [
61
- 'http',
62
- `upstream-proxy-address=${nodeConfig.hostname}`,
63
- `upstream-proxy-port=${nodeConfig.port}`,
64
- 'upstream-proxy-auth=true',
65
- `upstream-proxy-username=${nodeConfig.username}`,
66
- `upstream-proxy-password=${nodeConfig.password}`,
67
- 'over-tls=true',
68
- 'certificate=1',
69
- ].join(', '),
70
- ].join(' = ');
71
- return 'http://' + (0, index_1.toBase64)(config);
72
- }
73
- // istanbul ignore next
74
- default:
75
- logger.warn(`不支持为 Quantumult 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
76
- return void 0;
77
- }
78
- })
79
- .filter((item) => item !== undefined);
80
- return result.join('\n');
81
- };
82
- exports.getQuantumultNodes = getQuantumultNodes;
83
13
  /**
84
14
  * @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
85
15
  */
86
- const getQuantumultXNodes = function (list, filter) {
87
- // istanbul ignore next
88
- if (arguments.length === 2 && typeof filter === 'undefined') {
89
- throw new Error(constant_1.ERR_INVALID_FILTER);
90
- }
91
- const result = (0, filter_1.applyFilter)(list, filter)
92
- .map((nodeConfig) => {
93
- var _a, _b;
94
- switch (nodeConfig.type) {
95
- case types_1.NodeTypeEnum.Vmess: {
96
- const config = [
97
- `${nodeConfig.hostname}:${nodeConfig.port}`,
98
- // method 为 auto 时 qx 会无法识别
99
- nodeConfig.method === 'auto'
100
- ? `method=chacha20-ietf-poly1305`
101
- : `method=${nodeConfig.method}`,
102
- `password=${nodeConfig.uuid}`,
103
- ...(nodeConfig['udp-relay'] ? ['udp-relay=true'] : []),
104
- ...(nodeConfig.tfo ? ['fast-open=true'] : []),
105
- ...(((_a = nodeConfig.quantumultXConfig) === null || _a === void 0 ? void 0 : _a.vmessAEAD)
106
- ? ['aead=true']
107
- : ['aead=false']),
108
- ];
109
- switch (nodeConfig.network) {
110
- case 'ws':
111
- if (nodeConfig.tls) {
112
- config.push(`obfs=wss`);
113
- if (nodeConfig.skipCertVerify) {
114
- config.push('tls-verification=false');
115
- }
116
- else {
117
- config.push('tls-verification=true');
118
- }
119
- // istanbul ignore next
120
- if (nodeConfig.tls13) {
121
- config.push(`tls13=true`);
122
- }
16
+ const getQuantumultXNodes = function (nodeList, filter) {
17
+ const result = (0, filter_1.applyFilter)(nodeList, filter)
18
+ .map(nodeListMapper)
19
+ .filter((item) => item !== undefined)
20
+ .map((item) => item[1]);
21
+ return result.join('\n');
22
+ };
23
+ exports.getQuantumultXNodes = getQuantumultXNodes;
24
+ const getQuantumultXNodeNames = function (nodeList, filter) {
25
+ return (0, filter_1.applyFilter)(nodeList, filter)
26
+ .map(nodeListMapper)
27
+ .filter((item) => item !== undefined)
28
+ .map((item) => item[0])
29
+ .join(', ');
30
+ };
31
+ exports.getQuantumultXNodeNames = getQuantumultXNodeNames;
32
+ function nodeListMapper(nodeConfig) {
33
+ switch (nodeConfig.type) {
34
+ case types_1.NodeTypeEnum.Vmess: {
35
+ const config = [
36
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
37
+ // method 为 auto 时 qx 会无法识别
38
+ nodeConfig.method === 'auto'
39
+ ? `method=chacha20-ietf-poly1305`
40
+ : `method=${nodeConfig.method}`,
41
+ `password=${nodeConfig.uuid}`,
42
+ ...(nodeConfig.udpRelay ? ['udp-relay=true'] : []),
43
+ ...(nodeConfig.tfo ? ['fast-open=true'] : []),
44
+ ...(nodeConfig.quantumultXConfig?.vmessAEAD
45
+ ? ['aead=true']
46
+ : ['aead=false']),
47
+ ];
48
+ switch (nodeConfig.network) {
49
+ case 'ws':
50
+ if (nodeConfig.tls) {
51
+ config.push(`obfs=wss`);
52
+ if (nodeConfig.skipCertVerify) {
53
+ config.push('tls-verification=false');
123
54
  }
124
55
  else {
125
- config.push(`obfs=ws`);
56
+ config.push('tls-verification=true');
126
57
  }
127
- config.push(`obfs-uri=${nodeConfig.path || '/'}`);
128
- config.push(`obfs-host=${nodeConfig.host || nodeConfig.hostname}`);
129
- break;
130
- case 'tcp':
131
- if (nodeConfig.tls) {
132
- config.push(`obfs=over-tls`);
133
- if (nodeConfig.skipCertVerify) {
134
- config.push('tls-verification=false');
135
- }
136
- else {
137
- config.push('tls-verification=true');
138
- }
139
- // istanbul ignore next
140
- if (nodeConfig.tls13) {
141
- config.push(`tls13=true`);
142
- }
58
+ // istanbul ignore next
59
+ if (nodeConfig.tls13) {
60
+ config.push(`tls13=true`);
143
61
  }
144
- break;
145
- default:
146
- // do nothing
147
- }
148
- if (typeof nodeConfig.testUrl === 'string') {
149
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
150
- }
151
- config.push(`tag=${nodeConfig.nodeName}`);
152
- // istanbul ignore next
153
- if (nodeConfig.wsHeaders &&
154
- Object.keys(nodeConfig.wsHeaders).length > 1) {
155
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
156
- }
157
- return `vmess=${config.join(', ')}`;
158
- }
159
- case types_1.NodeTypeEnum.Shadowsocks: {
160
- const config = [
161
- `${nodeConfig.hostname}:${nodeConfig.port}`,
162
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
163
- ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
164
- ? [
165
- `obfs=${nodeConfig.obfs}`,
166
- `obfs-host=${nodeConfig['obfs-host']}`,
167
- ]
168
- : []),
169
- ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
170
- ? [
171
- `obfs=${nodeConfig.obfs}`,
172
- `obfs-host=${nodeConfig['obfs-host'] || nodeConfig.hostname}`,
173
- `obfs-uri=${nodeConfig['obfs-uri'] || '/'}`,
174
- ]
175
- : []),
176
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
177
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
178
- ];
179
- if (nodeConfig.obfs === 'wss') {
180
- if (nodeConfig.skipCertVerify) {
181
- config.push('tls-verification=false');
182
62
  }
183
63
  else {
184
- config.push('tls-verification=true');
64
+ config.push(`obfs=ws`);
185
65
  }
186
- if (nodeConfig.tls13) {
187
- config.push('tls13=true');
66
+ config.push(`obfs-uri=${nodeConfig.path || '/'}`);
67
+ config.push(`obfs-host=${nodeConfig.host || nodeConfig.hostname}`);
68
+ break;
69
+ case 'tcp':
70
+ if (nodeConfig.tls) {
71
+ config.push(`obfs=over-tls`);
72
+ if (nodeConfig.skipCertVerify) {
73
+ config.push('tls-verification=false');
74
+ }
75
+ else {
76
+ config.push('tls-verification=true');
77
+ }
78
+ // istanbul ignore next
79
+ if (nodeConfig.tls13) {
80
+ config.push(`tls13=true`);
81
+ }
188
82
  }
83
+ break;
84
+ default:
85
+ // do nothing
86
+ }
87
+ if (typeof nodeConfig.testUrl === 'string') {
88
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
89
+ }
90
+ config.push(`tag=${nodeConfig.nodeName}`);
91
+ // istanbul ignore next
92
+ if (nodeConfig.wsHeaders &&
93
+ Object.keys(nodeConfig.wsHeaders).length > 1) {
94
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
95
+ }
96
+ return [nodeConfig.nodeName, `vmess=${config.join(', ')}`];
97
+ }
98
+ case types_1.NodeTypeEnum.Shadowsocks: {
99
+ const config = [
100
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
101
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
102
+ ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
103
+ ? [`obfs=${nodeConfig.obfs}`, `obfs-host=${nodeConfig.obfsHost}`]
104
+ : []),
105
+ ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
106
+ ? [
107
+ `obfs=${nodeConfig.obfs}`,
108
+ `obfs-host=${nodeConfig.obfsHost || nodeConfig.hostname}`,
109
+ `obfs-uri=${nodeConfig.obfsUri || '/'}`,
110
+ ]
111
+ : []),
112
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
113
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
114
+ ];
115
+ if (nodeConfig.obfs === 'wss') {
116
+ if (nodeConfig.skipCertVerify) {
117
+ config.push('tls-verification=false');
189
118
  }
190
- // istanbul ignore next
191
- if (nodeConfig.wsHeaders &&
192
- Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
193
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
119
+ else {
120
+ config.push('tls-verification=true');
194
121
  }
195
- if (typeof nodeConfig.testUrl === 'string') {
196
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
122
+ if (nodeConfig.tls13) {
123
+ config.push('tls13=true');
197
124
  }
198
- config.push(`tag=${nodeConfig.nodeName}`);
199
- return `shadowsocks=${config.join(', ')}`;
200
125
  }
201
- case types_1.NodeTypeEnum.Shadowsocksr: {
202
- const config = [
203
- `${nodeConfig.hostname}:${nodeConfig.port}`,
204
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
205
- `ssr-protocol=${nodeConfig.protocol}`,
206
- `ssr-protocol-param=${nodeConfig.protoparam}`,
207
- `obfs=${nodeConfig.obfs}`,
208
- `obfs-host=${nodeConfig.obfsparam}`,
209
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
210
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
211
- ...(typeof nodeConfig.testUrl === 'string'
212
- ? [`server_check_url=${nodeConfig.testUrl}`]
213
- : []),
214
- `tag=${nodeConfig.nodeName}`,
215
- ].join(', ');
216
- return `shadowsocks=${config}`;
126
+ // istanbul ignore next
127
+ if (nodeConfig.wsHeaders &&
128
+ Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
129
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
130
+ }
131
+ if (typeof nodeConfig.testUrl === 'string') {
132
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
133
+ }
134
+ config.push(`tag=${nodeConfig.nodeName}`);
135
+ return [nodeConfig.nodeName, `shadowsocks=${config.join(', ')}`];
136
+ }
137
+ case types_1.NodeTypeEnum.Shadowsocksr: {
138
+ const config = [
139
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
140
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
141
+ `ssr-protocol=${nodeConfig.protocol}`,
142
+ `ssr-protocol-param=${nodeConfig.protoparam}`,
143
+ `obfs=${nodeConfig.obfs}`,
144
+ `obfs-host=${nodeConfig.obfsparam}`,
145
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
146
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
147
+ ...(typeof nodeConfig.testUrl === 'string'
148
+ ? [`server_check_url=${nodeConfig.testUrl}`]
149
+ : []),
150
+ `tag=${nodeConfig.nodeName}`,
151
+ ].join(', ');
152
+ return [nodeConfig.nodeName, `shadowsocks=${config}`];
153
+ }
154
+ case types_1.NodeTypeEnum.HTTP:
155
+ case types_1.NodeTypeEnum.HTTPS: {
156
+ const config = [
157
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
158
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
159
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
160
+ ];
161
+ if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
162
+ config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
163
+ }
164
+ if (typeof nodeConfig.testUrl === 'string') {
165
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
217
166
  }
218
- case types_1.NodeTypeEnum.HTTP:
219
- case types_1.NodeTypeEnum.HTTPS: {
220
- const config = [
221
- `${nodeConfig.hostname}:${nodeConfig.port}`,
222
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
223
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
224
- ];
225
- if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
226
- config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
167
+ config.push(`tag=${nodeConfig.nodeName}`);
168
+ return [nodeConfig.nodeName, `http=${config.join(', ')}`];
169
+ }
170
+ case types_1.NodeTypeEnum.Trojan: {
171
+ const config = [
172
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
173
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
174
+ `tls-verification=${nodeConfig.skipCertVerify !== true}`,
175
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
176
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
177
+ ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
178
+ ];
179
+ if (nodeConfig.network === 'ws') {
180
+ /**
181
+ * The obfs field is only supported with websocket over tls for trojan. When using websocket over
182
+ * tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
183
+ * obfs-host options.
184
+ */
185
+ config.push('obfs=wss');
186
+ if (nodeConfig.wsPath) {
187
+ config.push(`obfs-uri=${nodeConfig.wsPath}`);
227
188
  }
228
- if (typeof nodeConfig.testUrl === 'string') {
229
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
189
+ const hostHeader = nodeConfig?.wsHeaders?.host;
190
+ const sni = nodeConfig.sni;
191
+ if (sni) {
192
+ config.push(`obfs-host=${sni}`);
230
193
  }
231
- config.push(`tag=${nodeConfig.nodeName}`);
232
- return `http=${config.join(', ')}`;
233
- }
234
- case types_1.NodeTypeEnum.Trojan: {
235
- const config = [
236
- `${nodeConfig.hostname}:${nodeConfig.port}`,
237
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
238
- `tls-verification=${nodeConfig.skipCertVerify !== true}`,
239
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
240
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
241
- ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
242
- ];
243
- if (nodeConfig.network === 'ws') {
244
- /**
245
- * The obfs field is only supported with websocket over tls for trojan. When using websocket over
246
- * tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
247
- * obfs-host options.
248
- */
249
- config.push('obfs=wss');
250
- if (nodeConfig.wsPath) {
251
- config.push(`obfs-uri=${nodeConfig.wsPath}`);
252
- }
253
- const hostHeader = (_b = nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.wsHeaders) === null || _b === void 0 ? void 0 : _b.host;
254
- const sni = nodeConfig.sni;
255
- if (sni) {
256
- config.push(`obfs-host=${sni}`);
257
- }
258
- else if (hostHeader) {
259
- config.push(`obfs-host=${hostHeader}`);
260
- }
261
- if (sni && hostHeader) {
262
- logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
263
- }
264
- if (nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.wsHeaders) {
265
- // istanbul ignore next
266
- if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
267
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
268
- }
269
- }
194
+ else if (hostHeader) {
195
+ config.push(`obfs-host=${hostHeader}`);
270
196
  }
271
- else {
272
- config.push('over-tls=true');
273
- if (nodeConfig.sni) {
274
- config.push(`tls-host=${nodeConfig.sni}`);
197
+ if (sni && hostHeader) {
198
+ logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
199
+ }
200
+ if (nodeConfig?.wsHeaders) {
201
+ // istanbul ignore next
202
+ if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
203
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
275
204
  }
276
205
  }
277
- if (typeof nodeConfig.testUrl === 'string') {
278
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
206
+ }
207
+ else {
208
+ config.push('over-tls=true');
209
+ if (nodeConfig.sni) {
210
+ config.push(`tls-host=${nodeConfig.sni}`);
279
211
  }
280
- config.push(`tag=${nodeConfig.nodeName}`);
281
- return `trojan=${config.join(', ')}`;
282
212
  }
283
- // istanbul ignore next
284
- default:
285
- logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
286
- return void 0;
213
+ if (typeof nodeConfig.testUrl === 'string') {
214
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
215
+ }
216
+ config.push(`tag=${nodeConfig.nodeName}`);
217
+ return [nodeConfig.nodeName, `trojan=${config.join(', ')}`];
287
218
  }
288
- })
289
- .filter((item) => item !== undefined);
290
- return result.join('\n');
291
- };
292
- exports.getQuantumultXNodes = getQuantumultXNodes;
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9xdWFudHVtdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUE4QztBQUM5QyxvREFBdUI7QUFDdkIsK0JBQWlDO0FBRWpDLHFEQUE2QztBQUM3QywwQ0FBMEQ7QUFDMUQsb0NBU2tCO0FBQ2xCLHFDQUF1QztBQUN2QyxtQ0FLaUI7QUFFakIsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztBQUNwRSxNQUFNLFVBQVUsR0FBRyxJQUFBLGdCQUFTLEVBQUMsZ0JBQUMsQ0FBQyxJQUFJLEVBQUUsb0JBQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLGtCQUFrQixHQUFHLFVBQ2hDLElBS0MsRUFDRCxTQUFTLEdBQUcsUUFBUSxFQUNwQixNQUFzRDtJQUV0RCxVQUFVLEVBQUUsQ0FBQztJQUViLHVCQUF1QjtJQUN2QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUFrQixDQUFDLENBQUM7S0FDckM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxTQUFpQztRQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzFCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7YUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBMEIsSUFBQSxvQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDNUQsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFzQixFQUFFO1FBQ3RDLFFBQVEs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
219
+ // istanbul ignore next
220
+ default:
221
+ logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
222
+ return void 0;
223
+ }
224
+ }
225
+ //# sourceMappingURL=quantumult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantumult.js","sourceRoot":"","sources":["../../src/utils/quantumult.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,4 @@ function relayableUrl(url, relayUrl) {
19
19
  return url;
20
20
  }
21
21
  exports.default = relayableUrl;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXlhYmxlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9yZWxheWFibGUtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTRDO0FBRTVDLFNBQXdCLFlBQVksQ0FDbEMsR0FBVyxFQUNYLFFBQTJCO0lBRTNCLElBQUksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQ2pDLE9BQU8sR0FBRyx3QkFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDO0tBQ2pDO1NBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDdkMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RDthQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQWhCRCwrQkFnQkMifQ==
22
+ //# sourceMappingURL=relayable-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayable-url.js","sourceRoot":"","sources":["../../src/utils/relayable-url.ts"],"names":[],"mappings":";;AAAA,0CAA2C;AAE3C,SAAwB,YAAY,CAClC,GAAW,EACX,QAA2B;IAE3B,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE;QACjC,OAAO,GAAG,wBAAa,GAAG,GAAG,EAAE,CAAA;KAChC;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;SAC5D;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;SACtC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;KACF;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAhBD,+BAgBC"}