surgio 3.19.0 → 4.0.0-beta.2

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 (443) hide show
  1. package/bin/dev +5 -9
  2. package/bin/package.json +4 -0
  3. package/bin/run +2 -5
  4. package/build/base-command.d.ts +4 -4
  5. package/build/base-command.js +22 -24
  6. package/build/base-command.js.map +1 -1
  7. package/build/cache/cloudflare.d.ts +1 -0
  8. package/build/cache/cloudflare.js +2 -0
  9. package/build/cache/cloudflare.js.map +1 -0
  10. package/build/cache/configured-store.d.ts +2 -0
  11. package/build/cache/configured-store.js +26 -0
  12. package/build/cache/configured-store.js.map +1 -0
  13. package/build/cache/core.d.ts +2 -0
  14. package/build/cache/core.js +3 -0
  15. package/build/cache/core.js.map +1 -0
  16. package/build/cache/filesystem.d.ts +1 -0
  17. package/build/cache/filesystem.js +2 -0
  18. package/build/cache/filesystem.js.map +1 -0
  19. package/build/cache/index.d.ts +6 -0
  20. package/build/cache/index.js +7 -0
  21. package/build/cache/index.js.map +1 -0
  22. package/build/cache/singleton.d.ts +3 -0
  23. package/build/cache/singleton.js +8 -0
  24. package/build/cache/singleton.js.map +1 -0
  25. package/build/cache/stores/cloudflare-kv.d.ts +33 -0
  26. package/build/cache/stores/cloudflare-kv.js +45 -0
  27. package/build/cache/stores/cloudflare-kv.js.map +1 -0
  28. package/build/cache/stores/filesystem.d.ts +15 -0
  29. package/build/cache/stores/filesystem.js +84 -0
  30. package/build/cache/stores/filesystem.js.map +1 -0
  31. package/build/cache/stores/upstash.d.ts +28 -0
  32. package/build/cache/stores/upstash.js +66 -0
  33. package/build/cache/stores/upstash.js.map +1 -0
  34. package/build/cache/stores/utils.d.ts +5 -0
  35. package/build/cache/stores/utils.js +6 -0
  36. package/build/cache/stores/utils.js.map +1 -0
  37. package/build/cache/ttl-cache.d.ts +24 -0
  38. package/build/cache/ttl-cache.js +154 -0
  39. package/build/cache/ttl-cache.js.map +1 -0
  40. package/build/cache/types.d.ts +16 -0
  41. package/build/cache/types.js +2 -0
  42. package/build/cache/types.js.map +1 -0
  43. package/build/cache/upstash.d.ts +1 -0
  44. package/build/cache/upstash.js +2 -0
  45. package/build/cache/upstash.js.map +1 -0
  46. package/build/commands/check.d.ts +2 -2
  47. package/build/commands/check.js +24 -58
  48. package/build/commands/check.js.map +1 -1
  49. package/build/commands/clean-cache.d.ts +1 -1
  50. package/build/commands/clean-cache.js +16 -21
  51. package/build/commands/clean-cache.js.map +1 -1
  52. package/build/commands/doctor.d.ts +1 -1
  53. package/build/commands/doctor.js +6 -11
  54. package/build/commands/doctor.js.map +1 -1
  55. package/build/commands/generate.d.ts +1 -1
  56. package/build/commands/generate.js +31 -33
  57. package/build/commands/generate.js.map +1 -1
  58. package/build/commands/lint.d.ts +1 -1
  59. package/build/commands/lint.js +9 -14
  60. package/build/commands/lint.js.map +1 -1
  61. package/build/commands/new.d.ts +14 -1
  62. package/build/commands/new.js +252 -25
  63. package/build/commands/new.js.map +1 -1
  64. package/build/commands/subscriptions.d.ts +1 -1
  65. package/build/commands/subscriptions.js +20 -54
  66. package/build/commands/subscriptions.js.map +1 -1
  67. package/build/commands/upload.d.ts +1 -1
  68. package/build/commands/upload.js +21 -74
  69. package/build/commands/upload.js.map +1 -1
  70. package/build/config-normalize.d.ts +102 -0
  71. package/build/config-normalize.js +39 -0
  72. package/build/config-normalize.js.map +1 -0
  73. package/build/config.d.ts +9 -2
  74. package/build/config.js +78 -113
  75. package/build/config.js.map +1 -1
  76. package/build/configurables.d.ts +3 -84
  77. package/build/configurables.js +14 -39
  78. package/build/configurables.js.map +1 -1
  79. package/build/constant/constant.d.ts +26 -26
  80. package/build/constant/constant.js +39 -32
  81. package/build/constant/constant.js.map +1 -1
  82. package/build/constant/env.js +9 -12
  83. package/build/constant/env.js.map +1 -1
  84. package/build/constant/error.js +1 -4
  85. package/build/constant/error.js.map +1 -1
  86. package/build/constant/index.d.ts +3 -3
  87. package/build/constant/index.js +3 -19
  88. package/build/constant/index.js.map +1 -1
  89. package/build/filters/classes.d.ts +1 -1
  90. package/build/filters/classes.js +5 -13
  91. package/build/filters/classes.js.map +1 -1
  92. package/build/filters/filters.d.ts +1 -1
  93. package/build/filters/filters.js +58 -85
  94. package/build/filters/filters.js.map +1 -1
  95. package/build/filters/index.d.ts +2 -2
  96. package/build/filters/index.js +2 -41
  97. package/build/filters/index.js.map +1 -1
  98. package/build/filters/utils.d.ts +1 -1
  99. package/build/filters/utils.js +35 -56
  100. package/build/filters/utils.js.map +1 -1
  101. package/build/generator/artifact.d.ts +78 -72
  102. package/build/generator/artifact.js +71 -281
  103. package/build/generator/artifact.js.map +1 -1
  104. package/build/generator/index.d.ts +4 -3
  105. package/build/generator/index.js +3 -24
  106. package/build/generator/index.js.map +1 -1
  107. package/build/generator/json-extend.d.ts +20 -0
  108. package/build/generator/json-extend.js +37 -0
  109. package/build/generator/json-extend.js.map +1 -0
  110. package/build/generator/template-filters.d.ts +6 -0
  111. package/build/generator/template-filters.js +104 -0
  112. package/build/generator/template-filters.js.map +1 -0
  113. package/build/generator/template.d.ts +8 -7
  114. package/build/generator/template.js +40 -222
  115. package/build/generator/template.js.map +1 -1
  116. package/build/hooks/init.js +3 -38
  117. package/build/hooks/init.js.map +1 -1
  118. package/build/index.d.ts +66 -65
  119. package/build/index.js +20 -68
  120. package/build/index.js.map +1 -1
  121. package/build/internal.d.ts +4 -3
  122. package/build/internal.js +6 -24
  123. package/build/internal.js.map +1 -1
  124. package/build/misc/deprecation.js +10 -13
  125. package/build/misc/deprecation.js.map +1 -1
  126. package/build/misc/flag_cn.d.ts +53 -53
  127. package/build/misc/flag_cn.js +4 -7
  128. package/build/misc/flag_cn.js.map +1 -1
  129. package/build/project/authoring.d.ts +71 -0
  130. package/build/project/authoring.js +14 -0
  131. package/build/project/authoring.js.map +1 -0
  132. package/build/project/core.d.ts +3 -0
  133. package/build/project/core.js +17 -0
  134. package/build/project/core.js.map +1 -0
  135. package/build/project/editor.d.ts +8 -0
  136. package/build/project/editor.js +243 -0
  137. package/build/project/editor.js.map +1 -0
  138. package/build/project/file.d.ts +5 -0
  139. package/build/project/file.js +20 -0
  140. package/build/project/file.js.map +1 -0
  141. package/build/project/index.d.ts +5 -0
  142. package/build/project/index.js +7 -0
  143. package/build/project/index.js.map +1 -0
  144. package/build/project/internal.d.ts +8 -0
  145. package/build/project/internal.js +9 -0
  146. package/build/project/internal.js.map +1 -0
  147. package/build/project/node.d.ts +14 -0
  148. package/build/project/node.js +51 -0
  149. package/build/project/node.js.map +1 -0
  150. package/build/project/types.d.ts +22 -0
  151. package/build/project/types.js +2 -0
  152. package/build/project/types.js.map +1 -0
  153. package/build/provider/ClashProvider.d.ts +8 -5
  154. package/build/provider/ClashProvider.js +110 -115
  155. package/build/provider/ClashProvider.js.map +1 -1
  156. package/build/provider/CustomProvider.d.ts +3 -3
  157. package/build/provider/CustomProvider.js +52 -58
  158. package/build/provider/CustomProvider.js.map +1 -1
  159. package/build/provider/Provider.d.ts +8 -6
  160. package/build/provider/Provider.js +49 -83
  161. package/build/provider/Provider.js.map +1 -1
  162. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -4
  163. package/build/provider/ShadowsocksSubscribeProvider.js +26 -33
  164. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -1
  165. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -4
  166. package/build/provider/ShadowsocksrSubscribeProvider.js +31 -40
  167. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -1
  168. package/build/provider/TrojanProvider.d.ts +6 -7
  169. package/build/provider/TrojanProvider.js +35 -48
  170. package/build/provider/TrojanProvider.js.map +1 -1
  171. package/build/provider/V2rayNSubscribeProvider.d.ts +23 -14
  172. package/build/provider/V2rayNSubscribeProvider.js +58 -146
  173. package/build/provider/V2rayNSubscribeProvider.js.map +1 -1
  174. package/build/provider/create-provider.d.ts +4 -0
  175. package/build/provider/create-provider.js +36 -0
  176. package/build/provider/create-provider.js.map +1 -0
  177. package/build/provider/index.d.ts +16 -16
  178. package/build/provider/index.js +19 -51
  179. package/build/provider/index.js.map +1 -1
  180. package/build/provider/node-runtime.d.ts +1 -0
  181. package/build/provider/node-runtime.js +26 -0
  182. package/build/provider/node-runtime.js.map +1 -0
  183. package/build/provider/types.d.ts +11 -14
  184. package/build/provider/types.js +1 -2
  185. package/build/provider/v2rayn-subscription.d.ts +12 -0
  186. package/build/provider/v2rayn-subscription.js +782 -0
  187. package/build/provider/v2rayn-subscription.js.map +1 -0
  188. package/build/runtime/artifact.d.ts +122 -0
  189. package/build/runtime/artifact.js +232 -0
  190. package/build/runtime/artifact.js.map +1 -0
  191. package/build/runtime/dns.d.ts +3 -0
  192. package/build/runtime/dns.js +37 -0
  193. package/build/runtime/dns.js.map +1 -0
  194. package/build/runtime/format.d.ts +4 -0
  195. package/build/runtime/format.js +45 -0
  196. package/build/runtime/format.js.map +1 -0
  197. package/build/runtime/http-client.d.ts +9 -0
  198. package/build/runtime/http-client.js +49 -0
  199. package/build/runtime/http-client.js.map +1 -0
  200. package/build/runtime/index.d.ts +4 -0
  201. package/build/runtime/index.js +2 -0
  202. package/build/runtime/index.js.map +1 -0
  203. package/build/runtime/node.d.ts +8 -0
  204. package/build/runtime/node.js +181 -0
  205. package/build/runtime/node.js.map +1 -0
  206. package/build/runtime/provider-context.d.ts +3 -0
  207. package/build/runtime/provider-context.js +11 -0
  208. package/build/runtime/provider-context.js.map +1 -0
  209. package/build/runtime/public.d.ts +59 -0
  210. package/build/runtime/public.js +2 -0
  211. package/build/runtime/public.js.map +1 -0
  212. package/build/runtime/renderer.d.ts +13 -0
  213. package/build/runtime/renderer.js +38 -0
  214. package/build/runtime/renderer.js.map +1 -0
  215. package/build/runtime/ruleset.d.ts +1 -0
  216. package/build/runtime/ruleset.js +34 -0
  217. package/build/runtime/ruleset.js.map +1 -0
  218. package/build/runtime/snippet-interpreter.d.ts +6 -0
  219. package/build/runtime/snippet-interpreter.js +136 -0
  220. package/build/runtime/snippet-interpreter.js.map +1 -0
  221. package/build/runtime/subscription.d.ts +2 -0
  222. package/build/runtime/subscription.js +18 -0
  223. package/build/runtime/subscription.js.map +1 -0
  224. package/build/runtime/types.d.ts +35 -0
  225. package/build/runtime/types.js +2 -0
  226. package/build/runtime/types.js.map +1 -0
  227. package/build/runtime/user-agent.d.ts +1 -0
  228. package/build/runtime/user-agent.js +3 -0
  229. package/build/runtime/user-agent.js.map +1 -0
  230. package/build/types.d.ts +17 -33
  231. package/build/types.js +4 -10
  232. package/build/types.js.map +1 -1
  233. package/build/utils/clash.d.ts +4 -3
  234. package/build/utils/clash.js +78 -82
  235. package/build/utils/clash.js.map +1 -1
  236. package/build/utils/constant.d.ts +1 -1
  237. package/build/utils/constant.js +1 -17
  238. package/build/utils/constant.js.map +1 -1
  239. package/build/utils/dns.js +17 -35
  240. package/build/utils/dns.js.map +1 -1
  241. package/build/utils/doctor.js +12 -22
  242. package/build/utils/doctor.js.map +1 -1
  243. package/build/utils/env-flag.js +23 -38
  244. package/build/utils/env-flag.js.map +1 -1
  245. package/build/utils/error-helper.d.ts +1 -1
  246. package/build/utils/error-helper.js +28 -34
  247. package/build/utils/error-helper.js.map +1 -1
  248. package/build/utils/errors.d.ts +1 -1
  249. package/build/utils/errors.js +10 -16
  250. package/build/utils/errors.js.map +1 -1
  251. package/build/utils/flag.js +12 -21
  252. package/build/utils/flag.js.map +1 -1
  253. package/build/utils/index.d.ts +13 -78
  254. package/build/utils/index.js +53 -516
  255. package/build/utils/index.js.map +1 -1
  256. package/build/utils/linter.js +53 -24
  257. package/build/utils/linter.js.map +1 -1
  258. package/build/utils/loon.d.ts +3 -2
  259. package/build/utils/loon.js +73 -61
  260. package/build/utils/loon.js.map +1 -1
  261. package/build/utils/module-loader.d.ts +1 -0
  262. package/build/utils/module-loader.js +13 -0
  263. package/build/utils/module-loader.js.map +1 -0
  264. package/build/utils/object-storage.d.ts +16 -0
  265. package/build/utils/object-storage.js +136 -0
  266. package/build/utils/object-storage.js.map +1 -0
  267. package/build/utils/portable.d.ts +27 -0
  268. package/build/utils/portable.js +141 -0
  269. package/build/utils/portable.js.map +1 -0
  270. package/build/utils/quantumult.d.ts +4 -3
  271. package/build/utils/quantumult.js +45 -52
  272. package/build/utils/quantumult.js.map +1 -1
  273. package/build/utils/relayable-url.js +1 -4
  274. package/build/utils/relayable-url.js.map +1 -1
  275. package/build/utils/remote-snippet.d.ts +12 -2
  276. package/build/utils/remote-snippet.js +51 -188
  277. package/build/utils/remote-snippet.js.map +1 -1
  278. package/build/utils/singbox-rules.d.ts +40 -0
  279. package/build/utils/singbox-rules.js +295 -0
  280. package/build/utils/singbox-rules.js.map +1 -0
  281. package/build/utils/singbox.d.ts +5 -3
  282. package/build/utils/singbox.js +210 -149
  283. package/build/utils/singbox.js.map +1 -1
  284. package/build/utils/ss.d.ts +4 -2
  285. package/build/utils/ss.js +58 -21
  286. package/build/utils/ss.js.map +1 -1
  287. package/build/utils/ssr.d.ts +3 -2
  288. package/build/utils/ssr.js +11 -16
  289. package/build/utils/ssr.js.map +1 -1
  290. package/build/utils/subscription.d.ts +3 -2
  291. package/build/utils/subscription.js +14 -41
  292. package/build/utils/subscription.js.map +1 -1
  293. package/build/utils/surfboard.d.ts +4 -3
  294. package/build/utils/surfboard.js +34 -39
  295. package/build/utils/surfboard.js.map +1 -1
  296. package/build/utils/surge.d.ts +4 -3
  297. package/build/utils/surge.js +62 -120
  298. package/build/utils/surge.js.map +1 -1
  299. package/build/utils/time.js +1 -5
  300. package/build/utils/time.js.map +1 -1
  301. package/build/utils/useragent.js +19 -31
  302. package/build/utils/useragent.js.map +1 -1
  303. package/build/utils/v2rayn.d.ts +3 -0
  304. package/build/utils/v2rayn.js +485 -0
  305. package/build/utils/v2rayn.js.map +1 -0
  306. package/build/validators/anytls.d.ts +23 -37
  307. package/build/validators/anytls.js +14 -17
  308. package/build/validators/anytls.js.map +1 -1
  309. package/build/validators/artifact.d.ts +20 -8
  310. package/build/validators/artifact.js +21 -23
  311. package/build/validators/artifact.js.map +1 -1
  312. package/build/validators/common.d.ts +28 -56
  313. package/build/validators/common.js +54 -61
  314. package/build/validators/common.js.map +1 -1
  315. package/build/validators/filter.d.ts +2 -2
  316. package/build/validators/filter.js +3 -6
  317. package/build/validators/filter.js.map +1 -1
  318. package/build/validators/hooks.d.ts +3 -3
  319. package/build/validators/hooks.js +3 -6
  320. package/build/validators/hooks.js.map +1 -1
  321. package/build/validators/http.d.ts +42 -70
  322. package/build/validators/http.js +17 -20
  323. package/build/validators/http.js.map +1 -1
  324. package/build/validators/hysteria2.d.ts +122 -36
  325. package/build/validators/hysteria2.js +19 -14
  326. package/build/validators/hysteria2.js.map +1 -1
  327. package/build/validators/index.d.ts +21 -21
  328. package/build/validators/index.js +21 -37
  329. package/build/validators/index.js.map +1 -1
  330. package/build/validators/masque.d.ts +109 -153
  331. package/build/validators/masque.js +30 -33
  332. package/build/validators/masque.js.map +1 -1
  333. package/build/validators/provider.d.ts +49 -52
  334. package/build/validators/provider.js +30 -34
  335. package/build/validators/provider.js.map +1 -1
  336. package/build/validators/shadowsocks.d.ts +31 -45
  337. package/build/validators/shadowsocks.js +23 -26
  338. package/build/validators/shadowsocks.js.map +1 -1
  339. package/build/validators/shadowsocksr.d.ts +26 -40
  340. package/build/validators/shadowsocksr.js +14 -17
  341. package/build/validators/shadowsocksr.js.map +1 -1
  342. package/build/validators/snell.d.ts +21 -35
  343. package/build/validators/snell.js +12 -15
  344. package/build/validators/snell.js.map +1 -1
  345. package/build/validators/socks5.d.ts +21 -35
  346. package/build/validators/socks5.js +10 -13
  347. package/build/validators/socks5.js.map +1 -1
  348. package/build/validators/surgio-config.d.ts +406 -112
  349. package/build/validators/surgio-config.js +112 -79
  350. package/build/validators/surgio-config.js.map +1 -1
  351. package/build/validators/tailscale.d.ts +25 -39
  352. package/build/validators/tailscale.js +20 -23
  353. package/build/validators/tailscale.js.map +1 -1
  354. package/build/validators/trojan.d.ts +29 -43
  355. package/build/validators/trojan.js +11 -14
  356. package/build/validators/trojan.js.map +1 -1
  357. package/build/validators/trust-tunnel.d.ts +64 -86
  358. package/build/validators/trust-tunnel.js +22 -25
  359. package/build/validators/trust-tunnel.js.map +1 -1
  360. package/build/validators/tuic.d.ts +96 -140
  361. package/build/validators/tuic.js +16 -17
  362. package/build/validators/tuic.js.map +1 -1
  363. package/build/validators/vless.d.ts +70 -84
  364. package/build/validators/vless.js +41 -44
  365. package/build/validators/vless.js.map +1 -1
  366. package/build/validators/vmess.d.ts +80 -94
  367. package/build/validators/vmess.js +59 -62
  368. package/build/validators/vmess.js.map +1 -1
  369. package/build/validators/wireguard.d.ts +35 -49
  370. package/build/validators/wireguard.js +20 -23
  371. package/build/validators/wireguard.js.map +1 -1
  372. package/build/worker/build.d.ts +9 -0
  373. package/build/worker/build.js +120 -0
  374. package/build/worker/build.js.map +1 -0
  375. package/build/worker/config.d.ts +5 -0
  376. package/build/worker/config.js +18 -0
  377. package/build/worker/config.js.map +1 -0
  378. package/build/worker/index.d.ts +4 -0
  379. package/build/worker/index.js +3 -0
  380. package/build/worker/index.js.map +1 -0
  381. package/build/worker/normalize-config.d.ts +3 -0
  382. package/build/worker/normalize-config.js +12 -0
  383. package/build/worker/normalize-config.js.map +1 -0
  384. package/build/worker/precompiled-environment.d.ts +33 -0
  385. package/build/worker/precompiled-environment.js +211 -0
  386. package/build/worker/precompiled-environment.js.map +1 -0
  387. package/build/worker/runtime.d.ts +2 -0
  388. package/build/worker/runtime.js +206 -0
  389. package/build/worker/runtime.js.map +1 -0
  390. package/build/worker/template-engine.d.ts +6 -0
  391. package/build/worker/template-engine.js +22 -0
  392. package/build/worker/template-engine.js.map +1 -0
  393. package/build/worker/types.d.ts +27 -0
  394. package/build/worker/types.js +2 -0
  395. package/build/worker/types.js.map +1 -0
  396. package/package.json +177 -161
  397. package/build/generator/json-template.d.ts +0 -11
  398. package/build/generator/json-template.js +0 -74
  399. package/build/generator/json-template.js.map +0 -1
  400. package/build/provider/BlackSSLProvider.d.ts +0 -12
  401. package/build/provider/BlackSSLProvider.js +0 -103
  402. package/build/provider/BlackSSLProvider.js.map +0 -1
  403. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -12
  404. package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -92
  405. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
  406. package/build/provider/SsdProvider.d.ts +0 -40
  407. package/build/provider/SsdProvider.js +0 -150
  408. package/build/provider/SsdProvider.js.map +0 -1
  409. package/build/redis.d.ts +0 -9
  410. package/build/redis.js +0 -63
  411. package/build/redis.js.map +0 -1
  412. package/build/utils/cache.d.ts +0 -23
  413. package/build/utils/cache.js +0 -98
  414. package/build/utils/cache.js.map +0 -1
  415. package/build/utils/http-client.d.ts +0 -3
  416. package/build/utils/http-client.js +0 -60
  417. package/build/utils/http-client.js.map +0 -1
  418. package/build/utils/tmp-helper.d.ts +0 -30
  419. package/build/utils/tmp-helper.js +0 -102
  420. package/build/utils/tmp-helper.js.map +0 -1
  421. package/build/utils/trojan.d.ts +0 -2
  422. package/build/utils/trojan.js +0 -38
  423. package/build/utils/trojan.js.map +0 -1
  424. package/config.d.ts +0 -1
  425. package/config.js +0 -1
  426. package/constant.d.ts +0 -1
  427. package/constant.js +0 -1
  428. package/generator.d.ts +0 -1
  429. package/generator.js +0 -1
  430. package/hygen-template/artifact/new/index.js +0 -68
  431. package/hygen-template/artifact/new/template.ejs.t +0 -18
  432. package/hygen-template/provider/new/index.js +0 -81
  433. package/hygen-template/provider/new/template.ejs.t +0 -25
  434. package/hygen-template/template/new/index.js +0 -13
  435. package/hygen-template/template/new/template.ejs.t +0 -4
  436. package/index.d.ts +0 -1
  437. package/index.js +0 -1
  438. package/internal.d.ts +0 -1
  439. package/internal.js +0 -1
  440. package/provider.d.ts +0 -1
  441. package/provider.js +0 -1
  442. package/utils.d.ts +0 -1
  443. package/utils.js +0 -1
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
2
- import { NodeTypeEnum } from '../types';
1
+ import { z } from 'zod/v3';
2
+ import { NodeTypeEnum } from '../types.js';
3
3
  export declare const TrojanNodeConfigValidator: z.ZodObject<{
4
4
  nodeName: z.ZodString;
5
5
  enable: z.ZodOptional<z.ZodBoolean>;
@@ -11,13 +11,13 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
11
11
  password: z.ZodString;
12
12
  sni: z.ZodString;
13
13
  }, "strip", z.ZodTypeAny, {
14
+ version?: string | number | undefined;
14
15
  password: string;
15
16
  sni: string;
16
- version?: string | number | undefined;
17
17
  }, {
18
+ version?: string | number | undefined;
18
19
  password: string;
19
20
  sni: string;
20
- version?: string | number | undefined;
21
21
  }>>;
