surgio 4.0.0-beta.4 → 4.0.0-beta.5

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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://surgio.js.org/" target="_blank">
3
- <img width="180" src="docs/.vuepress/public/surgio-icon.png" alt="logo">
3
+ <img width="180" src="website/static/surgio-icon.png" alt="logo">
4
4
  </a>
5
5
  </p>
6
6
 
@@ -22,13 +22,16 @@
22
22
  [github-actions-image]: https://github.com/surgioproject/surgio/workflows/Node%20CI/badge.svg
23
23
  [nodejs-version]: https://img.shields.io/node/v/surgio
24
24
 
25
+ > [!WARNING]
26
+ > Surgio v4 正在 beta 测试。v3 版本的文档在 [v3.surgio.royli.dev](https://v3.surgio.royli.dev/)。
27
+
25
28
  ## 文档
26
29
 
27
30
  查看完整使用文档,前往 [surgio.js.org](https://surgio.js.org)。
28
31
 
29
32
  ## 交流
30
33
 
31
- [<img width="200px" src="docs/.vuepress/public/join-telegram.png" />](https://url.royli.dev/surgiotg)
34
+ [<img width="200px" src="website/static/join-telegram.png" />](https://url.royli.dev/surgiotg)
32
35
 
33
36
  ## Sponsors
34
37
 
@@ -75,6 +75,12 @@ export declare class Artifact extends EventEmitter {
75
75
  readonly getSingboxEndpoints: typeof import("../utils/singbox.js").getSingboxEndpoints;
76
76
  readonly getSingboxRules: (ruleText: string, outbound?: string) => import("../utils/singbox-rules.js").SingboxRouteRule[];
77
77
  readonly getSingboxHeadlessRules: (ruleText: string) => import("../utils/singbox-rules.js").SingboxHeadlessRule[];
78
+ readonly getEgernNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => readonly {
79
+ [x: string]: {
80
+ [x: string]: any;
81
+ };
82
+ }[];
83
+ readonly getEgernNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => readonly string[];
78
84
  readonly getSurgeNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
79
85
  readonly getSurgeNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
80
86
  readonly getSurgeTailscaleNodes: typeof import("../utils/surge.js").getSurgeTailscaleNodes;
package/build/index.d.ts CHANGED
@@ -55,6 +55,7 @@ export declare const utils: {
55
55
  readonly isQuantumultX: (ua: string | undefined, version?: string) => boolean;
56
56
  readonly isShadowrocket: (ua: string | undefined, version?: string) => boolean;
57
57
  readonly isLoon: (ua: string | undefined, version?: string) => boolean;
58
+ readonly isEgern: (ua: string | undefined, version?: string) => boolean;
58
59
  readonly isHeroku: typeof isHeroku;
59
60
  readonly isNow: typeof isNow;
60
61
  readonly isVercel: typeof isVercel;
@@ -52,6 +52,7 @@ export declare const utils: {
52
52
  readonly isQuantumultX: (ua: string | undefined, version?: string) => boolean;
53
53
  readonly isShadowrocket: (ua: string | undefined, version?: string) => boolean;
54
54
  readonly isLoon: (ua: string | undefined, version?: string) => boolean;
55
+ readonly isEgern: (ua: string | undefined, version?: string) => boolean;
55
56
  };
56
57
  export declare const categories: {
57
58
  readonly SNIPPET: 'Snippet';
@@ -87,6 +87,12 @@ export declare const createArtifactRenderContext: (options: {
87
87
  readonly getSingboxEndpoints: typeof getSingboxEndpoints;
88
88
  readonly getSingboxRules: (ruleText: string, outbound?: string) => import("../utils/singbox-rules.js").SingboxRouteRule[];
89
89
  readonly getSingboxHeadlessRules: (ruleText: string) => import("../utils/singbox-rules.js").SingboxHeadlessRule[];
90
+ readonly getEgernNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => readonly {
91
+ [x: string]: {
92
+ [x: string]: any;
93
+ };
94
+ }[];
95
+ readonly getEgernNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => readonly string[];
90
96
  readonly getSurgeNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
91
97
  readonly getSurgeNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
92
98
  readonly getSurgeTailscaleNodes: typeof getSurgeTailscaleNodes;
@@ -3,6 +3,7 @@ import CustomProvider from '../provider/CustomProvider.js';
3
3
  import { NodeTypeEnum, SupportProviderEnum } from '../types.js';
4
4
  import { prependFlag, removeFlag } from '../utils/flag.js';
5
5
  import { getClashNodeNames, getClashNodes } from '../utils/clash.js';
6
+ import { getEgernNodeNames, getEgernNodes } from '../utils/egern.js';
6
7
  import { getLoonNodeNames, getLoonNodes } from '../utils/loon.js';
7
8
  import { getDownloadUrl, getNodeNames, getShadowsocksNodes, getShadowsocksrNodes, getUrl, isIp, toBase64, toUrlSafeBase64, } from '../utils/portable.js';
8
9
  import { getQuantumultXNodeNames, getQuantumultXNodes, } from '../utils/quantumult.js';
@@ -205,6 +206,8 @@ export const createArtifactRenderContext = (options) => {
205
206
  getSingboxHeadlessRules: (ruleText) => convertRulesToSingboxHeadless(ruleText, {
206
207
  onUnsupported: onUnsupportedSingboxRule,
207
208
  }),
209
+ getEgernNodes: bindFormatter(getEgernNodes),
210
+ getEgernNodeNames: bindFilterAwareFormatter(getEgernNodeNames),
208
211
  getSurgeNodes: bindFormatter(getSurgeNodes),
209
212
  getSurgeNodeNames: bindFormatter(getSurgeNodeNames),
210
213
  getSurgeTailscaleNodes,
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/runtime/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/runtime/artifact.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { logger as defaultLogger } from '@surgio/logger';
3
3
  import { applyFilter } from '../filters/index.js';
4
4
  import { NodeTypeEnum } from '../types.js';
5
5
  import { getClashNodes } from '../utils/clash.js';
6
+ import { getEgernNodes } from '../utils/egern.js';
6
7
  import { getLoonNodes } from '../utils/loon.js';
7
8
  import { getShadowsocksNodes, getShadowsocksrNodes } from '../utils/portable.js';
8
9
  import { getQuantumultXNodes } from '../utils/quantumult.js';
@@ -65,6 +66,8 @@ export const formatProviderNodes = (format, nodeList, filter, options = {}) => {
65
66
  case 'clash':
66
67
  case 'clash-provider':
67
68
  return YAML.stringify({ proxies: callFormatter(getClashNodes, options) });
69
+ case 'egern':
70
+ return YAML.stringify({ proxies: callFormatter(getEgernNodes, options) });
68
71
  case 'singbox':
69
72
  return JSON.stringify({
70
73
  outbounds: callFormatter(getSingboxNodes, options),
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Logger } from '@surgio/logger';
2
2
  import type { TtlCache } from '../cache/core.js';
3
3
  import type { ArtifactConfig, NodeFilterType, SortedNodeFilterType, SubscriptionUserinfo } from '../types.js';
4
4
  import type { RuntimeDomainResolver, RuntimeNetworkOptions } from './types.js';
5
- export type ProviderFormat = 'clash' | 'clash-provider' | 'loon' | 'quantumultx' | 'shadowsocks' | 'shadowsocksr' | 'singbox' | 'surfboard' | 'surge' | 'v2rayn';
5
+ export type ProviderFormat = 'clash' | 'clash-provider' | 'egern' | 'loon' | 'quantumultx' | 'shadowsocks' | 'shadowsocksr' | 'singbox' | 'surfboard' | 'surge' | 'v2rayn';
6
6
  export interface RenderArtifactOptions {
7
7
  readonly customParams?: Readonly<Record<string, unknown>>;
8
8
  readonly downloadUrl?: string;
@@ -0,0 +1,7 @@
1
+ import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types.js';
2
+ import type { FormatterOptions } from '../runtime/types.js';
3
+ type EgernConfig = Record<string, any>;
4
+ type EgernNode = Record<string, EgernConfig>;
5
+ export declare const getEgernNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType, options?: FormatterOptions) => ReadonlyArray<EgernNode>;
6
+ export declare const getEgernNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType, options?: FormatterOptions) => ReadonlyArray<string>;
7
+ export {};
@@ -0,0 +1,362 @@
1
+ import { logger as defaultLogger } from '@surgio/logger';
2
+ import { ERR_INVALID_FILTER } from '../constant/index.js';
3
+ import { applyFilter } from '../filters/index.js';
4
+ import { NodeTypeEnum, } from '../types.js';
5
+ import { checkNotNullish, getHeader } from './portable.js';
6
+ const SNELL_MAX_VERSION = 5;
7
+ const TFO_TYPES = new Set([
8
+ NodeTypeEnum.Shadowsocks,
9
+ NodeTypeEnum.Snell,
10
+ NodeTypeEnum.Trojan,
11
+ NodeTypeEnum.AnyTLS,
12
+ NodeTypeEnum.Socks5,
13
+ NodeTypeEnum.HTTP,
14
+ NodeTypeEnum.HTTPS,
15
+ NodeTypeEnum.Vmess,
16
+ NodeTypeEnum.Vless,
17
+ ]);
18
+ const UDP_RELAY_TYPES = new Set([
19
+ NodeTypeEnum.Shadowsocks,
20
+ NodeTypeEnum.Snell,
21
+ NodeTypeEnum.Trojan,
22
+ NodeTypeEnum.AnyTLS,
23
+ NodeTypeEnum.Socks5,
24
+ NodeTypeEnum.Vmess,
25
+ NodeTypeEnum.Vless,
26
+ ]);
27
+ const SHADOW_TLS_TYPES = new Set([
28
+ NodeTypeEnum.Shadowsocks,
29
+ NodeTypeEnum.Trojan,
30
+ NodeTypeEnum.AnyTLS,
31
+ NodeTypeEnum.Socks5,
32
+ NodeTypeEnum.HTTP,
33
+ NodeTypeEnum.HTTPS,
34
+ NodeTypeEnum.Vmess,
35
+ NodeTypeEnum.Vless,
36
+ ]);
37
+ const NO_BLOCK_QUIC_TYPES = new Set([
38
+ NodeTypeEnum.HTTP,
39
+ NodeTypeEnum.HTTPS,
40
+ ]);
41
+ // Surgio 的 ipVersion 同时沿用 Surge 和 Mihomo 两套取值
42
+ const IP_VERSION_MAP = new Map([
43
+ ['dual', 'dual_stack'],
44
+ ['dual_stack', 'dual_stack'],
45
+ ['v4-only', 'v4_only'],
46
+ ['ipv4', 'v4_only'],
47
+ ['v4_only', 'v4_only'],
48
+ ['v6-only', 'v6_only'],
49
+ ['ipv6', 'v6_only'],
50
+ ['v6_only', 'v6_only'],
51
+ ['prefer-v4', 'v4_prefer'],
52
+ ['ipv4-prefer', 'v4_prefer'],
53
+ ['v4_prefer', 'v4_prefer'],
54
+ ['prefer-v6', 'v6_prefer'],
55
+ ['ipv6-prefer', 'v6_prefer'],
56
+ ['v6_prefer', 'v6_prefer'],
57
+ ]);
58
+ export const getEgernNodes = function (list, filter, options = {}) {
59
+ const logger = options.logger ?? defaultLogger;
60
+ return applyFilter(list, filter)
61
+ .map((nodeConfig) => nodeListMapper(nodeConfig, logger))
62
+ .filter((item) => checkNotNullish(item));
63
+ };
64
+ export const getEgernNodeNames = function (list, filter, options = {}) {
65
+ if (arguments.length === 2 && typeof filter === 'undefined') {
66
+ throw new Error(ERR_INVALID_FILTER);
67
+ }
68
+ return getEgernNodes(list, filter, options).map((item) => Object.values(item)[0].name);
69
+ };
70
+ /**
71
+ * @see https://egernapp.com/docs/configuration/proxies
72
+ */
73
+ function nodeListMapper(nodeConfig, logger) {
74
+ const mapper = protocolMappers[nodeConfig.type];
75
+ if (!mapper) {
76
+ logger.warn(`不支持为 Egern 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被忽略`);
77
+ return null;
78
+ }
79
+ const reject = (feature) => {
80
+ logger.warn(`Egern 不支持 ${feature},节点 ${nodeConfig.nodeName} 会被忽略`);
81
+ return null;
82
+ };
83
+ const protocolConfig = mapper(nodeConfig, reject);
84
+ const commonConfig = protocolConfig && getCommonConfig(nodeConfig, logger, reject);
85
+ if (!protocolConfig || !commonConfig) {
86
+ return null;
87
+ }
88
+ const serverConfig = 'hostname' in nodeConfig && 'port' in nodeConfig
89
+ ? { server: nodeConfig.hostname, port: Number(nodeConfig.port) }
90
+ : {};
91
+ return {
92
+ [getEgernType(nodeConfig)]: prune({
93
+ name: nodeConfig.nodeName,
94
+ ...serverConfig,
95
+ ...protocolConfig,
96
+ ...commonConfig,
97
+ }),
98
+ };
99
+ }
100
+ const protocolMappers = {
101
+ [NodeTypeEnum.Shadowsocks]: (nodeConfig, reject) => {
102
+ if (nodeConfig.obfs && !['http', 'tls'].includes(nodeConfig.obfs)) {
103
+ return reject(`Shadowsocks 的 ${nodeConfig.obfs} 混淆`);
104
+ }
105
+ return {
106
+ method: nodeConfig.method,
107
+ password: nodeConfig.password,
108
+ ...(nodeConfig.obfs && {
109
+ obfs: nodeConfig.obfs,
110
+ obfs_host: nodeConfig.obfsHost,
111
+ obfs_uri: nodeConfig.obfsUri,
112
+ }),
113
+ };
114
+ },
115
+ [NodeTypeEnum.Snell]: (nodeConfig, reject) => {
116
+ const version = nodeConfig.version === undefined ? undefined : Number(nodeConfig.version);
117
+ if (version !== undefined && version > SNELL_MAX_VERSION) {
118
+ return reject(`Snell v${version}`);
119
+ }
120
+ return {
121
+ psk: nodeConfig.psk,
122
+ version,
123
+ reuse: nodeConfig.reuse,
124
+ obfs: nodeConfig.obfs,
125
+ obfs_host: nodeConfig.obfs ? nodeConfig.obfsHost : undefined,
126
+ };
127
+ },
128
+ [NodeTypeEnum.Trojan]: (nodeConfig) => ({
129
+ password: nodeConfig.password,
130
+ ...getTlsConfig(nodeConfig),
131
+ websocket: nodeConfig.network === 'ws'
132
+ ? {
133
+ path: nodeConfig.wsPath || '/',
134
+ host: getHeader(nodeConfig.wsHeaders, 'host'),
135
+ }
136
+ : undefined,
137
+ }),
138
+ [NodeTypeEnum.AnyTLS]: (nodeConfig) => ({
139
+ password: nodeConfig.password,
140
+ ...getTlsConfig(nodeConfig),
141
+ // Egern 的 AnyTLS 未设置时默认跳过证书校验,这里保持 Surgio 默认校验的语义
142
+ skip_tls_verify: nodeConfig.skipCertVerify ?? false,
143
+ reality: getRealityConfig(nodeConfig.realityOpts),
144
+ }),
145
+ [NodeTypeEnum.Hysteria2]: (nodeConfig) => ({
146
+ auth: nodeConfig.password,
147
+ ...getTlsConfig(nodeConfig),
148
+ obfs: nodeConfig.obfs,
149
+ obfs_password: nodeConfig.obfsPassword,
150
+ ...getPortHoppingConfig(nodeConfig),
151
+ bandwidth: nodeConfig.uploadBandwidth,
152
+ }),
153
+ [NodeTypeEnum.Tuic]: (nodeConfig, reject) => {
154
+ if (!('uuid' in nodeConfig)) {
155
+ return reject('TUIC v4');
156
+ }
157
+ return {
158
+ uuid: nodeConfig.uuid,
159
+ password: nodeConfig.password,
160
+ alpn: nodeConfig.alpn,
161
+ ...getTlsConfig(nodeConfig),
162
+ ...getPortHoppingConfig(nodeConfig),
163
+ };
164
+ },
165
+ [NodeTypeEnum.Socks5]: (nodeConfig) => ({
166
+ username: nodeConfig.username,
167
+ password: nodeConfig.password,
168
+ ...(nodeConfig.tls && getTlsConfig(nodeConfig)),
169
+ }),
170
+ [NodeTypeEnum.HTTP]: (nodeConfig) => ({
171
+ username: nodeConfig.username,
172
+ password: nodeConfig.password,
173
+ headers: nodeConfig.headers,
174
+ }),
175
+ [NodeTypeEnum.HTTPS]: (nodeConfig) => ({
176
+ username: nodeConfig.username,
177
+ password: nodeConfig.password,
178
+ headers: nodeConfig.headers,
179
+ ...getTlsConfig(nodeConfig),
180
+ }),
181
+ [NodeTypeEnum.Vmess]: (nodeConfig, reject) => {
182
+ const transport = getTransport(nodeConfig, Boolean(nodeConfig.tls), reject);
183
+ if (transport === null) {
184
+ return null;
185
+ }
186
+ return {
187
+ user_id: nodeConfig.uuid,
188
+ security: nodeConfig.method,
189
+ // alterId 大于 0 时服务端使用旧版 MD5 认证
190
+ legacy: Number(nodeConfig.alterId) > 0 || undefined,
191
+ transport,
192
+ };
193
+ },
194
+ [NodeTypeEnum.Vless]: (nodeConfig, reject) => {
195
+ if (nodeConfig.encryption && nodeConfig.encryption !== 'none') {
196
+ return reject(`VLESS encryption=${nodeConfig.encryption}`);
197
+ }
198
+ const transport = getTransport(nodeConfig, true, reject);
199
+ if (transport === null) {
200
+ return null;
201
+ }
202
+ return { user_id: nodeConfig.uuid, flow: nodeConfig.flow, transport };
203
+ },
204
+ [NodeTypeEnum.Wireguard]: (nodeConfig, reject) => {
205
+ if (nodeConfig.peers.length > 1) {
206
+ return reject('WireGuard 多 Peer');
207
+ }
208
+ const [peer] = nodeConfig.peers;
209
+ return {
210
+ ...parseWireguardEndpoint(peer.endpoint),
211
+ private_key: nodeConfig.privateKey,
212
+ peer_public_key: peer.publicKey,
213
+ preshared_key: peer.presharedKey,
214
+ reserved: peer.reservedBits ?? nodeConfig.reservedBits,
215
+ local_ipv4: `${nodeConfig.selfIp}/32`,
216
+ local_ipv6: nodeConfig.selfIpV6 && `${nodeConfig.selfIpV6}/128`,
217
+ dns_servers: nodeConfig.dnsServers,
218
+ mtu: nodeConfig.mtu,
219
+ keepalive: peer.keepalive,
220
+ };
221
+ },
222
+ };
223
+ function getEgernType(nodeConfig) {
224
+ if (nodeConfig.type === NodeTypeEnum.Socks5 && nodeConfig.tls) {
225
+ return 'socks5_tls';
226
+ }
227
+ return nodeConfig.type;
228
+ }
229
+ function getCommonConfig(nodeConfig, logger, reject) {
230
+ const { type } = nodeConfig;
231
+ if (nodeConfig.shadowTls && !SHADOW_TLS_TYPES.has(type)) {
232
+ return reject(`${type} 节点的 ShadowTLS`);
233
+ }
234
+ return {
235
+ tfo: TFO_TYPES.has(type) ? nodeConfig.tfo : undefined,
236
+ udp_relay: UDP_RELAY_TYPES.has(type) && 'udpRelay' in nodeConfig
237
+ ? nodeConfig.udpRelay
238
+ : undefined,
239
+ block_quic: NO_BLOCK_QUIC_TYPES.has(type)
240
+ ? undefined
241
+ : getBlockQuic(nodeConfig.blockQuic),
242
+ prev_hop: nodeConfig.underlyingProxy,
243
+ ip_version: getIpVersion(nodeConfig, logger),
244
+ shadow_tls: nodeConfig.shadowTls && {
245
+ password: nodeConfig.shadowTls.password,
246
+ sni: nodeConfig.shadowTls.sni,
247
+ },
248
+ };
249
+ }
250
+ function getBlockQuic(blockQuic) {
251
+ if (blockQuic === 'on')
252
+ return true;
253
+ if (blockQuic === 'off')
254
+ return false;
255
+ return undefined;
256
+ }
257
+ function getIpVersion(nodeConfig, logger) {
258
+ if (!nodeConfig.ipVersion) {
259
+ return undefined;
260
+ }
261
+ const ipVersion = IP_VERSION_MAP.get(nodeConfig.ipVersion);
262
+ if (!ipVersion) {
263
+ logger.warn(`Egern 不支持 ipVersion=${nodeConfig.ipVersion},节点 ${nodeConfig.nodeName} 将不包含此字段`);
264
+ }
265
+ return ipVersion;
266
+ }
267
+ function getTlsConfig(nodeConfig) {
268
+ return {
269
+ sni: nodeConfig.sni,
270
+ skip_tls_verify: nodeConfig.skipCertVerify,
271
+ fingerprint_sha256: nodeConfig.serverCertFingerprintSha256,
272
+ };
273
+ }
274
+ function getRealityConfig(realityOpts) {
275
+ return (realityOpts && {
276
+ public_key: realityOpts.publicKey,
277
+ short_id: realityOpts.shortId,
278
+ });
279
+ }
280
+ function getPortHoppingConfig(nodeConfig) {
281
+ return {
282
+ // 校验器把逗号改写成了 Surge 使用的分号,Egern 需要逗号
283
+ port_hopping: nodeConfig.portHopping?.replaceAll(';', ','),
284
+ port_hopping_interval: nodeConfig.portHoppingInterval,
285
+ };
286
+ }
287
+ /**
288
+ * Egern 的 http1 传输不支持 TLS,http2 和 grpc 始终使用 TLS。
289
+ *
290
+ * @see https://egernapp.com/docs/configuration/proxies#vmess-transport
291
+ */
292
+ function getTransport(nodeConfig, secure, reject) {
293
+ const { network } = nodeConfig;
294
+ const tlsConfig = getTlsConfig(nodeConfig);
295
+ const reality = 'realityOpts' in nodeConfig
296
+ ? getRealityConfig(nodeConfig.realityOpts)
297
+ : undefined;
298
+ if (reality && network !== 'tcp' && network !== 'grpc') {
299
+ return reject(`${network} 传输上的 Reality`);
300
+ }
301
+ switch (network) {
302
+ case 'tcp':
303
+ return secure ? { tls: { ...tlsConfig, reality } } : undefined;
304
+ case 'ws': {
305
+ const wsConfig = {
306
+ path: nodeConfig.wsOpts?.path,
307
+ headers: nodeConfig.wsOpts?.headers,
308
+ };
309
+ return secure ? { wss: { ...wsConfig, ...tlsConfig } } : { ws: wsConfig };
310
+ }
311
+ case 'http':
312
+ if (secure) {
313
+ return reject('HTTP 传输的 TLS');
314
+ }
315
+ return {
316
+ http1: {
317
+ method: nodeConfig.httpOpts?.method,
318
+ path: nodeConfig.httpOpts?.path[0],
319
+ headers: nodeConfig.httpOpts?.headers,
320
+ },
321
+ };
322
+ case 'h2':
323
+ return {
324
+ http2: {
325
+ path: nodeConfig.h2Opts?.path,
326
+ headers: nodeConfig.h2Opts?.host && {
327
+ Host: nodeConfig.h2Opts.host[0],
328
+ },
329
+ ...tlsConfig,
330
+ },
331
+ };
332
+ case 'grpc':
333
+ return {
334
+ grpc: {
335
+ service_name: nodeConfig.grpcOpts?.serviceName,
336
+ ...tlsConfig,
337
+ reality,
338
+ },
339
+ };
340
+ default:
341
+ return reject(`${network} 传输`);
342
+ }
343
+ }
344
+ function parseWireguardEndpoint(endpoint) {
345
+ const separatorIndex = endpoint.lastIndexOf(':');
346
+ return {
347
+ server: endpoint.slice(0, separatorIndex).replace(/^\[(.*)\]$/, '$1'),
348
+ port: Number(endpoint.slice(separatorIndex + 1)),
349
+ };
350
+ }
351
+ // 只剔除空值;保留空对象,例如 `tls: {}` 表示启用 TLS
352
+ function prune(config) {
353
+ return Object.fromEntries(Object.entries(config)
354
+ .filter(([, value]) => value !== undefined && value !== null)
355
+ .map(([key, value]) => [
356
+ key,
357
+ typeof value === 'object' && !Array.isArray(value)
358
+ ? prune(value)
359
+ : value,
360
+ ]));
361
+ }
362
+ //# sourceMappingURL=egern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"egern.js","sourceRoot":"","sources":["../../src/utils/egern.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from './surge.js';
4
4
  export * from './surfboard.js';
5
5
  export * from './clash.js';
6
6
  export * from './singbox.js';
7
+ export * from './egern.js';
7
8
  export * from './quantumult.js';
8
9
  export * from './loon.js';
9
10
  export * from './remote-snippet.js';
@@ -8,6 +8,7 @@ export * from './surge.js';
8
8
  export * from './surfboard.js';
9
9
  export * from './clash.js';
10
10
  export * from './singbox.js';
11
+ export * from './egern.js';
11
12
  export * from './quantumult.js';
12
13
  export * from './loon.js';
13
14
  export * from './remote-snippet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ const typeMap = {
44
44
  [NodeTypeEnum.Tuic]: 'tuic',
45
45
  [NodeTypeEnum.Hysteria2]: 'hysteria2',
46
46
  [NodeTypeEnum.AnyTLS]: 'anytls',
47
+ [NodeTypeEnum.Snell]: 'snell',
47
48
  };
48
49
  const networkNodeTypes = new Set([
49
50
  NodeTypeEnum.Shadowsocks,
@@ -53,6 +54,7 @@ const networkNodeTypes = new Set([
53
54
  NodeTypeEnum.Socks5,
54
55
  NodeTypeEnum.Tuic,
55
56
  NodeTypeEnum.Hysteria2,
57
+ NodeTypeEnum.Snell,
56
58
  ]);
57
59
  const tlsNodeTypes = new Set([
58
60
  NodeTypeEnum.HTTPS,
@@ -293,6 +295,11 @@ function nodeListMapper(nodeConfig, logger) {
293
295
  node.min_idle_session = nodeConfig.minIdleSessions;
294
296
  }
295
297
  break;
298
+ case NodeTypeEnum.Snell:
299
+ if (!applySnellOptions(node, nodeConfig, logger)) {
300
+ return null;
301
+ }
302
+ break;
296
303
  }
297
304
  if (requiredTlsNodeTypes.has(nodeConfig.type)) {
298
305
  setTls('enabled', true);
@@ -380,6 +387,58 @@ function nodeListMapper(nodeConfig, logger) {
380
387
  }),
381
388
  ];
382
389
  }
390
+ const SNELL_V6_PSK_MIN_BYTES = 12;
391
+ const SNELL_V6_PSK_MAX_BYTES = 255;
392
+ /**
393
+ * sing-box 仅支持 Snell v4 和 v6。它不实现 v5 的 QUIC 模式,v5 的线路协议与 v4
394
+ * 相同,所以 v5 节点按 v4 输出。
395
+ *
396
+ * 返回 false 表示该节点无法在 sing-box 中使用,应当忽略。
397
+ *
398
+ * @see https://sing-box.sagernet.org/configuration/outbound/snell/
399
+ */
400
+ function applySnellOptions(node, nodeConfig, logger) {
401
+ const version = Number(nodeConfig.version);
402
+ if (![4, 5, 6].includes(version)) {
403
+ logger.warn(`sing-box 的 snell 节点仅支持 v4、v5 和 v6,节点 ${nodeConfig.nodeName} 会被忽略`);
404
+ return false;
405
+ }
406
+ if (version === 5) {
407
+ logger.warn(`sing-box 将 Snell v5 按 v4 处理,节点 ${nodeConfig.nodeName} 输出 version=4`);
408
+ }
409
+ node.version = version === 6 ? 6 : 4;
410
+ node.psk = nodeConfig.psk;
411
+ node.userkey = nodeConfig.userkey;
412
+ if (nodeConfig.reuse) {
413
+ node.reuse = true;
414
+ }
415
+ return version === 6
416
+ ? applySnellV6Options(node, nodeConfig, logger)
417
+ : applySnellV4Options(node, nodeConfig, logger);
418
+ }
419
+ function applySnellV4Options(node, nodeConfig, logger) {
420
+ if (nodeConfig.obfs === 'tls') {
421
+ logger.warn(`sing-box 的 snell 节点仅支持 http 混淆,节点 ${nodeConfig.nodeName} 会被忽略`);
422
+ return false;
423
+ }
424
+ if (nodeConfig.obfs === 'http') {
425
+ node.obfs_mode = 'http';
426
+ node.obfs_host = nodeConfig.obfsHost;
427
+ }
428
+ return true;
429
+ }
430
+ function applySnellV6Options(node, nodeConfig, logger) {
431
+ const pskBytes = new TextEncoder().encode(nodeConfig.psk).length;
432
+ if (pskBytes < SNELL_V6_PSK_MIN_BYTES || pskBytes > SNELL_V6_PSK_MAX_BYTES) {
433
+ logger.warn(`sing-box 的 snell v6 要求 psk 长度为 ${SNELL_V6_PSK_MIN_BYTES} 到 ${SNELL_V6_PSK_MAX_BYTES} 字节,节点 ${nodeConfig.nodeName} 会被忽略`);
434
+ return false;
435
+ }
436
+ if (nodeConfig.obfs) {
437
+ logger.warn(`snell v6 不支持混淆,节点 ${nodeConfig.nodeName} 将忽略 obfs`);
438
+ }
439
+ node.mode = nodeConfig.mode;
440
+ return true;
441
+ }
383
442
  /**
384
443
  * @see https://sing-box.sagernet.org/configuration/endpoint/wireguard
385
444
  * @see https://sing-box.sagernet.org/configuration/endpoint/tailscale
@@ -1 +1 @@
1
- {"version":3,"file":"singbox.js","sourceRoot":"","sources":["../../src/utils/singbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singbox.js","sourceRoot":"","sources":["../../src/utils/singbox.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,4 @@ export declare const isStash: (ua: string | undefined, version?: string) => bool
16
16
  export declare const isQuantumultX: (ua: string | undefined, version?: string) => boolean;
17
17
  export declare const isShadowrocket: (ua: string | undefined, version?: string) => boolean;
18
18
  export declare const isLoon: (ua: string | undefined, version?: string) => boolean;
19
+ export declare const isEgern: (ua: string | undefined, version?: string) => boolean;
@@ -195,4 +195,25 @@ export const isLoon = (ua, version) => {
195
195
  return false;
196
196
  }
197
197
  };
198
+ export const isEgern = (ua, version) => {
199
+ if (!ua) {
200
+ return false;
201
+ }
202
+ const isClient = ua.toLowerCase().includes('egern');
203
+ if (!isClient) {
204
+ return false;
205
+ }
206
+ if (!version) {
207
+ return true;
208
+ }
209
+ const matcher = /(egern)\/([\w.]+)/i;
210
+ const result = matcher.exec(ua.toLowerCase());
211
+ const clientVersion = result ? result[2] : '';
212
+ try {
213
+ return satisfies(clientVersion, version);
214
+ }
215
+ catch {
216
+ return false;
217
+ }
218
+ };
198
219
  //# sourceMappingURL=useragent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useragent.js","sourceRoot":"","sources":["../../src/utils/useragent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useragent.js","sourceRoot":"","sources":["../../src/utils/useragent.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,8 @@ export declare const SnellNodeConfigValidator: z.ZodObject<{
81
81
  udpRelay: z.ZodOptional<z.ZodBoolean>;
82
82
  reuse: z.ZodOptional<z.ZodBoolean>;
83
83
  version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
84
+ userkey: z.ZodOptional<z.ZodString>;
85
+ mode: z.ZodOptional<z.ZodEnum<["default", "unshaped", "unsafe-raw"]>>;
84
86
  }, "strip", z.ZodTypeAny, {
85
87
  nodeName: string;
86
88
  enable?: boolean | undefined;
@@ -127,6 +129,8 @@ export declare const SnellNodeConfigValidator: z.ZodObject<{
127
129
  udpRelay?: boolean | undefined;
128
130
  reuse?: boolean | undefined;
129
131
  version?: string | number | undefined;
132
+ userkey?: string | undefined;
133
+ mode?: "default" | "unsafe-raw" | "unshaped" | undefined;
130
134
  }, {
131
135
  nodeName: string;
132
136
  enable?: boolean | undefined;
@@ -173,4 +177,6 @@ export declare const SnellNodeConfigValidator: z.ZodObject<{
173
177
  udpRelay?: boolean | undefined;
174
178
  reuse?: boolean | undefined;
175
179
  version?: string | number | undefined;
180
+ userkey?: string | undefined;
181
+ mode?: "default" | "unsafe-raw" | "unshaped" | undefined;
176
182
  }>;
@@ -12,5 +12,9 @@ export const SnellNodeConfigValidator = SimpleNodeConfigValidator.extend({
12
12
  udpRelay: z.oboolean(),
13
13
  reuse: z.oboolean(),
14
14
  version: IntegersVersionValidator.optional(),
15
+ // 仅 sing-box 使用:snell 多用户服务端的用户 key
16
+ userkey: z.ostring(),
17
+ // 仅 sing-box 使用:snell v6 的流量整形模式
18
+ mode: z.enum(['default', 'unshaped', 'unsafe-raw']).optional(),
15
19
  });
16
20
  //# sourceMappingURL=snell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snell.js","sourceRoot":"","sources":["../../src/validators/snell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,yBAAyB,GAC1B,MAAM,aAAa,CAAA;AAEpB,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAA"}
1
+ {"version":3,"file":"snell.js","sourceRoot":"","sources":["../../src/validators/snell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,yBAAyB,GAC1B,MAAM,aAAa,CAAA;AAEpB,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC5C,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,iCAAiC;IACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/D,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "surgio",
3
3
  "description": "Generating rules for Surge, Clash, Quantumult like a PRO",
4
- "version": "4.0.0-beta.4",
4
+ "version": "4.0.0-beta.5",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
7
7
  "types": "./build/index.d.ts",