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,236 +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.getLoonNodeNames = exports.getLoonNodes = void 0;
7
- const net_1 = require("net");
8
- const logger_1 = require("@surgio/logger");
9
- const lodash_1 = __importDefault(require("lodash"));
10
- const types_1 = require("../types");
11
- const constant_1 = require("../constant");
12
- const filters_1 = require("../filters");
13
- const index_1 = require("./index");
14
- const { httpFilter, httpsFilter, shadowsocksFilter, shadowsocksrFilter, trojanFilter, vmessFilter, wireguardFilter, vlessFilter, } = filters_1.internalFilters;
15
- const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:loon' });
16
- // https://nsloon.app/docs/Node/#%E8%8A%82%E7%82%B9%E6%A0%BC%E5%BC%8F
17
- const getLoonNodes = function (list, filter) {
18
- if (arguments.length === 2 && typeof filter === 'undefined') {
19
- throw new Error(constant_1.ERR_INVALID_FILTER);
20
- }
21
- const result = (0, filters_1.applyFilter)(list, filter)
22
- .map((nodeConfig) => {
23
- switch (nodeConfig.type) {
24
- case types_1.NodeTypeEnum.Shadowsocks: {
25
- const config = [
26
- `${nodeConfig.nodeName} = Shadowsocks`,
27
- nodeConfig.hostname,
28
- nodeConfig.port,
29
- nodeConfig.method,
30
- JSON.stringify(nodeConfig.password),
31
- ];
32
- if (nodeConfig.obfs) {
33
- if (['http', 'tls'].includes(nodeConfig.obfs)) {
34
- config.push(nodeConfig.obfs, nodeConfig.obfsHost || nodeConfig.hostname);
35
- }
36
- else {
37
- logger.warn(`不支持为 Loon 生成混淆为 ${nodeConfig.obfs} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
38
- return void 0;
39
- }
40
- }
41
- if (nodeConfig.tfo) {
42
- config.push('fast-open=true');
43
- }
44
- if (nodeConfig.udpRelay) {
45
- config.push('udp=true');
46
- }
47
- return config.join(',');
48
- }
49
- case types_1.NodeTypeEnum.Shadowsocksr: {
50
- const config = [
51
- `${nodeConfig.nodeName} = ShadowsocksR`,
52
- nodeConfig.hostname,
53
- nodeConfig.port,
54
- nodeConfig.method,
55
- JSON.stringify(nodeConfig.password),
56
- `protocol=${nodeConfig.protocol}`,
57
- `protocol-param=${nodeConfig.protoparam}`,
58
- `obfs=${nodeConfig.obfs}`,
59
- `obfs-param=${nodeConfig.obfsparam}`,
60
- ];
61
- if (nodeConfig.tfo) {
62
- config.push('fast-open=true');
63
- }
64
- if (nodeConfig.udpRelay) {
65
- config.push('udp=true');
66
- }
67
- return config.join(',');
68
- }
69
- case types_1.NodeTypeEnum.Vless:
70
- case types_1.NodeTypeEnum.Vmess: {
71
- if (!constant_1.LOON_SUPPORTED_VMESS_NETWORK.includes(nodeConfig.network)) {
72
- logger.warn(`Loon 不支持 ${nodeConfig.network} 的 ${nodeConfig.type.toUpperCase()} 节点,节点 ${nodeConfig.nodeName} 会被省略`);
73
- return void 0;
74
- }
75
- const config = [
76
- `${nodeConfig.nodeName} = ${nodeConfig.type === types_1.NodeTypeEnum.Vmess ? 'vmess' : 'VLESS'}`,
77
- nodeConfig.hostname,
78
- nodeConfig.port,
79
- ];
80
- if (nodeConfig.type === types_1.NodeTypeEnum.Vmess) {
81
- config.push(nodeConfig.method === 'auto'
82
- ? `chacha20-poly1305`
83
- : nodeConfig.method);
84
- }
85
- config.push(JSON.stringify(nodeConfig.uuid), `transport=${nodeConfig.network}`);
86
- if (nodeConfig.network === 'ws' && nodeConfig.wsOpts) {
87
- const obfsHost = (0, index_1.getHeader)(nodeConfig.wsOpts.headers, 'Host');
88
- config.push(`path=${nodeConfig.wsOpts.path || '/'}`);
89
- if (obfsHost) {
90
- config.push(`host=${obfsHost}`);
91
- }
92
- }
93
- if (nodeConfig.network === 'http' && nodeConfig.httpOpts) {
94
- const obfsHost = (0, index_1.getHeader)(nodeConfig.httpOpts.headers, 'Host');
95
- config.push(`path=${nodeConfig.httpOpts.path || '/'}`);
96
- if (obfsHost) {
97
- config.push(`host=${obfsHost}`);
98
- }
99
- // istanbul ignore next
100
- if (nodeConfig.httpOpts.method !== 'GET') {
101
- logger.warn(`Loon 不支持自定义 VMESS+HTTP 节点的 method 属性,节点 ${nodeConfig.nodeName} 可能不可用`);
102
- }
103
- }
104
- if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
105
- nodeConfig.type === types_1.NodeTypeEnum.Vless) {
106
- config.push(`over-tls=true`);
107
- if (nodeConfig.sni) {
108
- config.push(`tls-name=${nodeConfig.sni}`);
109
- }
110
- if (nodeConfig.skipCertVerify) {
111
- config.push(`skip-cert-verify=true`);
112
- }
113
- }
114
- return config.join(',');
115
- }
116
- case types_1.NodeTypeEnum.Trojan: {
117
- const config = [
118
- `${nodeConfig.nodeName} = trojan`,
119
- nodeConfig.hostname,
120
- nodeConfig.port,
121
- JSON.stringify(nodeConfig.password),
122
- `tls-name=${nodeConfig.sni || nodeConfig.hostname}`,
123
- `skip-cert-verify=${nodeConfig.skipCertVerify === true}`,
124
- ];
125
- if (nodeConfig.network === 'ws') {
126
- config.push('transport=ws', `path=${nodeConfig.wsPath || '/'}`);
127
- if (nodeConfig.wsHeaders) {
128
- if (lodash_1.default.get(nodeConfig, 'wsHeaders.host')) {
129
- config.push(`host=${nodeConfig.wsHeaders.host}`);
130
- }
131
- if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, 'host')).length > 0) {
132
- logger.warn(`Loon 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
133
- }
134
- }
135
- }
136
- if (nodeConfig.tfo) {
137
- config.push('fast-open=true');
138
- }
139
- if (nodeConfig.udpRelay) {
140
- config.push('udp=true');
141
- }
142
- return config.join(',');
143
- }
144
- case types_1.NodeTypeEnum.HTTPS: {
145
- const config = [
146
- `${nodeConfig.nodeName} = https`,
147
- nodeConfig.hostname,
148
- nodeConfig.port,
149
- nodeConfig.username /* istanbul ignore next */ || '',
150
- JSON.stringify(nodeConfig.password /* istanbul ignore next */ || ''),
151
- `tls-name=${nodeConfig.sni || nodeConfig.hostname}`,
152
- `skip-cert-verify=${nodeConfig.skipCertVerify === true}`,
153
- ];
154
- return config.join(',');
155
- }
156
- case types_1.NodeTypeEnum.HTTP:
157
- return [
158
- `${nodeConfig.nodeName} = http`,
159
- nodeConfig.hostname,
160
- nodeConfig.port,
161
- nodeConfig.username /* istanbul ignore next */ || '',
162
- JSON.stringify(nodeConfig.password /* istanbul ignore next */ || ''),
163
- ].join(',');
164
- case types_1.NodeTypeEnum.Wireguard: {
165
- const config = [
166
- `${nodeConfig.nodeName} = wireguard`,
167
- `interface-ip=${nodeConfig.selfIp}`,
168
- `private-key=${JSON.stringify(nodeConfig.privateKey)}`,
169
- ];
170
- const peers = [];
171
- if (nodeConfig.selfIpV6) {
172
- config.push(`interface-ipV6=${nodeConfig.selfIpV6}`);
173
- }
174
- if (nodeConfig.mtu) {
175
- config.push(`mtu=${nodeConfig.mtu}`);
176
- }
177
- if (nodeConfig.dnsServers) {
178
- for (const dns of nodeConfig.dnsServers) {
179
- if ((0, net_1.isIPv4)(dns)) {
180
- config.push(`dns=${dns}`);
181
- }
182
- else {
183
- config.push(`dnsV6=${dns}`);
184
- }
185
- }
186
- }
187
- if (nodeConfig.peers[0].keepalive) {
188
- config.push(`keepalive=${nodeConfig.peers[0].keepalive}`);
189
- }
190
- for (const peer of nodeConfig.peers) {
191
- const peerConfig = [
192
- `public-key=${JSON.stringify(peer.publicKey)}`,
193
- `endpoint=${peer.endpoint}`,
194
- ];
195
- if (peer.allowedIps) {
196
- peerConfig.push(`allowed-ips=${JSON.stringify(peer.allowedIps)}`);
197
- }
198
- if (peer.presharedKey) {
199
- peerConfig.push(`preshared-key=${JSON.stringify(peer.presharedKey)}`);
200
- }
201
- if (peer.reservedBits) {
202
- peerConfig.push(`reserved=${JSON.stringify(peer.reservedBits)}`);
203
- }
204
- peers.push(`{${peerConfig.join(',')}}`);
205
- }
206
- config.push(`peers=[${peers.join(',')}]`);
207
- return config.join(',');
208
- }
209
- // istanbul ignore next
210
- default:
211
- logger.warn(`不支持为 Loon 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
212
- return void 0;
213
- }
214
- })
215
- .filter((item) => item !== undefined);
216
- return result.join('\n');
217
- };
218
- exports.getLoonNodes = getLoonNodes;
219
- const getLoonNodeNames = function (list, filter, separator) {
220
- // istanbul ignore next
221
- if (arguments.length === 2 && typeof filter === 'undefined') {
222
- throw new Error(constant_1.ERR_INVALID_FILTER);
223
- }
224
- return (0, filters_1.applyFilter)(list.filter((item) => shadowsocksFilter(item) ||
225
- shadowsocksrFilter(item) ||
226
- vmessFilter(item) ||
227
- httpFilter(item) ||
228
- httpsFilter(item) ||
229
- trojanFilter(item) ||
230
- wireguardFilter(item) ||
231
- vlessFilter(item)), filter)
232
- .map((item) => item.nodeName)
233
- .join(separator || ', ');
234
- };
235
- exports.getLoonNodeNames = getLoonNodeNames;
236
- //# sourceMappingURL=loon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loon.js","sourceRoot":"","sources":["../../src/utils/loon.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
2
- /**
3
- * @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
4
- */
5
- export declare const getQuantumultXNodes: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
6
- export declare const getQuantumultXNodeNames: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
@@ -1,240 +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.getQuantumultXNodeNames = exports.getQuantumultXNodes = 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:quantumult' });
14
- /**
15
- * @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
16
- */
17
- const getQuantumultXNodes = function (nodeList, filter) {
18
- const result = (0, filters_1.applyFilter)(nodeList, filter)
19
- .map(nodeListMapper)
20
- .filter((item) => item !== undefined)
21
- .map((item) => item[1]);
22
- return result.join('\n');
23
- };
24
- exports.getQuantumultXNodes = getQuantumultXNodes;
25
- const getQuantumultXNodeNames = function (nodeList, filter) {
26
- return (0, filters_1.applyFilter)(nodeList, filter)
27
- .map(nodeListMapper)
28
- .filter((item) => item !== undefined)
29
- .map((item) => item[0])
30
- .join(', ');
31
- };
32
- exports.getQuantumultXNodeNames = getQuantumultXNodeNames;
33
- function nodeListMapper(nodeConfig) {
34
- switch (nodeConfig.type) {
35
- case types_1.NodeTypeEnum.Vless:
36
- case types_1.NodeTypeEnum.Vmess: {
37
- if (!constant_1.QUANTUMULT_X_SUPPORTED_VMESS_NETWORK.includes(nodeConfig.network)) {
38
- logger.warn(`Quantumult X 不支持 ${nodeConfig.network} 的 Vmess 节点,节点 ${nodeConfig.nodeName} 会被省略`);
39
- return void 0;
40
- }
41
- const config = [
42
- `${nodeConfig.hostname}:${nodeConfig.port}`,
43
- // method 为 auto 时 qx 会无法识别
44
- nodeConfig.method === 'auto'
45
- ? `method=chacha20-poly1305`
46
- : `method=${nodeConfig.method}`,
47
- `password=${nodeConfig.uuid}`,
48
- ...(nodeConfig.udpRelay ? ['udp-relay=true'] : []),
49
- ...(nodeConfig.tfo ? ['fast-open=true'] : []),
50
- ...(nodeConfig.quantumultXConfig?.vmessAEAD ? ['aead=true'] : []),
51
- ];
52
- switch (nodeConfig.network) {
53
- case 'ws':
54
- if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
55
- nodeConfig.type === types_1.NodeTypeEnum.Vless) {
56
- config.push(`obfs=wss`);
57
- // istanbul ignore next
58
- if (nodeConfig.skipCertVerify) {
59
- config.push('tls-verification=false');
60
- }
61
- // istanbul ignore next
62
- if (nodeConfig.tls13) {
63
- config.push(`tls13=true`);
64
- }
65
- }
66
- else {
67
- config.push(`obfs=ws`);
68
- }
69
- if (nodeConfig.wsOpts) {
70
- const obfsHost = (0, index_1.getHeader)(nodeConfig.wsOpts.headers, 'Host');
71
- config.push(`obfs-uri=${nodeConfig.wsOpts.path || '/'}`);
72
- if (obfsHost) {
73
- config.push(`obfs-host=${obfsHost}`);
74
- }
75
- }
76
- break;
77
- case 'tcp':
78
- if ((nodeConfig.type === types_1.NodeTypeEnum.Vmess && nodeConfig.tls) ||
79
- nodeConfig.type === types_1.NodeTypeEnum.Vless) {
80
- config.push(`obfs=over-tls`);
81
- if (nodeConfig.skipCertVerify) {
82
- config.push('tls-verification=false');
83
- }
84
- else {
85
- config.push('tls-verification=true');
86
- }
87
- // istanbul ignore next
88
- if (nodeConfig.tls13) {
89
- config.push(`tls13=true`);
90
- }
91
- }
92
- break;
93
- case 'http':
94
- if (nodeConfig.httpOpts) {
95
- const obfsHost = (0, index_1.getHeader)(nodeConfig.httpOpts.headers, 'Host');
96
- config.push('obfs=http', `obfs-uri=${nodeConfig.httpOpts.path || '/'}`);
97
- if (obfsHost) {
98
- config.push(`obfs-host=${obfsHost}`);
99
- }
100
- }
101
- }
102
- if (typeof nodeConfig.testUrl === 'string') {
103
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
104
- }
105
- config.push(`tag=${nodeConfig.nodeName}`);
106
- // istanbul ignore next
107
- if (nodeConfig.wsOpts?.headers &&
108
- Object.keys(nodeConfig.wsOpts.headers).length > 1) {
109
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
110
- }
111
- return [nodeConfig.nodeName, `${nodeConfig.type}=${config.join(', ')}`];
112
- }
113
- case types_1.NodeTypeEnum.Shadowsocks: {
114
- const config = [
115
- `${nodeConfig.hostname}:${nodeConfig.port}`,
116
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
117
- ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
118
- ? [`obfs=${nodeConfig.obfs}`, `obfs-host=${nodeConfig.obfsHost}`]
119
- : []),
120
- ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
121
- ? [
122
- `obfs=${nodeConfig.obfs}`,
123
- `obfs-host=${nodeConfig.obfsHost || nodeConfig.hostname}`,
124
- `obfs-uri=${nodeConfig.obfsUri || '/'}`,
125
- ]
126
- : []),
127
- ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
128
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
129
- ];
130
- if (nodeConfig.obfs === 'wss') {
131
- if (nodeConfig.skipCertVerify) {
132
- config.push('tls-verification=false');
133
- }
134
- else {
135
- config.push('tls-verification=true');
136
- }
137
- if (nodeConfig.tls13) {
138
- config.push('tls13=true');
139
- }
140
- }
141
- // istanbul ignore next
142
- if (nodeConfig.wsHeaders &&
143
- Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
144
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
145
- }
146
- if (typeof nodeConfig.testUrl === 'string') {
147
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
148
- }
149
- config.push(`tag=${nodeConfig.nodeName}`);
150
- return [nodeConfig.nodeName, `shadowsocks=${config.join(', ')}`];
151
- }
152
- case types_1.NodeTypeEnum.Shadowsocksr: {
153
- const config = [
154
- `${nodeConfig.hostname}:${nodeConfig.port}`,
155
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
156
- `ssr-protocol=${nodeConfig.protocol}`,
157
- `ssr-protocol-param=${nodeConfig.protoparam}`,
158
- `obfs=${nodeConfig.obfs}`,
159
- `obfs-host=${nodeConfig.obfsparam}`,
160
- ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
161
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
162
- ...(typeof nodeConfig.testUrl === 'string'
163
- ? [`server_check_url=${nodeConfig.testUrl}`]
164
- : []),
165
- `tag=${nodeConfig.nodeName}`,
166
- ].join(', ');
167
- return [nodeConfig.nodeName, `shadowsocks=${config}`];
168
- }
169
- case types_1.NodeTypeEnum.HTTP:
170
- case types_1.NodeTypeEnum.HTTPS: {
171
- const config = [
172
- `${nodeConfig.hostname}:${nodeConfig.port}`,
173
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
174
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
175
- ];
176
- if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
177
- config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
178
- }
179
- if (typeof nodeConfig.testUrl === 'string') {
180
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
181
- }
182
- config.push(`tag=${nodeConfig.nodeName}`);
183
- return [nodeConfig.nodeName, `http=${config.join(', ')}`];
184
- }
185
- case types_1.NodeTypeEnum.Trojan: {
186
- const config = [
187
- `${nodeConfig.hostname}:${nodeConfig.port}`,
188
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
189
- `tls-verification=${nodeConfig.skipCertVerify !== true}`,
190
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
191
- ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
192
- ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
193
- ];
194
- if (nodeConfig.network === 'ws') {
195
- /**
196
- * The obfs field is only supported with websocket over tls for trojan. When using websocket over
197
- * tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
198
- * obfs-host options.
199
- */
200
- config.push('obfs=wss');
201
- if (nodeConfig.wsPath) {
202
- config.push(`obfs-uri=${nodeConfig.wsPath}`);
203
- }
204
- const hostHeader = nodeConfig?.wsHeaders?.host;
205
- const sni = nodeConfig.sni;
206
- if (sni) {
207
- config.push(`obfs-host=${sni}`);
208
- }
209
- else if (hostHeader) {
210
- config.push(`obfs-host=${hostHeader}`);
211
- }
212
- if (sni && hostHeader) {
213
- logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
214
- }
215
- if (nodeConfig?.wsHeaders) {
216
- // istanbul ignore next
217
- if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
218
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
219
- }
220
- }
221
- }
222
- else {
223
- config.push('over-tls=true');
224
- if (nodeConfig.sni) {
225
- config.push(`tls-host=${nodeConfig.sni}`);
226
- }
227
- }
228
- if (typeof nodeConfig.testUrl === 'string') {
229
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
230
- }
231
- config.push(`tag=${nodeConfig.nodeName}`);
232
- return [nodeConfig.nodeName, `trojan=${config.join(', ')}`];
233
- }
234
- // istanbul ignore next
235
- default:
236
- logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
237
- return void 0;
238
- }
239
- }
240
- //# sourceMappingURL=quantumult.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quantumult.js","sourceRoot":"","sources":["../../src/utils/quantumult.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export default function relayableUrl(url: string, relayUrl?: string): string;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function relayableUrl(url, relayUrl) {
4
- if (typeof relayUrl === 'string') {
5
- if (relayUrl.includes('%%URL%%')) {
6
- return relayUrl.replace('%%URL%%', encodeURIComponent(url));
7
- }
8
- else if (relayUrl.includes('%URL%')) {
9
- return relayUrl.replace('%URL%', url);
10
- }
11
- else {
12
- throw new Error('relayUrl 中必须包含 %URL% 或 %%URL%% 替换指示符');
13
- }
14
- }
15
- return url;
16
- }
17
- exports.default = relayableUrl;
18
- //# sourceMappingURL=relayable-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relayable-url.js","sourceRoot":"","sources":["../../src/utils/relayable-url.ts"],"names":[],"mappings":";;AAAA,SAAwB,YAAY,CAAC,GAAW,EAAE,QAAiB;IACjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAXD,+BAWC"}
@@ -1,8 +0,0 @@
1
- import { RemoteSnippet, RemoteSnippetConfig } from '../types';
2
- export declare const parseMacro: (snippet: string) => {
3
- functionName: string;
4
- arguments: string[];
5
- };
6
- export declare const addProxyToSurgeRuleSet: (str: string, proxyName?: string) => string;
7
- export declare const renderSurgioSnippet: (str: string, args: string[]) => string;
8
- export declare const loadRemoteSnippetList: (remoteSnippetList: ReadonlyArray<RemoteSnippetConfig>, cacheSnippet?: boolean) => Promise<ReadonlyArray<RemoteSnippet>>;