22
22
  blockQuic: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>;
23
23
  portHopping: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -26,13 +26,10 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
26
26
  testUrl: z.ZodOptional<z.ZodString>;
27
27
  testTimeout: z.ZodOptional<z.ZodNumber>;
28
28
  surgeConfig: z.ZodOptional<z.ZodObject<{
29
- resolveHostname: z.ZodOptional<z.ZodBoolean>;
30
29
  vmessAEAD: z.ZodOptional<z.ZodBoolean>;
31
30
  }, "strip", z.ZodTypeAny, {
32
- resolveHostname?: boolean | undefined;
33
31
  vmessAEAD?: boolean | undefined;
34
32
  }, {
35
- resolveHostname?: boolean | undefined;
36
33
  vmessAEAD?: boolean | undefined;
37
34
  }>>;
38
35
  surfboardConfig: z.ZodOptional<z.ZodObject<{
@@ -54,7 +51,7 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
54
51
  enableShadowTls: z.ZodOptional<z.ZodBoolean>;
55
52
  enableHysteria2: z.ZodOptional<z.ZodBoolean>;
56
53
  enableVless: z.ZodOptional<z.ZodBoolean>;
57
- clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>;
54
+ clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">, z.ZodEffects<z.ZodLiteral<"mihomo">, "clash.meta", "mihomo">]>>;
58
55
  }, "strip", z.ZodTypeAny, {
59
56
  enableTuic?: boolean | undefined;
60
57
  enableShadowTls?: boolean | undefined;
@@ -66,11 +63,8 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
66
63
  enableShadowTls?: boolean | undefined;
67
64
  enableHysteria2?: boolean | undefined;
68
65
  enableVless?: boolean | undefined;
69
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
66
+ clashCore?: "clash" | "clash.meta" | "mihomo" | "stash" | undefined;
70
67
  }>>;
