surgio 3.11.2 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/bin/dev +0 -0
  2. package/package.json +69 -75
  3. package/build/base-command.d.ts +0 -20
  4. package/build/base-command.js +0 -75
  5. package/build/base-command.js.map +0 -1
  6. package/build/commands/check.d.ts +0 -10
  7. package/build/commands/check.js +0 -87
  8. package/build/commands/check.js.map +0 -1
  9. package/build/commands/clean-cache.d.ts +0 -6
  10. package/build/commands/clean-cache.js +0 -28
  11. package/build/commands/clean-cache.js.map +0 -1
  12. package/build/commands/doctor.d.ts +0 -6
  13. package/build/commands/doctor.js +0 -20
  14. package/build/commands/doctor.js.map +0 -1
  15. package/build/commands/generate.d.ts +0 -7
  16. package/build/commands/generate.js +0 -94
  17. package/build/commands/generate.js.map +0 -1
  18. package/build/commands/lint.d.ts +0 -6
  19. package/build/commands/lint.js +0 -37
  20. package/build/commands/lint.js.map +0 -1
  21. package/build/commands/new.d.ts +0 -6
  22. package/build/commands/new.js +0 -37
  23. package/build/commands/new.js.map +0 -1
  24. package/build/commands/subscriptions.d.ts +0 -7
  25. package/build/commands/subscriptions.js +0 -95
  26. package/build/commands/subscriptions.js.map +0 -1
  27. package/build/commands/upload.d.ts +0 -6
  28. package/build/commands/upload.js +0 -91
  29. package/build/commands/upload.js.map +0 -1
  30. package/build/config.d.ts +0 -6
  31. package/build/config.js +0 -156
  32. package/build/config.js.map +0 -1
  33. package/build/configurables.d.ts +0 -88
  34. package/build/configurables.js +0 -52
  35. package/build/configurables.js.map +0 -1
  36. package/build/constant/constant.d.ts +0 -36
  37. package/build/constant/constant.js +0 -160
  38. package/build/constant/constant.js.map +0 -1
  39. package/build/constant/env.d.ts +0 -9
  40. package/build/constant/env.js +0 -13
  41. package/build/constant/env.js.map +0 -1
  42. package/build/constant/error.d.ts +0 -1
  43. package/build/constant/error.js +0 -5
  44. package/build/constant/error.js.map +0 -1
  45. package/build/constant/index.d.ts +0 -3
  46. package/build/constant/index.js +0 -20
  47. package/build/constant/index.js.map +0 -1
  48. package/build/filters/classes.d.ts +0 -13
  49. package/build/filters/classes.js +0 -42
  50. package/build/filters/classes.js.map +0 -1
  51. package/build/filters/filters.d.ts +0 -25
  52. package/build/filters/filters.js +0 -107
  53. package/build/filters/filters.js.map +0 -1
  54. package/build/filters/index.d.ts +0 -2
  55. package/build/filters/index.js +0 -32
  56. package/build/filters/index.js.map +0 -1
  57. package/build/filters/utils.d.ts +0 -16
  58. package/build/filters/utils.js +0 -159
  59. package/build/filters/utils.js.map +0 -1
  60. package/build/generator/artifact.d.ts +0 -142
  61. package/build/generator/artifact.js +0 -370
  62. package/build/generator/artifact.js.map +0 -1
  63. package/build/generator/index.d.ts +0 -3
  64. package/build/generator/index.js +0 -25
  65. package/build/generator/index.js.map +0 -1
  66. package/build/generator/json-template.d.ts +0 -11
  67. package/build/generator/json-template.js +0 -66
  68. package/build/generator/json-template.js.map +0 -1
  69. package/build/generator/template.d.ts +0 -8
  70. package/build/generator/template.js +0 -234
  71. package/build/generator/template.js.map +0 -1
  72. package/build/hooks/init.d.ts +0 -3
  73. package/build/hooks/init.js +0 -33
  74. package/build/hooks/init.js.map +0 -1
  75. package/build/index.d.ts +0 -85
  76. package/build/index.js +0 -64
  77. package/build/index.js.map +0 -1
  78. package/build/internal.d.ts +0 -5
  79. package/build/internal.js +0 -25
  80. package/build/internal.js.map +0 -1
  81. package/build/misc/deprecation.d.ts +0 -0
  82. package/build/misc/deprecation.js +0 -2
  83. package/build/misc/deprecation.js.map +0 -1
  84. package/build/misc/flag_cn.d.ts +0 -56
  85. package/build/misc/flag_cn.js +0 -154
  86. package/build/misc/flag_cn.js.map +0 -1
  87. package/build/provider/BlackSSLProvider.d.ts +0 -11
  88. package/build/provider/BlackSSLProvider.js +0 -93
  89. package/build/provider/BlackSSLProvider.js.map +0 -1
  90. package/build/provider/ClashProvider.d.ts +0 -24
  91. package/build/provider/ClashProvider.js +0 -476
  92. package/build/provider/ClashProvider.js.map +0 -1
  93. package/build/provider/CustomProvider.d.ts +0 -10
  94. package/build/provider/CustomProvider.js +0 -144
  95. package/build/provider/CustomProvider.js.map +0 -1
  96. package/build/provider/Provider.d.ts +0 -17
  97. package/build/provider/Provider.js +0 -111
  98. package/build/provider/Provider.js.map +0 -1
  99. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -11
  100. package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -86
  101. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
  102. package/build/provider/ShadowsocksSubscribeProvider.d.ts +0 -18
  103. package/build/provider/ShadowsocksSubscribeProvider.js +0 -84
  104. package/build/provider/ShadowsocksSubscribeProvider.js.map +0 -1
  105. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +0 -15
  106. package/build/provider/ShadowsocksrSubscribeProvider.js +0 -93
  107. package/build/provider/ShadowsocksrSubscribeProvider.js.map +0 -1
  108. package/build/provider/SsdProvider.d.ts +0 -39
  109. package/build/provider/SsdProvider.js +0 -138
  110. package/build/provider/SsdProvider.js.map +0 -1
  111. package/build/provider/TrojanProvider.d.ts +0 -24
  112. package/build/provider/TrojanProvider.js +0 -98
  113. package/build/provider/TrojanProvider.js.map +0 -1
  114. package/build/provider/V2rayNSubscribeProvider.d.ts +0 -25
  115. package/build/provider/V2rayNSubscribeProvider.js +0 -181
  116. package/build/provider/V2rayNSubscribeProvider.js.map +0 -1
  117. package/build/provider/index.d.ts +0 -17
  118. package/build/provider/index.js +0 -54
  119. package/build/provider/index.js.map +0 -1
  120. package/build/provider/types.d.ts +0 -18
  121. package/build/provider/types.js +0 -3
  122. package/build/provider/types.js.map +0 -1
  123. package/build/redis.d.ts +0 -9
  124. package/build/redis.js +0 -63
  125. package/build/redis.js.map +0 -1
  126. package/build/types.d.ts +0 -138
  127. package/build/types.js +0 -31
  128. package/build/types.js.map +0 -1
  129. package/build/utils/cache.d.ts +0 -23
  130. package/build/utils/cache.js +0 -98
  131. package/build/utils/cache.js.map +0 -1
  132. package/build/utils/clash.d.ts +0 -3
  133. package/build/utils/clash.js +0 -448
  134. package/build/utils/clash.js.map +0 -1
  135. package/build/utils/constant.d.ts +0 -1
  136. package/build/utils/constant.js +0 -19
  137. package/build/utils/constant.js.map +0 -1
  138. package/build/utils/dns.d.ts +0 -4
  139. package/build/utils/dns.js +0 -51
  140. package/build/utils/dns.js.map +0 -1
  141. package/build/utils/doctor.d.ts +0 -2
  142. package/build/utils/doctor.js +0 -38
  143. package/build/utils/doctor.js.map +0 -1
  144. package/build/utils/env-flag.d.ts +0 -9
  145. package/build/utils/env-flag.js +0 -41
  146. package/build/utils/env-flag.js.map +0 -1
  147. package/build/utils/error-helper.d.ts +0 -2
  148. package/build/utils/error-helper.js +0 -62
  149. package/build/utils/error-helper.js.map +0 -1
  150. package/build/utils/errors.d.ts +0 -19
  151. package/build/utils/errors.js +0 -60
  152. package/build/utils/errors.js.map +0 -1
  153. package/build/utils/flag.d.ts +0 -3
  154. package/build/utils/flag.js +0 -79
  155. package/build/utils/flag.js.map +0 -1
  156. package/build/utils/http-client.d.ts +0 -3
  157. package/build/utils/http-client.js +0 -82
  158. package/build/utils/http-client.js.map +0 -1
  159. package/build/utils/index.d.ts +0 -90
  160. package/build/utils/index.js +0 -529
  161. package/build/utils/index.js.map +0 -1
  162. package/build/utils/linter.d.ts +0 -4
  163. package/build/utils/linter.js +0 -49
  164. package/build/utils/linter.js.map +0 -1
  165. package/build/utils/loon.d.ts +0 -3
  166. package/build/utils/loon.js +0 -236
  167. package/build/utils/loon.js.map +0 -1
  168. package/build/utils/quantumult.d.ts +0 -6
  169. package/build/utils/quantumult.js +0 -240
  170. package/build/utils/quantumult.js.map +0 -1
  171. package/build/utils/relayable-url.d.ts +0 -1
  172. package/build/utils/relayable-url.js +0 -18
  173. package/build/utils/relayable-url.js.map +0 -1
  174. package/build/utils/remote-snippet.d.ts +0 -8
  175. package/build/utils/remote-snippet.js +0 -198
  176. package/build/utils/remote-snippet.js.map +0 -1
  177. package/build/utils/singbox.d.ts +0 -3
  178. package/build/utils/singbox.js +0 -377
  179. package/build/utils/singbox.js.map +0 -1
  180. package/build/utils/ss.d.ts +0 -3
  181. package/build/utils/ss.js +0 -97
  182. package/build/utils/ss.js.map +0 -1
  183. package/build/utils/ssr.d.ts +0 -7
  184. package/build/utils/ssr.js +0 -53
  185. package/build/utils/ssr.js.map +0 -1
  186. package/build/utils/subscription.d.ts +0 -11
  187. package/build/utils/subscription.js +0 -68
  188. package/build/utils/subscription.js.map +0 -1
  189. package/build/utils/surfboard.d.ts +0 -7
  190. package/build/utils/surfboard.js +0 -184
  191. package/build/utils/surfboard.js.map +0 -1
  192. package/build/utils/surge.d.ts +0 -8
  193. package/build/utils/surge.js +0 -407
  194. package/build/utils/surge.js.map +0 -1
  195. package/build/utils/time.d.ts +0 -1
  196. package/build/utils/time.js +0 -6
  197. package/build/utils/time.js.map +0 -1
  198. package/build/utils/tmp-helper.d.ts +0 -30
  199. package/build/utils/tmp-helper.js +0 -102
  200. package/build/utils/tmp-helper.js.map +0 -1
  201. package/build/utils/trojan.d.ts +0 -2
  202. package/build/utils/trojan.js +0 -38
  203. package/build/utils/trojan.js.map +0 -1
  204. package/build/utils/useragent.d.ts +0 -18
  205. package/build/utils/useragent.js +0 -210
  206. package/build/utils/useragent.js.map +0 -1
  207. package/build/validators/artifact.d.ts +0 -44
  208. package/build/validators/artifact.js +0 -26
  209. package/build/validators/artifact.js.map +0 -1
  210. package/build/validators/common.d.ts +0 -377
  211. package/build/validators/common.js +0 -106
  212. package/build/validators/common.js.map +0 -1
  213. package/build/validators/filter.d.ts +0 -10
  214. package/build/validators/filter.js +0 -15
  215. package/build/validators/filter.js.map +0 -1
  216. package/build/validators/hooks.d.ts +0 -9
  217. package/build/validators/hooks.js +0 -11
  218. package/build/validators/hooks.js.map +0 -1
  219. package/build/validators/http.d.ts +0 -366
  220. package/build/validators/http.js +0 -23
  221. package/build/validators/http.js.map +0 -1
  222. package/build/validators/hysteria2.d.ts +0 -196
  223. package/build/validators/hysteria2.js +0 -15
  224. package/build/validators/hysteria2.js.map +0 -1
  225. package/build/validators/index.d.ts +0 -17
  226. package/build/validators/index.js +0 -34
  227. package/build/validators/index.js.map +0 -1
  228. package/build/validators/provider.d.ts +0 -120
  229. package/build/validators/provider.js +0 -46
  230. package/build/validators/provider.js.map +0 -1
  231. package/build/validators/shadowsocks.d.ts +0 -252
  232. package/build/validators/shadowsocks.js +0 -31
  233. package/build/validators/shadowsocks.js.map +0 -1
  234. package/build/validators/shadowsocksr.d.ts +0 -184
  235. package/build/validators/shadowsocksr.js +0 -19
  236. package/build/validators/shadowsocksr.js.map +0 -1
  237. package/build/validators/snell.d.ts +0 -178
  238. package/build/validators/snell.js +0 -17
  239. package/build/validators/snell.js.map +0 -1
  240. package/build/validators/socks5.d.ts +0 -196
  241. package/build/validators/socks5.js +0 -15
  242. package/build/validators/socks5.js.map +0 -1
  243. package/build/validators/surgio-config.d.ts +0 -387
  244. package/build/validators/surgio-config.js +0 -101
  245. package/build/validators/surgio-config.js.map +0 -1
  246. package/build/validators/trojan.d.ts +0 -255
  247. package/build/validators/trojan.js +0 -16
  248. package/build/validators/trojan.js.map +0 -1
  249. package/build/validators/tuic.d.ts +0 -741
  250. package/build/validators/tuic.js +0 -21
  251. package/build/validators/tuic.js.map +0 -1
  252. package/build/validators/vless.d.ts +0 -389
  253. package/build/validators/vless.js +0 -31
  254. package/build/validators/vless.js.map +0 -1
  255. package/build/validators/vmess.d.ts +0 -425
  256. package/build/validators/vmess.js +0 -86
  257. package/build/validators/vmess.js.map +0 -1
  258. package/build/validators/wireguard.d.ts +0 -230
  259. package/build/validators/wireguard.js +0 -26
  260. package/build/validators/wireguard.js.map +0 -1