71
- hostnameIp: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
72
- binPath: z.ZodOptional<z.ZodString>;
73
- localPort: z.ZodOptional<z.ZodNumber>;
74
68
  interfaceName: z.ZodOptional<z.ZodString>;
75
69
  ipVersion: z.ZodOptional<z.ZodString>;
76
70
  hostname: z.ZodString;
@@ -105,7 +99,7 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
105
99
  downMbps: number;
106
100
  }>>;
107
101
  }, "strip", z.ZodTypeAny, {
108
- protocol: "smux" | "yamux" | "h2mux";
102
+ protocol: "h2mux" | "smux" | "yamux";
109
103
  maxConnections?: number | undefined;
110
104
  minStreams?: number | undefined;
111
105
  maxStreams?: number | undefined;
@@ -115,7 +109,7 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
115
109
  downMbps: number;
116
110
  } | undefined;
117
111
  }, {
118
- protocol: "smux" | "yamux" | "h2mux";
112
+ protocol: "h2mux" | "smux" | "yamux";
119
113
  maxConnections?: number | undefined;
120
114
  minStreams?: number | undefined;
121
115
  maxStreams?: number | undefined;
@@ -126,29 +120,23 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
126
120
  } | undefined;
127
121
  }>>;
128
122
  }, "strip", z.ZodTypeAny, {
129
- port: string | number;
130
- type: NodeTypeEnum.Trojan;
131
123
  nodeName: string;
132
- password: string;
133
- hostname: string;
134
124
  enable?: boolean | undefined;
135
125
  tfo?: boolean | undefined;
136
126
  mptcp?: boolean | undefined;
137
127
  ecn?: boolean | undefined;
138
- sni?: string | undefined;
139
128
  shadowTls?: {
129
+ version?: string | number | undefined;
140
130
  password: string;
141
131
  sni: string;
142
- version?: string | number | undefined;
143
132
  } | undefined;
144
- blockQuic?: "auto" | "on" | "off" | undefined;
133
+ blockQuic?: "auto" | "off" | "on" | undefined;
145
134
  portHopping?: string | undefined;
146
135
  portHoppingInterval?: number | undefined;
147
136
  underlyingProxy?: string | undefined;
148
137
  testUrl?: string | undefined;
149
138
  testTimeout?: number | undefined;
150
139
  surgeConfig?: {
151
- resolveHostname?: boolean | undefined;
152
140
  vmessAEAD?: boolean | undefined;
153
141
  } | undefined;
154
142
  surfboardConfig?: {
@@ -164,20 +152,24 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
164
152
  enableVless?: boolean | undefined;
165
153
  clashCore?: "clash" | "clash.meta" | "stash" | undefined;
166
154
  } | undefined;
167
- hostnameIp?: readonly string[] | undefined;
168
- binPath?: string | undefined;
169
- localPort?: number | undefined;
170
155
  interfaceName?: string | undefined;
171
156
  ipVersion?: string | undefined;
157
+ hostname: string;
158
+ port: string | number;
172
159
  tls13?: boolean | undefined;
173
160
  skipCertVerify?: boolean | undefined;
161
+ sni?: string | undefined;
174
162
  alpn?: [string, ...string[]] | undefined;
175
163
  serverCertFingerprintSha256?: string | undefined;
176
164
  clientFingerprint?: string | undefined;
165
+ type: NodeTypeEnum.Trojan;
166
+ password: string;
177
167
  udpRelay?: boolean | undefined;
168
+ network?: "tcp" | "ws" | undefined;
169
+ wsPath?: string | undefined;
178
170
  wsHeaders?: Record<string, string> | undefined;
179
171
  multiplex?: {
180
- protocol: "smux" | "yamux" | "h2mux";
172
+ protocol: "h2mux" | "smux" | "yamux";
181
173
  maxConnections?: number | undefined;
182
174
  minStreams?: number | undefined;
183
175
  maxStreams?: number | undefined;
@@ -187,32 +179,24 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
187
179
  downMbps: number;
188
180
  } | undefined;
189
181
  } | undefined;