@@ -1,448 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getClashNodeNames = exports.getClashNodes = void 0;
7
- const logger_1 = require("@surgio/logger");
8
- const lodash_1 = __importDefault(require("lodash"));
9
- const constant_1 = require("../constant");
10
- const types_1 = require("../types");
11
- const filters_1 = require("../filters");
12
- const index_1 = require("./index");
13
- const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:clash' });
14
- const getClashNodes = function (list, filter) {
15
- return (0, filters_1.applyFilter)(list, filter)
16
- .map((nodeConfig) => {
17
- const clashNode = nodeListMapper(nodeConfig);
18
- if (!clashNode) {
19
- return clashNode;
20
- }
21
- if (nodeConfig?.clashConfig?.clashCore === 'clash.meta') {
22
- if (nodeConfig.underlyingProxy) {
23
- clashNode['dialer-proxy'] = nodeConfig.underlyingProxy;
24
- }
25
- if (nodeConfig.ipVersion) {
26
- clashNode['ip-version'] = nodeConfig.ipVersion;
27
- }
28
- if (nodeConfig.interfaceName) {
29
- clashNode['interface-name'] = nodeConfig.interfaceName;
30
- }
31
- if ('multiplex' in nodeConfig && nodeConfig.multiplex) {
32
- // https://wiki.metacubex.one/config/proxies/sing-mux/#sing-mux
33
- clashNode.smux = {
34
- enabled: true,
35
- protocol: nodeConfig.multiplex.protocol,
36
- ...(nodeConfig.multiplex.brutal && {
37
- 'brutal-opts': {
38
- enabled: true,
39
- up: nodeConfig.multiplex.brutal.upMbps,
40
- down: nodeConfig.multiplex.brutal.downMbps,
41
- },
42
- }),
43
- ...(0, index_1.pickAndFormatKeys)(nodeConfig.multiplex, ['maxConnections', 'minStreams', 'maxStreams', 'padding'], {
44
- keyFormat: 'kebabCase',
45
- }),
46
- };
47
- }
48
- }
49
- return clashNode;
50
- })
51
- .filter((item) => (0, index_1.checkNotNullish)(item));
52
- };
53
- exports.getClashNodes = getClashNodes;
54
- const getClashNodeNames = function (list, filter, prependNodeNames, defaultNodeNames) {
55
- // istanbul ignore next
56
- if (arguments.length === 2 && typeof filter === 'undefined') {
57
- throw new Error(constant_1.ERR_INVALID_FILTER);
58
- }
59
- let result = [];
60
- if (prependNodeNames) {
61
- result = result.concat(prependNodeNames);
62
- }
63
- result = result.concat((0, exports.getClashNodes)(list, filter).map((item) => item.name));
64
- if (result.length === 0 && defaultNodeNames) {
65
- result = result.concat(defaultNodeNames);
66
- }
67
- return result;
68
- };
69
- exports.getClashNodeNames = getClashNodeNames;
70
- /**
71
- * @see https://wiki.metacubex.one/config/proxies/
72
- * @see https://stash.wiki/proxy-protocols/proxy-types
73
- */
74
- function nodeListMapper(nodeConfig) {
75
- const clashConfig = nodeConfig.clashConfig || {};
76
- switch (nodeConfig.type) {
77
- case types_1.NodeTypeEnum.Shadowsocks:
78
- // Istanbul ignore next
79
- if (nodeConfig.shadowTls && !clashConfig.enableShadowTls) {
80
- logger.warn(`尚未开启 Clash 的 shadow-tls 支持,节点 ${nodeConfig.nodeName} 将被忽略。如需开启,请在配置文件中设置 clashConfig.enableShadowTls 为 true。`);
81
- return null;
82
- }
83
- // Istanbul ignore next
84
- if (nodeConfig.shadowTls && nodeConfig.obfs) {
85
- logger.warn(`Clash 不支持同时开启 shadow-tls 和 obfs,节点 ${nodeConfig.nodeName} 将被忽略。`);
86
- return null;
87
- }
88
- return {
89
- type: 'ss',
90
- cipher: nodeConfig.method,
91
- name: nodeConfig.nodeName,
92
- password: nodeConfig.password,
93
- port: nodeConfig.port,
94
- server: nodeConfig.hostname,
95
- udp: nodeConfig.udpRelay === true,
96
- ...(nodeConfig.obfs && ['tls', 'http'].includes(nodeConfig.obfs)
97
- ? {
98
- plugin: 'obfs',
99
- 'plugin-opts': {
100
- mode: nodeConfig.obfs,
101
- host: nodeConfig.obfsHost,
102
- },
103
- }
104
- : null),
105
- ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
106
- ? {
107
- plugin: 'v2ray-plugin',
108
- 'plugin-opts': {
109
- mode: 'websocket',
110
- tls: nodeConfig.obfs === 'wss',
111
- ...(typeof nodeConfig.skipCertVerify === 'boolean' &&
112
- nodeConfig.obfs === 'wss'
113
- ? {
114
- 'skip-cert-verify': nodeConfig.skipCertVerify,
115
- }
116
- : null),
117
- host: nodeConfig.obfsHost,
118
- path: nodeConfig.obfsUri || '/',
119
- mux: typeof nodeConfig.mux === 'boolean' ? nodeConfig.mux : false,
120
- headers: lodash_1.default.omit(nodeConfig.wsHeaders || {}, ['host']),
121
- },
122
- }
123
- : null),
124
- ...(nodeConfig.shadowTls && nodeConfig.clashConfig?.enableShadowTls
125
- ? {
126
- plugin: 'shadow-tls',
127
- 'client-fingerprint': 'chrome',
128
- 'plugin-opts': {
129
- password: nodeConfig.shadowTls.password,
130
- ...(nodeConfig.shadowTls.version
131
- ? { version: nodeConfig.shadowTls.version }
132
- : null),
133
- ...(nodeConfig.shadowTls.sni
134
- ? { host: nodeConfig.shadowTls.sni }
135
- : null),
136
- },
137
- }
138
- : null),
139
- };
140
- case types_1.NodeTypeEnum.Vless:
141
- case types_1.NodeTypeEnum.Vmess: {
142
- if (nodeConfig.type === 'vless' && !clashConfig.enableVless) {
143
- logger.warn(`尚未开启 Clash 的 VLESS 支持,节点 ${nodeConfig.nodeName} 会被省略。如需开启,请在配置文件中设置 clashConfig.enableVless 为 true。`);
144
- return null;
145
- }
146
- const vmessNode = {
147
- type: nodeConfig.type,
148
- cipher: nodeConfig.method,
149
- name: nodeConfig.nodeName,
150
- server: nodeConfig.hostname,
151
- port: nodeConfig.port,
152
- udp: nodeConfig.udpRelay === true,
153
- uuid: nodeConfig.uuid,
154
- network: nodeConfig.network || 'tcp',
155
- };
156
- if (nodeConfig.type === types_1.NodeTypeEnum.Vmess) {
157
- vmessNode.alterId = nodeConfig.alterId || '0';
158
- }
159
- if (nodeConfig.type === types_1.NodeTypeEnum.Vless) {
160
- vmessNode.flow = nodeConfig.flow;
161
- if (nodeConfig.realityOpts) {
162
- vmessNode['reality-opts'] = {
163
- 'public-key': nodeConfig.realityOpts.publicKey,
164
- };
165
- if (nodeConfig.realityOpts.shortId) {
166
- vmessNode['reality-opts']['short-id'] =
167
- nodeConfig.realityOpts.shortId;
168
- }
169
- if (nodeConfig.realityOpts.spiderX) {
170
- vmessNode['reality-opts']['spider-x'] =
171
- nodeConfig.realityOpts.spiderX;
172
- }
173
- }
174
- }
175
- if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
176
- nodeConfig.type === types_1.NodeTypeEnum.Vless) {
177
- vmessNode.tls = true;
178
- if (nodeConfig.skipCertVerify) {
179
- vmessNode['skip-cert-verify'] = nodeConfig.skipCertVerify;
180
- }
181
- if (clashConfig.clashCore === 'clash' && nodeConfig.sni) {
182
- vmessNode.servername = nodeConfig.sni;
183
- }
184
- if (clashConfig.clashCore === 'stash' && nodeConfig.sni) {
185
- vmessNode.sni = nodeConfig.sni;
186
- vmessNode.servername = nodeConfig.sni;
187
- }
188
- if (clashConfig.clashCore === 'clash.meta' && nodeConfig.sni) {
189
- vmessNode.servername = nodeConfig.sni;
190
- }
191
- if (nodeConfig.clientFingerprint) {
192
- vmessNode['client-fingerprint'] = nodeConfig.clientFingerprint;
193
- }
194
- }
195
- switch (nodeConfig.network) {
196
- case 'tcp':
197
- break;
198
- case 'ws':
199
- vmessNode['ws-opts'] = nodeConfig.wsOpts;
200
- break;
201
- case 'h2':
202
- vmessNode['h2-opts'] = nodeConfig.h2Opts;
203
- break;
204
- case 'http':
205
- vmessNode['http-opts'] = {
206
- ...nodeConfig.httpOpts,
207
- headers: resolveVmessHttpHeadersFromSurgioConfig(nodeConfig.httpOpts?.headers || {}),
208
- };
209
- break;
210
- case 'grpc':
211
- if (nodeConfig.grpcOpts) {
212
- vmessNode['grpc-opts'] = {
213
- 'grpc-service-name': nodeConfig.grpcOpts.serviceName,
214
- };
215
- }
216
- break;
217
- }
218
- return vmessNode;
219
- }
220
- case types_1.NodeTypeEnum.Shadowsocksr:
221
- return {
222
- type: 'ssr',
223
- name: nodeConfig.nodeName,
224
- server: nodeConfig.hostname,
225
- port: nodeConfig.port,
226
- password: nodeConfig.password,
227
- obfs: nodeConfig.obfs,
228
- protocol: nodeConfig.protocol,
229
- cipher: nodeConfig.method,
230
- 'obfs-param': nodeConfig.obfsparam ?? '',
231
- 'protocol-param': nodeConfig.protoparam ?? '',
232
- udp: nodeConfig.udpRelay === true,
233
- };
234
- case types_1.NodeTypeEnum.Snell:
235
- // Istanbul ignore next
236
- if (Number(nodeConfig.version) >= 4) {
237
- logger.warn(`Clash 尚不支持 Snell v${nodeConfig.version},节点 ${nodeConfig.nodeName} 会被省略。`);
238
- return null;
239
- }
240
- return {
241
- type: 'snell',
242
- name: nodeConfig.nodeName,
243
- server: nodeConfig.hostname,
244
- port: nodeConfig.port,
245
- psk: nodeConfig.psk,
246
- 'obfs-opts': {
247
- mode: nodeConfig.obfs,
248
- ...(nodeConfig.obfsHost
249
- ? {
250
- host: nodeConfig.obfsHost,
251
- }
252
- : null),
253
- },
254
- ...(nodeConfig.version
255
- ? {
256
- version: nodeConfig.version,
257
- }
258
- : null),
259
- };
260
- case types_1.NodeTypeEnum.HTTPS:
261
- return {
262
- type: 'http',
263
- name: nodeConfig.nodeName,
264
- server: nodeConfig.hostname,
265
- port: nodeConfig.port,
266
- username: nodeConfig.username /* istanbul ignore next */ || '',
267
- password: nodeConfig.password /* istanbul ignore next */ || '',
268
- tls: true,
269
- 'skip-cert-verify': nodeConfig.skipCertVerify === true,
270
- };
271
- case types_1.NodeTypeEnum.HTTP:
272
- return {
273
- type: 'http',
274
- name: nodeConfig.nodeName,
275
- server: nodeConfig.hostname,
276
- port: nodeConfig.port,
277
- username: nodeConfig.username /* istanbul ignore next */ || '',
278
- password: nodeConfig.password /* istanbul ignore next */ || '',
279
- };
280
- case types_1.NodeTypeEnum.Trojan:
281
- return {
282
- type: 'trojan',
283
- name: nodeConfig.nodeName,
284
- server: nodeConfig.hostname,
285
- port: nodeConfig.port,
286
- password: nodeConfig.password,
287
- ...(nodeConfig.udpRelay ? { udp: nodeConfig.udpRelay } : null),
288
- ...(nodeConfig.alpn ? { alpn: nodeConfig.alpn } : null),
289
- ...(nodeConfig.sni ? { sni: nodeConfig.sni } : null),
290
- 'skip-cert-verify': nodeConfig.skipCertVerify === true,
291
- ...(nodeConfig.network === 'ws'
292
- ? {
293
- network: 'ws',
294
- 'ws-opts': {
295
- path: nodeConfig.wsPath || '/',
296
- ...nodeConfig.wsHeaders,
297
- },
298
- }
299
- : null),
300
- };
301
- case types_1.NodeTypeEnum.Socks5:
302
- return {
303
- type: 'socks5',
304
- name: nodeConfig.nodeName,
305
- server: nodeConfig.hostname,
306
- port: nodeConfig.port,
307
- ...(nodeConfig.username ? { username: nodeConfig.username } : null),
308
- ...(nodeConfig.password ? { password: nodeConfig.password } : null),
309
- ...(typeof nodeConfig.tls === 'boolean'
310
- ? { tls: nodeConfig.tls }
311
- : null),
312
- ...(typeof nodeConfig.skipCertVerify === 'boolean'
313
- ? { 'skip-cert-verify': nodeConfig.skipCertVerify }
314
- : null),
315
- ...(typeof nodeConfig.udpRelay === 'boolean'
316
- ? { udp: nodeConfig.udpRelay }
317
- : null),
318
- };
319
- case types_1.NodeTypeEnum.Tuic:
320
- // Istanbul ignore next
321
- if (!clashConfig.enableTuic) {
322
- logger.warn(`尚未开启 Clash 的 Tuic 支持,节点 ${nodeConfig.nodeName} 会被省略。如需开启,请在配置文件中设置 clashConfig.enableTuic 为 true。`);
323
- return null;
324
- }
325
- // Istanbul ignore next
326
- if (nodeConfig.alpn && !nodeConfig.alpn.length) {
327
- logger.warn(`节点 ${nodeConfig.nodeName} 的 alpn 为空。Stash 客户端不支持 ALPN 为空,默认的 ALPN 为 h3。`);
328
- }
329
- if ('version' in nodeConfig && Number(nodeConfig.version) >= 5) {
330
- return {
331
- type: 'tuic',
332
- name: nodeConfig.nodeName,
333
- server: nodeConfig.hostname,
334
- port: nodeConfig.port,
335
- udp: true,
336
- ...(0, index_1.pickAndFormatKeys)(nodeConfig, ['password', 'uuid', 'sni', 'skipCertVerify', 'version'], {
337
- keyFormat: 'kebabCase',
338
- }),
339
- ...(clashConfig.clashCore === 'stash' && nodeConfig.portHopping
340
- ? {
341
- ports: nodeConfig.portHopping.replaceAll(';', ','),
342
- }
343
- : null),
344
- ...(clashConfig.clashCore === 'stash' &&
345
- nodeConfig.portHoppingInterval
346
- ? {
347
- 'hop-interval': nodeConfig.portHoppingInterval,
348
- }
349
- : null),
350
- ...(nodeConfig.alpn ? { alpn: nodeConfig.alpn } : null),
351
- };
352
- }
353
- return {
354
- type: 'tuic',
355
- name: nodeConfig.nodeName,
356
- server: nodeConfig.hostname,
357
- port: nodeConfig.port,
358
- udp: true,
359
- ...(0, index_1.pickAndFormatKeys)(nodeConfig, ['token', 'sni', 'skipCertVerify', 'version'], {
360
- keyFormat: 'kebabCase',
361
- }),
362
- ...(clashConfig.clashCore === 'stash' && nodeConfig.portHopping
363
- ? {
364
- ports: nodeConfig.portHopping.replaceAll(';', ','),
365
- }
366
- : null),
367
- ...(clashConfig.clashCore === 'stash' && nodeConfig.portHoppingInterval
368
- ? {
369
- 'hop-interval': nodeConfig.portHoppingInterval,
370
- }
371
- : null),
372
- ...(nodeConfig.alpn ? { alpn: nodeConfig.alpn } : null),
373
- };
374
- case types_1.NodeTypeEnum.Hysteria2:
375
- // Istanbul ignore next
376
- if (!clashConfig.enableHysteria2) {
377
- logger.warn(`尚未开启 Clash 的 Hysteria2 支持,节点 ${nodeConfig.nodeName} 会被省略。如需开启,请在配置文件中设置 clashConfig.enableHysteria2 为 true。`);
378
- return null;
379
- }
380
- return {
381
- type: 'hysteria2',
382
- name: nodeConfig.nodeName,
383
- server: nodeConfig.hostname,
384
- port: nodeConfig.port,
385
- [clashConfig.clashCore === 'stash' ? 'auth' : 'password']: nodeConfig.password,
386
- up: nodeConfig.uploadBandwidth || 0,
387
- down: nodeConfig.downloadBandwidth || 0,
388
- ...(0, index_1.pickAndFormatKeys)(nodeConfig, ['obfs', 'obfsPassword', 'sni', 'skipCertVerify'], {
389
- keyFormat: 'kebabCase',
390
- }),
391
- ...((clashConfig.clashCore === 'stash' ||
392
- clashConfig.clashCore === 'clash.meta') &&
393
- nodeConfig.portHopping
394
- ? {
395
- ports: nodeConfig.portHopping.replaceAll(';', ','),
396
- }
397
- : null),
398
- ...((clashConfig.clashCore === 'stash' ||
399
- clashConfig.clashCore === 'clash.meta') &&
400
- nodeConfig.portHoppingInterval
401
- ? {
402
- 'hop-interval': nodeConfig.portHoppingInterval,
403
- }
404
- : null),
405
- ...(nodeConfig.alpn ? { alpn: nodeConfig.alpn } : null),
406
- };
407
- case types_1.NodeTypeEnum.Wireguard:
408
- // istanbul ignore next
409
- if (nodeConfig.peers.length > 1) {
410
- logger.warn(`节点 ${nodeConfig.nodeName} 有多个 WireGuard Peer,然而 Stash 或 Clash 仅支持一个 Peer,因此只会使用第一个 Peer。`);
411
- }
412
- return {
413
- type: 'wireguard',
414
- name: nodeConfig.nodeName,
415
- 'private-key': nodeConfig.privateKey,
416
- ip: nodeConfig.selfIp,
417
- ...(nodeConfig.selfIpV6 ? { ipv6: nodeConfig.selfIpV6 } : null),
418
- ...(nodeConfig.mtu ? { mtu: nodeConfig.mtu } : null),
419
- ...(nodeConfig.dnsServers ? { dns: nodeConfig.dnsServers } : null),
420
- udp: true,
421
- // Peer
422
- server: (0, index_1.getHostnameFromHost)(nodeConfig.peers[0].endpoint),
423
- port: (0, index_1.getPortFromHost)(nodeConfig.peers[0].endpoint),
424
- 'public-key': nodeConfig.peers[0].publicKey,
425
- ...(nodeConfig.peers[0].presharedKey
426
- ? nodeConfig?.clashConfig?.clashCore === 'clash.meta'
427
- ? { 'pre-shared-key': nodeConfig.peers[0].presharedKey }
428
- : { 'preshared-key': nodeConfig.peers[0].presharedKey }
429
- : null),
430
- ...(nodeConfig.peers[0].reservedBits
431
- ? {
432
- reserved: nodeConfig.peers[0].reservedBits,
433
- }
434
- : null),
435
- };
436
- // istanbul ignore next
437
- default:
438
- logger.warn(`不支持为 Clash 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
439
- return null;
440
- }
441
- }
442
- function resolveVmessHttpHeadersFromSurgioConfig(headers) {
443
- return Object.keys(headers).reduce((acc, key) => {
444
- acc[key] = [headers[key]];
445
- return acc;
446
- }, {});
447
- }
448
- //# sourceMappingURL=clash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clash.js","sourceRoot":"","sources":["../../src/utils/clash.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from '../constant';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __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
- // 兼容 Gateway,后续删除
18
- __exportStar(require("../constant"), exports);
19
- //# sourceMappingURL=constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/utils/constant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kBAAkB;AAClB,8CAA2B"}
@@ -1,4 +0,0 @@
1
- /// <reference types="node" />
2
- import { RecordWithTtl } from 'dns';
3
- export declare const resolveDomain: (domain: string, timeout?: number) => Promise<ReadonlyArray<string>>;
4
- export declare const resolve4And6: (domain: string) => Promise<ReadonlyArray<RecordWithTtl>>;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolve4And6 = exports.resolveDomain = void 0;
7
- const dns_1 = require("dns");
8
- const logger_1 = require("@surgio/logger");
9
- const bluebird_1 = __importDefault(require("bluebird"));
10
- const cache_manager_1 = require("cache-manager");
11
- const ms_1 = __importDefault(require("ms"));
12
- const env_flag_1 = require("./env-flag");
13
- const domainCache = (0, cache_manager_1.caching)('memory', {
14
- ttl: (0, ms_1.default)('1d'),
15
- max: 5000,
16
- });
17
- const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:dns' });
18
- const resolveDomain = async (domain, timeout = (0, env_flag_1.getNetworkResolveTimeout)()) => {
19
- const cached = await (await domainCache).get(domain);
20
- if (cached) {
21
- return cached;
22
- }
23
- logger.debug(`try to resolve domain ${domain}`);
24
- const now = Date.now();
25
- const records = await bluebird_1.default.race([
26
- (0, exports.resolve4And6)(domain),
27
- bluebird_1.default.delay(timeout).then(() => []),
28
- ]);
29
- logger.debug(`resolved domain ${domain}: ${JSON.stringify(records)} ${Date.now() - now}ms`);
30
- if (records.length) {
31
- const address = records.map((item) => item.address);
32
- await (await domainCache).set(domain, address, records[0].ttl); // ttl is in seconds
33
- return address;
34
- }
35
- // istanbul ignore next
36
- return [];
37
- };
38
- exports.resolveDomain = resolveDomain;
39
- const resolve4And6 = async (domain) => {
40
- // istanbul ignore next
41
- function onErr() {
42
- return [];
43
- }
44
- const [ipv4, ipv6] = await Promise.all([
45
- dns_1.promises.resolve4(domain, { ttl: true }).catch(onErr),
46
- dns_1.promises.resolve6(domain, { ttl: true }).catch(onErr),
47
- ]);
48
- return [...ipv4, ...ipv6];
49
- };
50
- exports.resolve4And6 = resolve4And6;
51
- //# sourceMappingURL=dns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/utils/dns.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAoD;AACpD,2CAA6C;AAC7C,wDAA+B;AAC/B,iDAAuC;AACvC,4CAAmB;AAEnB,yCAAqD;AAErD,MAAM,WAAW,GAAG,IAAA,uBAAO,EAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC;IACb,GAAG,EAAE,IAAI;CACV,CAAC,CAAA;AACF,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAErD,MAAM,aAAa,GAAG,KAAK,EAChC,MAAc,EACd,UAAkB,IAAA,mCAAwB,GAAE,EACZ,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,GAAG,CAAW,MAAM,CAAC,CAAA;IAE9D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,IAAI,CAA+B;QAChE,IAAA,oBAAY,EAAC,MAAM,CAAC;QACpB,kBAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;KACvC,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,CACV,mBAAmB,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IACnD,IAAI,CAAC,GAAG,EAAE,GAAG,GACf,IAAI,CACL,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,oBAAoB;QACnF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,uBAAuB;IACvB,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AA9BY,QAAA,aAAa,iBA8BzB;AAEM,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAc,EACyB,EAAE;IACzC,uBAAuB;IACvB,SAAS,KAAK;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,cAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAChD,cAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;KACjD,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;AAC3B,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB"}
@@ -1,2 +0,0 @@
1
- import { PackageJson } from 'type-fest';
2
- export declare const generateDoctorInfo: (cwd: string, pjson: PackageJson) => Promise<ReadonlyArray<string>>;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateDoctorInfo = void 0;
7
- const path_1 = require("path");
8
- const util_1 = require("util");
9
- const check_node_version_1 = __importDefault(require("check-node-version"));
10
- const fs_extra_1 = require("fs-extra");
11
- const generateDoctorInfo = async (cwd, pjson) => {
12
- const doctorInfo = [];
13
- const checkInfo = await (0, util_1.promisify)(check_node_version_1.default)().catch(() => null);
14
- try {
15
- const gatewayPkg = await (0, fs_extra_1.readJSON)((0, path_1.join)(cwd, 'node_modules/@surgio/gateway/package.json'));
16
- doctorInfo.push(`@surgio/gateway: ${gatewayPkg.version}`);
17
- }
18
- catch (_) {
19
- // no catch
20
- }
21
- doctorInfo.push(`surgio: ${pjson.version} (${(0, path_1.join)(__dirname, '../..')})`);
22
- if (checkInfo) {
23
- Object.keys(checkInfo.versions).forEach((key) => {
24
- const version = checkInfo.versions[key].version;
25
- if (version) {
26
- if (key === 'node') {
27
- doctorInfo.push(`${key}: ${version} (${process.execPath})`);
28
- }
29
- else {
30
- doctorInfo.push(`${key}: ${version}`);
31
- }
32
- }
33
- });
34
- }
35
- return doctorInfo;
36
- };
37
- exports.generateDoctorInfo = generateDoctorInfo;
38
- //# sourceMappingURL=doctor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/utils/doctor.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA2B;AAC3B,+BAAgC;AAChC,4EAAsC;AACtC,uCAAmC;AAM5B,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAW,EACX,KAAkB,EACc,EAAE;IAClC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAS,EAAY,4BAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAEvE,IAAI,CAAC;QACH,MAAM,UAAU,GAAgB,MAAM,IAAA,mBAAQ,EAC5C,IAAA,WAAI,EAAC,GAAG,EAAE,2CAA2C,CAAC,CACvD,CAAA;QACD,UAAU,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW;IACb,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,OAAO,KAAK,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAEzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACnB,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;gBAC7D,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAhCY,QAAA,kBAAkB,sBAgC9B"}
@@ -1,9 +0,0 @@
1
- export declare const getNetworkTimeout: () => number;
2
- export declare const getNetworkResolveTimeout: () => number;
3
- export declare const getNetworkConcurrency: () => number;
4
- export declare const getNetworkRetry: () => number;
5
- export declare const getNetworkClashUA: () => string;
6
- export declare const getRemoteSnippetCacheMaxage: () => number;
7
- export declare const getProviderCacheMaxage: () => number;
8
- export declare const getIsGFWFree: () => boolean;
9
- export declare const getRenderedArtifactCacheMaxage: () => number;