190
- network?: "tcp" | "ws" | undefined;
191
- wsPath?: string | undefined;
192
182
  }, {
193
- port: string | number;
194
- type: NodeTypeEnum.Trojan;
195
183
  nodeName: string;
196
- password: string;
197
- hostname: string;
198
184
  enable?: boolean | undefined;
199
185
  tfo?: boolean | undefined;
200
186
  mptcp?: boolean | undefined;
201
187
  ecn?: boolean | undefined;
202
- sni?: string | undefined;
203
188
  shadowTls?: {
189
+ version?: string | number | undefined;
204
190
  password: string;
205
191
  sni: string;
206
- version?: string | number | undefined;
207
192
  } | undefined;
208
- blockQuic?: "auto" | "on" | "off" | undefined;
193
+ blockQuic?: "auto" | "off" | "on" | undefined;
209
194
  portHopping?: string | undefined;
210
195
  portHoppingInterval?: number | undefined;
211
196
  underlyingProxy?: string | undefined;
212
197
  testUrl?: string | undefined;
213
198
  testTimeout?: number | undefined;
214
199
  surgeConfig?: {
215
- resolveHostname?: boolean | undefined;
216
200
  vmessAEAD?: boolean | undefined;
217
201
  } | undefined;
218
202
  surfboardConfig?: {
@@ -226,22 +210,26 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
226
210
  enableShadowTls?: boolean | undefined;
227
211
  enableHysteria2?: boolean | undefined;
228
212
  enableVless?: boolean | undefined;
229
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
213
+ clashCore?: "clash" | "clash.meta" | "mihomo" | "stash" | undefined;
230
214
  } | undefined;
231
- hostnameIp?: readonly string[] | undefined;
232
- binPath?: string | undefined;
233
- localPort?: number | undefined;
234
215
  interfaceName?: string | undefined;
235
216
  ipVersion?: string | undefined;
217
+ hostname: string;
218
+ port: string | number;
236
219
  tls13?: boolean | undefined;
237
220
  skipCertVerify?: boolean | undefined;
221
+ sni?: string | undefined;
238
222
  alpn?: [string, ...string[]] | undefined;
239
223
  serverCertFingerprintSha256?: string | undefined;
240
224
  clientFingerprint?: string | undefined;
225
+ type: NodeTypeEnum.Trojan;
226
+ password: string;
241
227
  udpRelay?: boolean | undefined;
228
+ network?: "tcp" | "ws" | undefined;
229
+ wsPath?: string | undefined;
242
230
  wsHeaders?: Record<string, string> | undefined;
243
231
  multiplex?: {
244
- protocol: "smux" | "yamux" | "h2mux";
232
+ protocol: "h2mux" | "smux" | "yamux";
245
233
  maxConnections?: number | undefined;
246
234
  minStreams?: number | undefined;
247
235
  maxStreams?: number | undefined;
@@ -251,6 +239,4 @@ export declare const TrojanNodeConfigValidator: z.ZodObject<{
251
239
  downMbps: number;
252
240
  } | undefined;
253
241
  } | undefined;
254
- network?: "tcp" | "ws" | undefined;
255
- wsPath?: string | undefined;
256
242
  }>;
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrojanNodeConfigValidator = void 0;
4
- const zod_1 = require("zod");
5
- const types_1 = require("../types");
6
- const common_1 = require("./common");
7
- exports.TrojanNodeConfigValidator = common_1.TlsNodeConfigValidator.extend({
8
- type: zod_1.z.literal(types_1.NodeTypeEnum.Trojan),
9
- password: zod_1.z.string(),
10
- udpRelay: zod_1.z.oboolean(),
11
- network: zod_1.z.union([zod_1.z.literal('tcp'), zod_1.z.literal('ws')]).optional(),
12
- wsPath: zod_1.z.ostring(),
13
- wsHeaders: zod_1.z.record(zod_1.z.string()).optional(),
14
- multiplex: common_1.MultiplexValidator.optional(),
1
+ import { z } from 'zod/v3';
2
+ import { NodeTypeEnum } from '../types.js';
3
+ import { MultiplexValidator, TlsNodeConfigValidator } from './common.js';
4
+ export const TrojanNodeConfigValidator = TlsNodeConfigValidator.extend({
5
+ type: z.literal(NodeTypeEnum.Trojan),
6
+ password: z.string(),
7
+ udpRelay: z.oboolean(),
8
+ network: z.union([z.literal('tcp'), z.literal('ws')]).optional(),
9
+ wsPath: z.ostring(),
10
+ wsHeaders: z.record(z.string()).optional(),
11
+ multiplex: MultiplexValidator.optional(),
15
12
  });
16
13
  //# sourceMappingURL=trojan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trojan.js","sourceRoot":"","sources":["../../src/validators/trojan.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AAEvC,qCAAqE;AAExD,QAAA,yBAAyB,GAAG,+BAAsB,CAAC,MAAM,CAAC;IACrE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,OAAC,CAAC,QAAQ,EAAE;IACtB,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,2BAAkB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"trojan.js","sourceRoot":"","sources":["../../src/validators/trojan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAExE,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,MAAM,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
2
- import { NodeTypeEnum } from '../types';
1
+ import { z } from 'zod/v3';
2
+ import { NodeTypeEnum } from '../types.js';
3
3
  export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
4
4
  nodeName: z.ZodString;
5
5
  enable: z.ZodOptional<z.ZodBoolean>;
@@ -11,13 +11,13 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
11
11
  password: z.ZodString;
12
12
  sni: z.ZodString;
13
13
  }, "strip", z.ZodTypeAny, {
14
+ version?: string | number | undefined;
14
15
  password: string;
15
16
  sni: string;
16
- version?: string | number | undefined;
17
17
  }, {
18
+ version?: string | number | undefined;
18
19
  password: string;
19
20
  sni: string;
20
- version?: string | number | undefined;
21
21
  }>>;
22
22
  blockQuic: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>;
23
23
  portHopping: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -26,13 +26,10 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
26
26
  testUrl: z.ZodOptional<z.ZodString>;
27
27
  testTimeout: z.ZodOptional<z.ZodNumber>;
28
28
  surgeConfig: z.ZodOptional<z.ZodObject<{
29
- resolveHostname: z.ZodOptional<z.ZodBoolean>;
30
29
  vmessAEAD: z.ZodOptional<z.ZodBoolean>;
31
30
  }, "strip", z.ZodTypeAny, {
32
- resolveHostname?: boolean | undefined;
33
31
  vmessAEAD?: boolean | undefined;
34
32
  }, {
35
- resolveHostname?: boolean | undefined;
36
33
  vmessAEAD?: boolean | undefined;
37
34
  }>>;
38
35
  surfboardConfig: z.ZodOptional<z.ZodObject<{
@@ -54,7 +51,7 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
54
51
  enableShadowTls: z.ZodOptional<z.ZodBoolean>;
55
52
  enableHysteria2: z.ZodOptional<z.ZodBoolean>;
56
53
  enableVless: z.ZodOptional<z.ZodBoolean>;
57
- clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>;
54
+ clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">, z.ZodEffects<z.ZodLiteral<"mihomo">, "clash.meta", "mihomo">]>>;
58
55
  }, "strip", z.ZodTypeAny, {
59
56
  enableTuic?: boolean | undefined;
60
57
  enableShadowTls?: boolean | undefined;
@@ -66,11 +63,8 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
66
63
  enableShadowTls?: boolean | undefined;
67
64
  enableHysteria2?: boolean | undefined;
68
65
  enableVless?: boolean | undefined;
69
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
66
+ clashCore?: "clash" | "clash.meta" | "mihomo" | "stash" | undefined;
70
67
  }>>;
71
- hostnameIp: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
72
- binPath: z.ZodOptional<z.ZodString>;
73
- localPort: z.ZodOptional<z.ZodNumber>;
74
68
  interfaceName: z.ZodOptional<z.ZodString>;
75
69
  ipVersion: z.ZodOptional<z.ZodString>;
76
70
  hostname: z.ZodString;
@@ -96,30 +90,23 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
96
90
  minStreams: z.ZodOptional<z.ZodNumber>;
97
91
  maxStreams: z.ZodOptional<z.ZodNumber>;
98
92
  }, "strip", z.ZodTypeAny, {
99
- port: string | number;
100
- type: NodeTypeEnum.TrustTunnel;
101
93
  nodeName: string;
102
- password: string;
103
- hostname: string;
104
- username: string;
105
94
  enable?: boolean | undefined;
106
95
  tfo?: boolean | undefined;
107
96
  mptcp?: boolean | undefined;
108
97
  ecn?: boolean | undefined;
109
- sni?: string | undefined;
110
98
  shadowTls?: {
99
+ version?: string | number | undefined;
111
100
  password: string;
112
101
  sni: string;
113
- version?: string | number | undefined;
114
102
  } | undefined;
115
- blockQuic?: "auto" | "on" | "off" | undefined;
103
+ blockQuic?: "auto" | "off" | "on" | undefined;
116
104
  portHopping?: string | undefined;
117
105
  portHoppingInterval?: number | undefined;
118
106
  underlyingProxy?: string | undefined;
119
107
  testUrl?: string | undefined;
120
108
  testTimeout?: number | undefined;
121
109
  surgeConfig?: {
122
- resolveHostname?: boolean | undefined;
123
110
  vmessAEAD?: boolean | undefined;
124
111
  } | undefined;
125
112
  surfboardConfig?: {
@@ -135,51 +122,47 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
135
122
  enableVless?: boolean | undefined;
136
123
  clashCore?: "clash" | "clash.meta" | "stash" | undefined;
137
124
  } | undefined;
138
- hostnameIp?: readonly string[] | undefined;
139
- binPath?: string | undefined;
140
- localPort?: number | undefined;
141
125
  interfaceName?: string | undefined;
142
126
  ipVersion?: string | undefined;
127
+ hostname: string;
128
+ port: string | number;
143
129
  tls13?: boolean | undefined;
144
130
  skipCertVerify?: boolean | undefined;
131
+ sni?: string | undefined;
145
132
  alpn?: [string, ...string[]] | undefined;
146
133
  serverCertFingerprintSha256?: string | undefined;
147
134
  clientFingerprint?: string | undefined;
148
- headers?: Record<string, string> | undefined;
149
- udpRelay?: boolean | undefined;
135
+ type: NodeTypeEnum.TrustTunnel;
136
+ username: string;
137
+ password: string;
150
138
  quic?: boolean | undefined;
139
+ udpRelay?: boolean | undefined;
140
+ headers?: Record<string, string> | undefined;
141
+ healthCheck?: boolean | undefined;
142
+ nameCertVerify?: string | undefined;
143
+ congestionController?: string | undefined;
144
+ bbrProfile?: "aggressive" | "conservative" | "standard" | undefined;
151
145
  maxConnections?: number | undefined;
152
146
  minStreams?: number | undefined;
153
147
  maxStreams?: number | undefined;
154
- congestionController?: string | undefined;
155
- bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
156
- healthCheck?: boolean | undefined;
157
- nameCertVerify?: string | undefined;
158
148
  }, {
159
- port: string | number;
160
- type: NodeTypeEnum.TrustTunnel;
161
149
  nodeName: string;
162
- password: string;
163
- hostname: string;
164
- username: string;
165
150
  enable?: boolean | undefined;
166
151
  tfo?: boolean | undefined;
167
152
  mptcp?: boolean | undefined;
168
153
  ecn?: boolean | undefined;
169
- sni?: string | undefined;
170
154
  shadowTls?: {
155
+ version?: string | number | undefined;
171
156
  password: string;
172
157
  sni: string;
173
- version?: string | number | undefined;
174
158
  } | undefined;
175
- blockQuic?: "auto" | "on" | "off" | undefined;
159
+ blockQuic?: "auto" | "off" | "on" | undefined;
176
160
  portHopping?: string | undefined;
177
161
  portHoppingInterval?: number | undefined;
178
162
  underlyingProxy?: string | undefined;
179
163
  testUrl?: string | undefined;
180
164
  testTimeout?: number | undefined;
181
165
  surgeConfig?: {
182
- resolveHostname?: boolean | undefined;
183
166
  vmessAEAD?: boolean | undefined;
184
167
  } | undefined;
185
168
  surfboardConfig?: {
@@ -193,53 +176,49 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
193
176
  enableShadowTls?: boolean | undefined;
194
177
  enableHysteria2?: boolean | undefined;
195
178
  enableVless?: boolean | undefined;
196
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
179
+ clashCore?: "clash" | "clash.meta" | "mihomo" | "stash" | undefined;
197
180
  } | undefined;
198
- hostnameIp?: readonly string[] | undefined;
199
- binPath?: string | undefined;
200
- localPort?: number | undefined;
201
181
  interfaceName?: string | undefined;
202
182
  ipVersion?: string | undefined;
183
+ hostname: string;
184
+ port: string | number;
203
185
  tls13?: boolean | undefined;
204
186
  skipCertVerify?: boolean | undefined;
187
+ sni?: string | undefined;
205
188
  alpn?: [string, ...string[]] | undefined;
206
189
  serverCertFingerprintSha256?: string | undefined;
207
190
  clientFingerprint?: string | undefined;
208
- headers?: Record<string, string> | undefined;
209
- udpRelay?: boolean | undefined;
191
+ type: NodeTypeEnum.TrustTunnel;
192
+ username: string;
193
+ password: string;
210
194
  quic?: boolean | undefined;
195
+ udpRelay?: boolean | undefined;
196
+ headers?: Record<string, string> | undefined;
197
+ healthCheck?: boolean | undefined;
198
+ nameCertVerify?: string | undefined;
199
+ congestionController?: string | undefined;
200
+ bbrProfile?: "aggressive" | "conservative" | "standard" | undefined;
211
201
  maxConnections?: number | undefined;
212
202
  minStreams?: number | undefined;
213
203
  maxStreams?: number | undefined;
214
- congestionController?: string | undefined;
215
- bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
216
- healthCheck?: boolean | undefined;
217
- nameCertVerify?: string | undefined;
218
204
  }>, {
219
- port: string | number;
220
- type: NodeTypeEnum.TrustTunnel;
221
205
  nodeName: string;
222
- password: string;
223
- hostname: string;
224
- username: string;
225
206
  enable?: boolean | undefined;
226
207
  tfo?: boolean | undefined;
227
208
  mptcp?: boolean | undefined;
228
209
  ecn?: boolean | undefined;
229
- sni?: string | undefined;
230
210
  shadowTls?: {
211
+ version?: string | number | undefined;
231
212
  password: string;
232
213
  sni: string;
233
- version?: string | number | undefined;
234
214
  } | undefined;
235
- blockQuic?: "auto" | "on" | "off" | undefined;
215
+ blockQuic?: "auto" | "off" | "on" | undefined;
236
216
  portHopping?: string | undefined;
237
217
  portHoppingInterval?: number | undefined;
238
218
  underlyingProxy?: string | undefined;
239
219
  testUrl?: string | undefined;
240
220
  testTimeout?: number | undefined;
241
221
  surgeConfig?: {
242
- resolveHostname?: boolean | undefined;
243
222
  vmessAEAD?: boolean | undefined;
244
223
  } | undefined;
245
224
  surfboardConfig?: {
@@ -255,51 +234,47 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
255
234
  enableVless?: boolean | undefined;
256
235
  clashCore?: "clash" | "clash.meta" | "stash" | undefined;
257
236
  } | undefined;
258
- hostnameIp?: readonly string[] | undefined;
259
- binPath?: string | undefined;
260
- localPort?: number | undefined;
261
237
  interfaceName?: string | undefined;
262
238
  ipVersion?: string | undefined;
239
+ hostname: string;
240
+ port: string | number;
263
241
  tls13?: boolean | undefined;
264
242
  skipCertVerify?: boolean | undefined;
243
+ sni?: string | undefined;
265
244
  alpn?: [string, ...string[]] | undefined;
266
245
  serverCertFingerprintSha256?: string | undefined;
267
246
  clientFingerprint?: string | undefined;
268
- headers?: Record<string, string> | undefined;
269
- udpRelay?: boolean | undefined;
247
+ type: NodeTypeEnum.TrustTunnel;
248
+ username: string;
249
+ password: string;
270
250
  quic?: boolean | undefined;
251
+ udpRelay?: boolean | undefined;
252
+ headers?: Record<string, string> | undefined;
253
+ healthCheck?: boolean | undefined;
254
+ nameCertVerify?: string | undefined;
255
+ congestionController?: string | undefined;
256
+ bbrProfile?: "aggressive" | "conservative" | "standard" | undefined;
271
257
  maxConnections?: number | undefined;
272
258
  minStreams?: number | undefined;
273
259
  maxStreams?: number | undefined;
274
- congestionController?: string | undefined;
275
- bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
276
- healthCheck?: boolean | undefined;
277
- nameCertVerify?: string | undefined;
278
260
  }, {
279
- port: string | number;
280
- type: NodeTypeEnum.TrustTunnel;
281
261
  nodeName: string;
282
- password: string;
283
- hostname: string;
284
- username: string;
285
262
  enable?: boolean | undefined;
286
263
  tfo?: boolean | undefined;
287
264
  mptcp?: boolean | undefined;
288
265
  ecn?: boolean | undefined;
289
- sni?: string | undefined;
290
266
  shadowTls?: {
267
+ version?: string | number | undefined;
291
268
  password: string;
292
269
  sni: string;
293
- version?: string | number | undefined;
294
270
  } | undefined;
295
- blockQuic?: "auto" | "on" | "off" | undefined;
271
+ blockQuic?: "auto" | "off" | "on" | undefined;
296
272
  portHopping?: string | undefined;
297
273
  portHoppingInterval?: number | undefined;
298
274
  underlyingProxy?: string | undefined;
299
275
  testUrl?: string | undefined;
300
276
  testTimeout?: number | undefined;
301
277
  surgeConfig?: {
302
- resolveHostname?: boolean | undefined;
303
278
  vmessAEAD?: boolean | undefined;
304
279
  } | undefined;
305
280
  surfboardConfig?: {
@@ -313,26 +288,29 @@ export declare const TrustTunnelNodeConfigValidator: z.ZodEffects<z.ZodObject<{
313
288
  enableShadowTls?: boolean | undefined;
314
289
  enableHysteria2?: boolean | undefined;
315
290
  enableVless?: boolean | undefined;
316
- clashCore?: "clash" | "clash.meta" | "stash" | undefined;
291
+ clashCore?: "clash" | "clash.meta" | "mihomo" | "stash" | undefined;
317
292
  } | undefined;
318
- hostnameIp?: readonly string[] | undefined;
319
- binPath?: string | undefined;
320
- localPort?: number | undefined;
321
293
  interfaceName?: string | undefined;
322
294
  ipVersion?: string | undefined;
295
+ hostname: string;
296
+ port: string | number;
323
297
  tls13?: boolean | undefined;
324
298
  skipCertVerify?: boolean | undefined;
299
+ sni?: string | undefined;
325
300
  alpn?: [string, ...string[]] | undefined;
326
301
  serverCertFingerprintSha256?: string | undefined;
327
302
  clientFingerprint?: string | undefined;
328
- headers?: Record<string, string> | undefined;
329
- udpRelay?: boolean | undefined;
303
+ type: NodeTypeEnum.TrustTunnel;
304
+ username: string;
305
+ password: string;
330
306
  quic?: boolean | undefined;
307
+ udpRelay?: boolean | undefined;
308
+ headers?: Record<string, string> | undefined;
309
+ healthCheck?: boolean | undefined;
310
+ nameCertVerify?: string | undefined;
311
+ congestionController?: string | undefined;
312
+ bbrProfile?: "aggressive" | "conservative" | "standard" | undefined;
331
313
  maxConnections?: number | undefined;
332
314
  minStreams?: number | undefined;
333
315
  maxStreams?: number | undefined;
334
- congestionController?: string | undefined;
335
- bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
336
- healthCheck?: boolean | undefined;
337
- nameCertVerify?: string | undefined;
338
316
  }>;
@@ -1,28 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrustTunnelNodeConfigValidator = void 0;
4
- const zod_1 = require("zod");
5
- const types_1 = require("../types");
6
- const common_1 = require("./common");
7
- exports.TrustTunnelNodeConfigValidator = common_1.TlsNodeConfigValidator.extend({
8
- type: zod_1.z.literal(types_1.NodeTypeEnum.TrustTunnel),
9
- username: zod_1.z.string(),
10
- password: zod_1.z.string(),
11
- quic: zod_1.z.oboolean(),
12
- udpRelay: zod_1.z.oboolean(),
13
- headers: zod_1.z.record(zod_1.z.string()).optional(),
14
- healthCheck: zod_1.z.oboolean(),
15
- nameCertVerify: zod_1.z.ostring(),
16
- congestionController: zod_1.z.string().min(1).optional(),
17
- bbrProfile: zod_1.z.enum(['standard', 'conservative', 'aggressive']).optional(),
18
- maxConnections: zod_1.z.number().int().nonnegative().optional(),
19
- minStreams: zod_1.z.number().int().nonnegative().optional(),
20
- maxStreams: zod_1.z.number().int().nonnegative().optional(),
1
+ import { z } from 'zod/v3';
2
+ import { NodeTypeEnum } from '../types.js';
3
+ import { TlsNodeConfigValidator } from './common.js';
4
+ export const TrustTunnelNodeConfigValidator = TlsNodeConfigValidator.extend({
5
+ type: z.literal(NodeTypeEnum.TrustTunnel),
6
+ username: z.string(),
7
+ password: z.string(),
8
+ quic: z.oboolean(),
9
+ udpRelay: z.oboolean(),
10
+ headers: z.record(z.string()).optional(),
11
+ healthCheck: z.oboolean(),
12
+ nameCertVerify: z.ostring(),
13
+ congestionController: z.string().min(1).optional(),
14
+ bbrProfile: z.enum(['standard', 'conservative', 'aggressive']).optional(),
15
+ maxConnections: z.number().int().nonnegative().optional(),
16
+ minStreams: z.number().int().nonnegative().optional(),
17
+ maxStreams: z.number().int().nonnegative().optional(),
21
18
  }).superRefine((node, ctx) => {
22
19
  const requiredAlpn = node.quic ? 'h3' : 'h2';
23
20
  if (node.alpn && !node.alpn.includes(requiredAlpn)) {
24
21
  ctx.addIssue({
25
- code: zod_1.z.ZodIssueCode.custom,
22
+ code: z.ZodIssueCode.custom,
26
23
  message: `TrustTunnel ${node.quic ? 'QUIC' : 'HTTP/2'} 模式的 alpn 必须包含 ${requiredAlpn}`,
27
24
  path: ['alpn'],
28
25
  });
@@ -30,7 +27,7 @@ exports.TrustTunnelNodeConfigValidator = common_1.TlsNodeConfigValidator.extend(
30
27
  if (!node.quic &&
31
28
  (node.portHopping || node.portHoppingInterval !== undefined)) {
32
29
  ctx.addIssue({
33
- code: zod_1.z.ZodIssueCode.custom,
30
+ code: z.ZodIssueCode.custom,
34
31
  message: 'TrustTunnel 仅在 QUIC 模式下支持端口跳跃',
35
32
  path: ['portHopping'],
36
33
  });
@@ -38,14 +35,14 @@ exports.TrustTunnelNodeConfigValidator = common_1.TlsNodeConfigValidator.extend(
38
35
  if (!node.quic &&
39
36
  (node.congestionController !== undefined || node.bbrProfile !== undefined)) {
40
37
  ctx.addIssue({
41
- code: zod_1.z.ZodIssueCode.custom,
38
+ code: z.ZodIssueCode.custom,
42
39
  message: 'TrustTunnel 仅在 QUIC 模式下支持拥塞控制参数',
43
40
  path: ['congestionController'],
44
41
  });
45
42
  }
46
43
  if (node.quic && node.shadowTls) {
47
44
  ctx.addIssue({
48
- code: zod_1.z.ZodIssueCode.custom,
45
+ code: z.ZodIssueCode.custom,
49
46
  message: 'TrustTunnel QUIC 模式不支持 Shadow TLS',
50
47
  path: ['shadowTls'],
51
48
  });
@@ -53,7 +50,7 @@ exports.TrustTunnelNodeConfigValidator = common_1.TlsNodeConfigValidator.extend(
53
50
  if (node.maxStreams !== undefined &&
54
51
  (node.maxConnections !== undefined || node.minStreams !== undefined)) {
55
52
  ctx.addIssue({
56
- code: zod_1.z.ZodIssueCode.custom,
53
+ code: z.ZodIssueCode.custom,
57
54
  message: 'TrustTunnel 的 maxStreams 不能与 maxConnections 或 minStreams 同时配置',
58
55
  path: ['maxStreams'],
59
56
  });