tunli 0.0.27 → 0.2.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 (388) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +158 -67
  3. package/bin/tunli +4 -5
  4. package/dist/api-client/ApiClient.d.ts +18 -0
  5. package/dist/api-client/ApiClient.d.ts.map +1 -0
  6. package/dist/api-client/ApiClient.js +100 -0
  7. package/dist/api-client/ApiClient.js.map +1 -0
  8. package/dist/api-client/types.d.ts +26 -0
  9. package/dist/api-client/types.d.ts.map +1 -0
  10. package/dist/api-client/types.js +2 -0
  11. package/dist/api-client/types.js.map +1 -0
  12. package/dist/api-client/utils.d.ts +4 -0
  13. package/dist/api-client/utils.d.ts.map +1 -0
  14. package/dist/api-client/utils.js +13 -0
  15. package/dist/api-client/utils.js.map +1 -0
  16. package/dist/cli-app/AppEventEmitter.d.ts +57 -0
  17. package/dist/cli-app/AppEventEmitter.d.ts.map +1 -0
  18. package/dist/cli-app/AppEventEmitter.js +11 -0
  19. package/dist/cli-app/AppEventEmitter.js.map +1 -0
  20. package/dist/cli-app/Dashboard.d.ts +4 -0
  21. package/dist/cli-app/Dashboard.d.ts.map +1 -0
  22. package/dist/cli-app/Dashboard.js +241 -0
  23. package/dist/cli-app/Dashboard.js.map +1 -0
  24. package/dist/cli-app/LiveLog.d.ts +4 -0
  25. package/dist/cli-app/LiveLog.d.ts.map +1 -0
  26. package/dist/cli-app/LiveLog.js +28 -0
  27. package/dist/cli-app/LiveLog.js.map +1 -0
  28. package/dist/cli-app/types.d.ts +10 -0
  29. package/dist/cli-app/types.d.ts.map +1 -0
  30. package/dist/cli-app/types.js +2 -0
  31. package/dist/cli-app/types.js.map +1 -0
  32. package/dist/cli-app/versionCheck.d.ts +4 -0
  33. package/dist/cli-app/versionCheck.d.ts.map +1 -0
  34. package/dist/cli-app/versionCheck.js +46 -0
  35. package/dist/cli-app/versionCheck.js.map +1 -0
  36. package/dist/client.d.ts +2 -0
  37. package/dist/client.d.ts.map +1 -0
  38. package/dist/client.js +75 -0
  39. package/dist/client.js.map +1 -0
  40. package/dist/commander/Argument.d.ts +19 -0
  41. package/dist/commander/Argument.d.ts.map +1 -0
  42. package/dist/commander/Argument.js +25 -0
  43. package/dist/commander/Argument.js.map +1 -0
  44. package/dist/commander/Command.d.ts +23 -0
  45. package/dist/commander/Command.d.ts.map +1 -0
  46. package/dist/commander/Command.js +159 -0
  47. package/dist/commander/Command.js.map +1 -0
  48. package/dist/commander/InvalidArgumentError.d.ts +5 -0
  49. package/dist/commander/InvalidArgumentError.d.ts.map +1 -0
  50. package/dist/commander/InvalidArgumentError.js +8 -0
  51. package/dist/commander/InvalidArgumentError.js.map +1 -0
  52. package/dist/commander/Option.d.ts +15 -0
  53. package/dist/commander/Option.d.ts.map +1 -0
  54. package/dist/commander/Option.js +43 -0
  55. package/dist/commander/Option.js.map +1 -0
  56. package/dist/commander/index.d.ts +7 -0
  57. package/dist/commander/index.d.ts.map +1 -0
  58. package/dist/commander/index.js +5 -0
  59. package/dist/commander/index.js.map +1 -0
  60. package/dist/commander/types.d.ts +2 -0
  61. package/dist/commander/types.d.ts.map +1 -0
  62. package/dist/commander/types.js +2 -0
  63. package/dist/commander/types.js.map +1 -0
  64. package/dist/commands/CommandAuth/CommandAuth.d.ts +4 -0
  65. package/dist/commands/CommandAuth/CommandAuth.d.ts.map +1 -0
  66. package/dist/commands/CommandAuth/CommandAuth.js +24 -0
  67. package/dist/commands/CommandAuth/CommandAuth.js.map +1 -0
  68. package/dist/commands/CommandConfig/CommandConfig.d.ts +4 -0
  69. package/dist/commands/CommandConfig/CommandConfig.d.ts.map +1 -0
  70. package/dist/commands/CommandConfig/CommandConfig.js +37 -0
  71. package/dist/commands/CommandConfig/CommandConfig.js.map +1 -0
  72. package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.d.ts +4 -0
  73. package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.d.ts.map +1 -0
  74. package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.js +20 -0
  75. package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.js.map +1 -0
  76. package/dist/commands/CommandConfig/sub-commands/configGetCommand.d.ts +5 -0
  77. package/dist/commands/CommandConfig/sub-commands/configGetCommand.d.ts.map +1 -0
  78. package/dist/commands/CommandConfig/sub-commands/configGetCommand.js +23 -0
  79. package/dist/commands/CommandConfig/sub-commands/configGetCommand.js.map +1 -0
  80. package/dist/commands/CommandConfig/sub-commands/configSetCommand.d.ts +4 -0
  81. package/dist/commands/CommandConfig/sub-commands/configSetCommand.d.ts.map +1 -0
  82. package/dist/commands/CommandConfig/sub-commands/configSetCommand.js +69 -0
  83. package/dist/commands/CommandConfig/sub-commands/configSetCommand.js.map +1 -0
  84. package/dist/commands/CommandConfig/types.d.ts +6 -0
  85. package/dist/commands/CommandConfig/types.d.ts.map +1 -0
  86. package/dist/commands/CommandConfig/types.js +2 -0
  87. package/dist/commands/CommandConfig/types.js.map +1 -0
  88. package/dist/commands/CommandConfig/utils/preparePrimaryOptions.d.ts +3 -0
  89. package/dist/commands/CommandConfig/utils/preparePrimaryOptions.d.ts.map +1 -0
  90. package/dist/commands/CommandConfig/utils/preparePrimaryOptions.js +8 -0
  91. package/dist/commands/CommandConfig/utils/preparePrimaryOptions.js.map +1 -0
  92. package/dist/commands/CommandConfig/utils/resolveConfig.d.ts +8 -0
  93. package/dist/commands/CommandConfig/utils/resolveConfig.d.ts.map +1 -0
  94. package/dist/commands/CommandConfig/utils/resolveConfig.js +33 -0
  95. package/dist/commands/CommandConfig/utils/resolveConfig.js.map +1 -0
  96. package/dist/commands/CommandConfig/utils/sharedOptions.d.ts +3 -0
  97. package/dist/commands/CommandConfig/utils/sharedOptions.d.ts.map +1 -0
  98. package/dist/commands/CommandConfig/utils/sharedOptions.js +14 -0
  99. package/dist/commands/CommandConfig/utils/sharedOptions.js.map +1 -0
  100. package/dist/commands/CommandDaemon/CommandDaemon.d.ts +4 -0
  101. package/dist/commands/CommandDaemon/CommandDaemon.d.ts.map +1 -0
  102. package/dist/commands/CommandDaemon/CommandDaemon.js +57 -0
  103. package/dist/commands/CommandDaemon/CommandDaemon.js.map +1 -0
  104. package/dist/commands/CommandDashboard/CommandDashboard.d.ts +4 -0
  105. package/dist/commands/CommandDashboard/CommandDashboard.d.ts.map +1 -0
  106. package/dist/commands/CommandDashboard/CommandDashboard.js +54 -0
  107. package/dist/commands/CommandDashboard/CommandDashboard.js.map +1 -0
  108. package/dist/commands/CommandHTTP/CommandHttp.d.ts +4 -0
  109. package/dist/commands/CommandHTTP/CommandHttp.d.ts.map +1 -0
  110. package/dist/commands/CommandHTTP/CommandHttp.js +50 -0
  111. package/dist/commands/CommandHTTP/CommandHttp.js.map +1 -0
  112. package/dist/commands/CommandInit/CommandInit.d.ts +4 -0
  113. package/dist/commands/CommandInit/CommandInit.d.ts.map +1 -0
  114. package/dist/commands/CommandInit/CommandInit.js +36 -0
  115. package/dist/commands/CommandInit/CommandInit.js.map +1 -0
  116. package/dist/commands/CommandList/CommandList.d.ts +4 -0
  117. package/dist/commands/CommandList/CommandList.d.ts.map +1 -0
  118. package/dist/commands/CommandList/CommandList.js +54 -0
  119. package/dist/commands/CommandList/CommandList.js.map +1 -0
  120. package/dist/commands/CommandLogs/CommandLogs.d.ts +4 -0
  121. package/dist/commands/CommandLogs/CommandLogs.d.ts.map +1 -0
  122. package/dist/commands/CommandLogs/CommandLogs.js +33 -0
  123. package/dist/commands/CommandLogs/CommandLogs.js.map +1 -0
  124. package/dist/commands/CommandProfile/CommandProfile.d.ts +5 -0
  125. package/dist/commands/CommandProfile/CommandProfile.d.ts.map +1 -0
  126. package/dist/commands/CommandProfile/CommandProfile.js +64 -0
  127. package/dist/commands/CommandProfile/CommandProfile.js.map +1 -0
  128. package/dist/commands/CommandRegister/CommandRegister.d.ts +4 -0
  129. package/dist/commands/CommandRegister/CommandRegister.d.ts.map +1 -0
  130. package/dist/commands/CommandRegister/CommandRegister.js +43 -0
  131. package/dist/commands/CommandRegister/CommandRegister.js.map +1 -0
  132. package/dist/commands/CommandRestart/CommandRestart.d.ts +4 -0
  133. package/dist/commands/CommandRestart/CommandRestart.d.ts.map +1 -0
  134. package/dist/commands/CommandRestart/CommandRestart.js +62 -0
  135. package/dist/commands/CommandRestart/CommandRestart.js.map +1 -0
  136. package/dist/commands/CommandServer/CommandServer.d.ts +4 -0
  137. package/dist/commands/CommandServer/CommandServer.d.ts.map +1 -0
  138. package/dist/commands/CommandServer/CommandServer.js +24 -0
  139. package/dist/commands/CommandServer/CommandServer.js.map +1 -0
  140. package/dist/commands/CommandStop/CommandStop.d.ts +4 -0
  141. package/dist/commands/CommandStop/CommandStop.d.ts.map +1 -0
  142. package/dist/commands/CommandStop/CommandStop.js +25 -0
  143. package/dist/commands/CommandStop/CommandStop.js.map +1 -0
  144. package/dist/commands/CommandUpdate/CommandUpdate.d.ts +4 -0
  145. package/dist/commands/CommandUpdate/CommandUpdate.d.ts.map +1 -0
  146. package/dist/commands/CommandUpdate/CommandUpdate.js +38 -0
  147. package/dist/commands/CommandUpdate/CommandUpdate.js.map +1 -0
  148. package/dist/commands/CommandUseProfile/CommandUseProfile.d.ts +4 -0
  149. package/dist/commands/CommandUseProfile/CommandUseProfile.d.ts.map +1 -0
  150. package/dist/commands/CommandUseProfile/CommandUseProfile.js +63 -0
  151. package/dist/commands/CommandUseProfile/CommandUseProfile.js.map +1 -0
  152. package/dist/commands/helper/Help.d.ts +4 -0
  153. package/dist/commands/helper/Help.d.ts.map +1 -0
  154. package/dist/commands/helper/Help.js +134 -0
  155. package/dist/commands/helper/Help.js.map +1 -0
  156. package/dist/commands/helper/Parser.d.ts +55 -0
  157. package/dist/commands/helper/Parser.d.ts.map +1 -0
  158. package/dist/commands/helper/Parser.js +280 -0
  159. package/dist/commands/helper/Parser.js.map +1 -0
  160. package/dist/commands/shared/allowDenyCidrCommand.d.ts +3 -0
  161. package/dist/commands/shared/allowDenyCidrCommand.d.ts.map +1 -0
  162. package/dist/commands/shared/allowDenyCidrCommand.js +10 -0
  163. package/dist/commands/shared/allowDenyCidrCommand.js.map +1 -0
  164. package/dist/commands/shared/configServersCommand.d.ts +4 -0
  165. package/dist/commands/shared/configServersCommand.d.ts.map +1 -0
  166. package/dist/commands/shared/configServersCommand.js +19 -0
  167. package/dist/commands/shared/configServersCommand.js.map +1 -0
  168. package/dist/commands/utils.d.ts +3 -0
  169. package/dist/commands/utils.d.ts.map +1 -0
  170. package/dist/commands/utils.js +17 -0
  171. package/dist/commands/utils.js.map +1 -0
  172. package/dist/config/ParsedConfig.d.ts +31 -0
  173. package/dist/config/ParsedConfig.d.ts.map +1 -0
  174. package/dist/config/ParsedConfig.js +116 -0
  175. package/dist/config/ParsedConfig.js.map +1 -0
  176. package/dist/config/ParsedGlobalConfig.d.ts +5 -0
  177. package/dist/config/ParsedGlobalConfig.d.ts.map +1 -0
  178. package/dist/config/ParsedGlobalConfig.js +7 -0
  179. package/dist/config/ParsedGlobalConfig.js.map +1 -0
  180. package/dist/config/ParsedLocalConfig.d.ts +5 -0
  181. package/dist/config/ParsedLocalConfig.d.ts.map +1 -0
  182. package/dist/config/ParsedLocalConfig.js +7 -0
  183. package/dist/config/ParsedLocalConfig.js.map +1 -0
  184. package/dist/config/ParsedProfileConfig.d.ts +46 -0
  185. package/dist/config/ParsedProfileConfig.d.ts.map +1 -0
  186. package/dist/config/ParsedProfileConfig.js +120 -0
  187. package/dist/config/ParsedProfileConfig.js.map +1 -0
  188. package/dist/config/ParsedServerConfig.d.ts +20 -0
  189. package/dist/config/ParsedServerConfig.d.ts.map +1 -0
  190. package/dist/config/ParsedServerConfig.js +55 -0
  191. package/dist/config/ParsedServerConfig.js.map +1 -0
  192. package/dist/config/TempProfileConfig.d.ts +8 -0
  193. package/dist/config/TempProfileConfig.d.ts.map +1 -0
  194. package/dist/config/TempProfileConfig.js +13 -0
  195. package/dist/config/TempProfileConfig.js.map +1 -0
  196. package/dist/config/utils.d.ts +2 -0
  197. package/dist/config/utils.d.ts.map +1 -0
  198. package/dist/config/utils.js +8 -0
  199. package/dist/config/utils.js.map +1 -0
  200. package/dist/config/validations/validateProfileConfig.d.ts +4 -0
  201. package/dist/config/validations/validateProfileConfig.d.ts.map +1 -0
  202. package/dist/config/validations/validateProfileConfig.js +76 -0
  203. package/dist/config/validations/validateProfileConfig.js.map +1 -0
  204. package/dist/core/FS/utils.d.ts +12 -0
  205. package/dist/core/FS/utils.d.ts.map +1 -0
  206. package/dist/core/FS/utils.js +55 -0
  207. package/dist/core/FS/utils.js.map +1 -0
  208. package/dist/daemon/DaemonClient.d.ts +16 -0
  209. package/dist/daemon/DaemonClient.d.ts.map +1 -0
  210. package/dist/daemon/DaemonClient.js +158 -0
  211. package/dist/daemon/DaemonClient.js.map +1 -0
  212. package/dist/daemon/DaemonServer.d.ts +8 -0
  213. package/dist/daemon/DaemonServer.d.ts.map +1 -0
  214. package/dist/daemon/DaemonServer.js +201 -0
  215. package/dist/daemon/DaemonServer.js.map +1 -0
  216. package/dist/daemon/protocol.d.ts +101 -0
  217. package/dist/daemon/protocol.d.ts.map +1 -0
  218. package/dist/daemon/protocol.js +2 -0
  219. package/dist/daemon/protocol.js.map +1 -0
  220. package/dist/daemon-main.d.ts +2 -0
  221. package/dist/daemon-main.d.ts.map +1 -0
  222. package/dist/daemon-main.js +13 -0
  223. package/dist/daemon-main.js.map +1 -0
  224. package/dist/launcher-main.d.ts +2 -0
  225. package/dist/launcher-main.d.ts.map +1 -0
  226. package/dist/launcher-main.js +57 -0
  227. package/dist/launcher-main.js.map +1 -0
  228. package/dist/lib/Flow/applyUpdate.d.ts +3 -0
  229. package/dist/lib/Flow/applyUpdate.d.ts.map +1 -0
  230. package/dist/lib/Flow/applyUpdate.js +34 -0
  231. package/dist/lib/Flow/applyUpdate.js.map +1 -0
  232. package/dist/lib/Flow/downloadBinaryUpdate.d.ts +3 -0
  233. package/dist/lib/Flow/downloadBinaryUpdate.d.ts.map +1 -0
  234. package/dist/lib/Flow/downloadBinaryUpdate.js +54 -0
  235. package/dist/lib/Flow/downloadBinaryUpdate.js.map +1 -0
  236. package/dist/lib/Flow/getLatestVersion.d.ts +2 -0
  237. package/dist/lib/Flow/getLatestVersion.d.ts.map +1 -0
  238. package/dist/lib/Flow/getLatestVersion.js +13 -0
  239. package/dist/lib/Flow/getLatestVersion.js.map +1 -0
  240. package/dist/lib/defs.d.ts +18 -0
  241. package/dist/lib/defs.d.ts.map +1 -0
  242. package/dist/lib/defs.js +33 -0
  243. package/dist/lib/defs.js.map +1 -0
  244. package/dist/logger/logger.d.ts +6 -0
  245. package/dist/logger/logger.d.ts.map +1 -0
  246. package/dist/logger/logger.js +34 -0
  247. package/dist/logger/logger.js.map +1 -0
  248. package/dist/output-formats/colors.d.ts +7 -0
  249. package/dist/output-formats/colors.d.ts.map +1 -0
  250. package/dist/output-formats/colors.js +8 -0
  251. package/dist/output-formats/colors.js.map +1 -0
  252. package/dist/output-formats/formatConfig.d.ts +3 -0
  253. package/dist/output-formats/formatConfig.d.ts.map +1 -0
  254. package/dist/output-formats/formatConfig.js +59 -0
  255. package/dist/output-formats/formatConfig.js.map +1 -0
  256. package/dist/output-formats/formatConfigPath.d.ts +4 -0
  257. package/dist/output-formats/formatConfigPath.d.ts.map +1 -0
  258. package/dist/output-formats/formatConfigPath.js +7 -0
  259. package/dist/output-formats/formatConfigPath.js.map +1 -0
  260. package/dist/output-formats/formatPath.d.ts +2 -0
  261. package/dist/output-formats/formatPath.d.ts.map +1 -0
  262. package/dist/output-formats/formatPath.js +6 -0
  263. package/dist/output-formats/formatPath.js.map +1 -0
  264. package/dist/output-formats/formatProfile.d.ts +3 -0
  265. package/dist/output-formats/formatProfile.d.ts.map +1 -0
  266. package/dist/output-formats/formatProfile.js +35 -0
  267. package/dist/output-formats/formatProfile.js.map +1 -0
  268. package/dist/output-formats/formatProfilesShort.d.ts +3 -0
  269. package/dist/output-formats/formatProfilesShort.d.ts.map +1 -0
  270. package/dist/output-formats/formatProfilesShort.js +19 -0
  271. package/dist/output-formats/formatProfilesShort.js.map +1 -0
  272. package/dist/output-formats/formatSaveResult.d.ts +4 -0
  273. package/dist/output-formats/formatSaveResult.d.ts.map +1 -0
  274. package/dist/output-formats/formatSaveResult.js +7 -0
  275. package/dist/output-formats/formatSaveResult.js.map +1 -0
  276. package/dist/output-formats/table.d.ts +8 -0
  277. package/dist/output-formats/table.d.ts.map +1 -0
  278. package/dist/output-formats/table.js +15 -0
  279. package/dist/output-formats/table.js.map +1 -0
  280. package/dist/package-json/packageJson.d.ts +6 -0
  281. package/dist/package-json/packageJson.d.ts.map +1 -0
  282. package/dist/package-json/packageJson.js +12 -0
  283. package/dist/package-json/packageJson.js.map +1 -0
  284. package/dist/proxy/Proxy.d.ts +6 -0
  285. package/dist/proxy/Proxy.d.ts.map +1 -0
  286. package/dist/proxy/Proxy.js +203 -0
  287. package/dist/proxy/Proxy.js.map +1 -0
  288. package/dist/sea-main.d.ts +2 -0
  289. package/dist/sea-main.d.ts.map +1 -0
  290. package/dist/sea-main.js +20 -0
  291. package/dist/sea-main.js.map +1 -0
  292. package/dist/types/types.d.ts +55 -0
  293. package/dist/types/types.d.ts.map +1 -0
  294. package/dist/types/types.js +2 -0
  295. package/dist/types/types.js.map +1 -0
  296. package/dist/utils/arrayFunctions.d.ts +24 -0
  297. package/dist/utils/arrayFunctions.d.ts.map +1 -0
  298. package/dist/utils/arrayFunctions.js +43 -0
  299. package/dist/utils/arrayFunctions.js.map +1 -0
  300. package/dist/utils/assertFunctions.d.ts +7 -0
  301. package/dist/utils/assertFunctions.d.ts.map +1 -0
  302. package/dist/utils/assertFunctions.js +20 -0
  303. package/dist/utils/assertFunctions.js.map +1 -0
  304. package/dist/utils/checkFunctions.d.ts +34 -0
  305. package/dist/utils/checkFunctions.d.ts.map +1 -0
  306. package/dist/utils/checkFunctions.js +87 -0
  307. package/dist/utils/checkFunctions.js.map +1 -0
  308. package/dist/utils/cliFunctions.d.ts +10 -0
  309. package/dist/utils/cliFunctions.d.ts.map +1 -0
  310. package/dist/utils/cliFunctions.js +68 -0
  311. package/dist/utils/cliFunctions.js.map +1 -0
  312. package/dist/utils/hashFunctions.d.ts +10 -0
  313. package/dist/utils/hashFunctions.d.ts.map +1 -0
  314. package/dist/utils/hashFunctions.js +11 -0
  315. package/dist/utils/hashFunctions.js.map +1 -0
  316. package/dist/utils/npmFunctions.d.ts +3 -0
  317. package/dist/utils/npmFunctions.d.ts.map +1 -0
  318. package/dist/utils/npmFunctions.js +28 -0
  319. package/dist/utils/npmFunctions.js.map +1 -0
  320. package/dist/utils/stringFunctions.d.ts +12 -0
  321. package/dist/utils/stringFunctions.d.ts.map +1 -0
  322. package/dist/utils/stringFunctions.js +37 -0
  323. package/dist/utils/stringFunctions.js.map +1 -0
  324. package/package.json +39 -16
  325. package/client.js +0 -33
  326. package/src/cli-app/Dashboard.js +0 -220
  327. package/src/cli-app/Screen/FullScreenModal.js +0 -63
  328. package/src/cli-app/Screen.js +0 -140
  329. package/src/cli-app/elements/ElementNode.js +0 -97
  330. package/src/cli-app/elements/Line.js +0 -21
  331. package/src/cli-app/elements/List/List.js +0 -227
  332. package/src/cli-app/elements/List/ListCell.js +0 -83
  333. package/src/cli-app/elements/List/ListColumn.js +0 -52
  334. package/src/cli-app/elements/List/ListRow.js +0 -118
  335. package/src/cli-app/elements/Row.js +0 -38
  336. package/src/cli-app/helper/utils.js +0 -42
  337. package/src/commands/Action/addDelValuesAction.js +0 -56
  338. package/src/commands/CommandAuth.js +0 -32
  339. package/src/commands/CommandClearAll.js +0 -27
  340. package/src/commands/CommandConfig.js +0 -59
  341. package/src/commands/CommandHTTP.js +0 -192
  342. package/src/commands/CommandInvite.js +0 -38
  343. package/src/commands/CommandRefresh.js +0 -35
  344. package/src/commands/CommandRegister.js +0 -48
  345. package/src/commands/Option/DeleteOption.js +0 -6
  346. package/src/commands/Option/ProfileListOption.js +0 -65
  347. package/src/commands/Option/SelectConfigOption.js +0 -52
  348. package/src/commands/SubCommand/AllowDenyCidrCommand.js +0 -28
  349. package/src/commands/SubCommand/HostCommand.js +0 -22
  350. package/src/commands/SubCommand/PortCommand.js +0 -20
  351. package/src/commands/SubCommand/ProtocolCommand.js +0 -21
  352. package/src/commands/helper/AliasResolver.js +0 -13
  353. package/src/commands/helper/BindArgs.js +0 -53
  354. package/src/commands/helper/SharedArg.js +0 -32
  355. package/src/commands/utils.js +0 -96
  356. package/src/config/ConfigAbstract.js +0 -353
  357. package/src/config/ConfigManager.js +0 -70
  358. package/src/config/GlobalConfig.js +0 -14
  359. package/src/config/GlobalLocalShardConfigAbstract.js +0 -98
  360. package/src/config/LocalConfig.js +0 -7
  361. package/src/config/PropertyConfig.js +0 -122
  362. package/src/config/SystemConfig.js +0 -31
  363. package/src/core/FS/utils.js +0 -60
  364. package/src/core/Ref.js +0 -70
  365. package/src/lib/Flow/getCurrentIp.js +0 -18
  366. package/src/lib/Flow/getLatestVersion.js +0 -13
  367. package/src/lib/Flow/proxyUrl.js +0 -35
  368. package/src/lib/Flow/validateAuthToken.js +0 -19
  369. package/src/lib/HttpClient.js +0 -61
  370. package/src/lib/Proxy.js +0 -42
  371. package/src/lib/defs.js +0 -13
  372. package/src/net/IPV4.js +0 -139
  373. package/src/net/http/IncomingMessage.js +0 -92
  374. package/src/net/http/ServerResponse.js +0 -126
  375. package/src/net/http/TunliRequest.js +0 -1
  376. package/src/net/http/TunliResponse.js +0 -1
  377. package/src/net/http/TunnelRequest.js +0 -229
  378. package/src/net/http/TunnelResponse.js +0 -119
  379. package/src/tunnel-client/TunnelClient.js +0 -144
  380. package/src/utils/arrayFunctions.js +0 -45
  381. package/src/utils/checkFunctions.js +0 -182
  382. package/src/utils/cliFunctions.js +0 -63
  383. package/src/utils/createRequest.js +0 -12
  384. package/src/utils/hashFunctions.js +0 -9
  385. package/src/utils/httpFunction.js +0 -23
  386. package/src/utils/npmFunctions.js +0 -27
  387. package/src/utils/stringFunctions.js +0 -59
  388. package/types/index.d.ts +0 -119
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../src/lib/defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAA;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,kEAAkE,CAAA;AAE3G,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE;IAC7C,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,GAAG,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACjG,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAK;QACvC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAA;IACvE,CAAC,QAAQ,mBAAmB,CAAC,GAAG,EAAE,KAAK,SAAS,IAAI,mBAAmB,CAAC,MAAM,EAAC;IAE/E,OAAO,YAAY,CAAA;AACrB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const logInfo: (message: string) => void;
2
+ export declare const logWarning: (message: string) => void;
3
+ export declare const logError: (message: string) => void;
4
+ export declare const logDebug: (message: string) => void;
5
+ export declare const logException: (e: unknown) => void;
6
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,SAEtC,CAAA;AACD,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,SAEzC,CAAA;AACD,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,SAEvC,CAAA;AACD,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,SAEvC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,SAItC,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { appendFileSync } from 'fs';
2
+ import { join } from "path";
3
+ import { GLOBAL_CONFIG_DIR } from "../lib/defs.js";
4
+ const log = (type, message) => {
5
+ const now = new Date();
6
+ const filename = `log-${now.getFullYear()}_${String(now.getMonth() + 1).padStart(2, '0')}_${String(now.getDate()).padStart(2, '0')}.log`;
7
+ const file = join(GLOBAL_CONFIG_DIR, filename);
8
+ const line = `[${now.toISOString()}] [${type.toUpperCase()}] ${message}\n`;
9
+ try {
10
+ appendFileSync(file, line, 'utf-8');
11
+ }
12
+ catch {
13
+ // silently ignore — log dir may not exist yet
14
+ }
15
+ };
16
+ export const logInfo = (message) => {
17
+ log('info', message);
18
+ };
19
+ export const logWarning = (message) => {
20
+ log('warning', message);
21
+ };
22
+ export const logError = (message) => {
23
+ log('error', message);
24
+ };
25
+ export const logDebug = (message) => {
26
+ log('debug', message);
27
+ };
28
+ export const logException = (e) => {
29
+ const message = e instanceof Error ? e.message : String(e);
30
+ log('error', message);
31
+ if (e instanceof Error && e.stack)
32
+ log('error', e.stack);
33
+ };
34
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,IAAI,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEjD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAA;IACxI,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAA;IAC1E,IAAI,CAAC;QACH,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;AACH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;IACzC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACtB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AACzB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE;IAC1C,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACvB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE;IAC1C,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,EAAE;IACzC,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK;QAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const dim: import("chalk").ChalkInstance;
2
+ export declare const green: import("chalk").ChalkInstance;
3
+ export declare const proxyColor: (v: string) => string;
4
+ export declare const missingColor: (v: string) => string;
5
+ export declare const activeColor: (v: string) => string;
6
+ export declare const bold: import("chalk").ChalkInstance;
7
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output-formats/colors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,+BAAwB,CAAA;AACxC,eAAO,MAAM,KAAK,+BAA0B,CAAA;AAE5C,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAA6D,CAAA;AACpG,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,MAAuC,CAAA;AAChF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAAoD,CAAA;AAE5F,eAAO,MAAM,IAAI,+BAAyB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import chalk from 'chalk';
2
+ export const dim = chalk.dim.bind(chalk);
3
+ export const green = chalk.green.bind(chalk);
4
+ export const proxyColor = (v) => v === 'yes' ? green(v.padEnd(5)) : dim(v.padEnd(5));
5
+ export const missingColor = (v) => v.trim() === '-' ? dim(v) : v;
6
+ export const activeColor = (v) => v.trim() === '*' ? chalk.green.bold(v) : v;
7
+ export const bold = chalk.bold.bind(chalk);
8
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output-formats/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACpG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ParsedConfig } from '#config/ParsedConfig';
2
+ export declare const formatConfig: (config: ParsedConfig) => string;
3
+ //# sourceMappingURL=formatConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatConfig.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AAKtD,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,KAAG,MA6DnD,CAAA"}
@@ -0,0 +1,59 @@
1
+ import { col, heading, row, tableWidth } from '#output-formats/table';
2
+ import { activeColor, dim, missingColor, proxyColor } from '#output-formats/colors';
3
+ import { formatPath } from '#output-formats/formatPath';
4
+ export const formatConfig = (config) => {
5
+ const lines = [];
6
+ // compute widths upfront
7
+ const profileRows = config.profiles.map(p => ({
8
+ name: p.name,
9
+ protocol: p.protocol ?? '-',
10
+ host: p.host ?? '-',
11
+ port: p.port !== undefined ? String(p.port) : '-',
12
+ proxy: p.proxy !== undefined ? 'yes' : 'no',
13
+ }));
14
+ const pw = [
15
+ col(profileRows.map(r => r.name), 'NAME'),
16
+ col(profileRows.map(r => r.protocol), 'PROTOCOL'),
17
+ col(profileRows.map(r => r.host), 'HOST'),
18
+ col(profileRows.map(r => r.port), 'PORT'),
19
+ col(profileRows.map(r => r.proxy), 'PROXY'),
20
+ ];
21
+ const pa = ['left', 'left', 'left', 'right', 'left'];
22
+ const pc = [undefined, missingColor, missingColor, missingColor, proxyColor];
23
+ const serverRows = config.servers.map(s => ({
24
+ name: s.name,
25
+ url: s.url ?? '-',
26
+ active: s.name === config.activeServer ? '*' : '',
27
+ }));
28
+ const sw = [
29
+ col(serverRows.map(r => r.name), 'NAME'),
30
+ col(serverRows.map(r => r.url), 'URL'),
31
+ col(serverRows.map(r => r.active), 'ACTIVE'),
32
+ ];
33
+ const sc = [undefined, missingColor, activeColor];
34
+ const totalWidth = Math.max(tableWidth(pw), tableWidth(sw));
35
+ // Config header
36
+ lines.push('');
37
+ lines.push(heading('Config', totalWidth));
38
+ lines.push(`${dim('Path')} ${config.filepath ? formatPath(config.filepath) : '-'}`);
39
+ lines.push(`${dim('Type')} ${config.mode}`);
40
+ // Profiles table
41
+ lines.push('');
42
+ lines.push('');
43
+ lines.push(heading('Profiles', totalWidth));
44
+ lines.push(row(['NAME', 'PROTOCOL', 'HOST', 'PORT', 'PROXY'], pw, pa, pw.map(() => dim)));
45
+ for (const r of profileRows) {
46
+ lines.push(row([r.name, r.protocol, r.host, r.port, r.proxy], pw, pa, pc));
47
+ }
48
+ // Servers table
49
+ lines.push('');
50
+ lines.push('');
51
+ lines.push(heading('Servers', totalWidth));
52
+ lines.push(row(['NAME', 'URL', 'ACTIVE'], sw, [], sw.map(() => dim)));
53
+ for (const r of serverRows) {
54
+ lines.push(row([r.name, r.url, r.active], sw, [], sc));
55
+ }
56
+ lines.push('');
57
+ return lines.join('\n');
58
+ };
59
+ //# sourceMappingURL=formatConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatConfig.js","sourceRoot":"","sources":["../../src/output-formats/formatConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ParsedProfileConfig } from "#config/ParsedProfileConfig";
2
+ import type { ParsedConfig } from "#config/ParsedConfig";
3
+ export declare const formatConfigPath: (profile: ParsedProfileConfig | ParsedConfig) => string;
4
+ //# sourceMappingURL=formatConfigPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatConfigPath.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatConfigPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,GAAI,SAAS,mBAAmB,GAAG,YAAY,KAAG,MAG9E,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { dim } from "#output-formats/colors";
2
+ import { formatPath } from "#output-formats/formatPath";
3
+ export const formatConfigPath = (profile) => {
4
+ const path = profile.filepath ? formatPath(profile.filepath) : '-';
5
+ return `Config: ${path} ${dim(`(${profile.locationType})`)}`;
6
+ };
7
+ //# sourceMappingURL=formatConfigPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatConfigPath.js","sourceRoot":"","sources":["../../src/output-formats/formatConfigPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAG3C,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA2C,EAAU,EAAE;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAClE,OAAO,WAAW,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAA;AAC9D,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const formatPath: (filepath: string) => string;
2
+ //# sourceMappingURL=formatPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatPath.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatPath.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,KAAG,MAG7C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { homedir } from 'os';
2
+ export const formatPath = (filepath) => {
3
+ const home = homedir();
4
+ return filepath.startsWith(home) ? `~${filepath.slice(home.length)}` : filepath;
5
+ };
6
+ //# sourceMappingURL=formatPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatPath.js","sourceRoot":"","sources":["../../src/output-formats/formatPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAA;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AACjF,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ParsedProfileConfig } from '#config/ParsedProfileConfig';
2
+ export declare const formatProfile: (profile: ParsedProfileConfig) => string;
3
+ //# sourceMappingURL=formatProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatProfile.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatProfile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAA;AAKpE,eAAO,MAAM,aAAa,GAAI,SAAS,mBAAmB,KAAG,MAkC5D,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { dim, missingColor, proxyColor } from '#output-formats/colors';
2
+ import { col, heading, row, tableWidth } from '#output-formats/table';
3
+ import { formatPath } from '#output-formats/formatPath';
4
+ export const formatProfile = (profile) => {
5
+ const lines = [];
6
+ const data = [{
7
+ name: profile.name,
8
+ protocol: profile.protocol ?? '-',
9
+ host: profile.host ?? '-',
10
+ port: profile.port !== undefined ? String(profile.port) : '-',
11
+ proxy: profile.proxy !== undefined ? 'yes' : 'no',
12
+ }];
13
+ const pw = [
14
+ col(data.map(r => r.name), 'NAME'),
15
+ col(data.map(r => r.protocol), 'PROTOCOL'),
16
+ col(data.map(r => r.host), 'HOST'),
17
+ col(data.map(r => r.port), 'PORT'),
18
+ col(data.map(r => r.proxy), 'PROXY'),
19
+ ];
20
+ const pa = ['left', 'left', 'left', 'right', 'left'];
21
+ const pc = [undefined, missingColor, missingColor, missingColor, proxyColor];
22
+ lines.push('');
23
+ lines.push(heading('Profile', tableWidth(pw)));
24
+ lines.push(`${dim('Name')} ${profile.name}`);
25
+ lines.push(`${dim('File')} ${profile.filepath ? formatPath(profile.filepath) : '-'}`);
26
+ lines.push(`${dim('Scope')} ${profile.locationType}`);
27
+ lines.push('');
28
+ lines.push(row(['NAME', 'PROTOCOL', 'HOST', 'PORT', 'PROXY'], pw, pa, pw.map(() => dim)));
29
+ for (const r of data) {
30
+ lines.push(row([r.name, r.protocol, r.host, r.port, r.proxy], pw, pa, pc));
31
+ }
32
+ lines.push('');
33
+ return lines.join('\n');
34
+ };
35
+ //# sourceMappingURL=formatProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatProfile.js","sourceRoot":"","sources":["../../src/output-formats/formatProfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ParsedConfig } from "#config/ParsedConfig";
2
+ export declare const formatProfilesShort: (config: ParsedConfig) => string;
3
+ //# sourceMappingURL=formatProfilesShort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatProfilesShort.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatProfilesShort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAIvD,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,WAiBvD,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { bold, green } from "#output-formats/colors";
2
+ import { formatConfigPath } from "#output-formats/formatConfigPath";
3
+ export const formatProfilesShort = (config) => {
4
+ const profiles = config.profiles;
5
+ const active = config.defaultProfile;
6
+ const rows = [
7
+ '',
8
+ formatConfigPath(config),
9
+ '',
10
+ ];
11
+ for (const profile of profiles) {
12
+ const marker = profile.name === active ? bold(green('* ')) : ' ';
13
+ const row = `${marker}${profile.name.padEnd(16)} ${profile.protocol}://${profile.host}:${profile.port}`;
14
+ rows.push(row);
15
+ }
16
+ rows.push('');
17
+ return rows.join("\n");
18
+ };
19
+ //# sourceMappingURL=formatProfilesShort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatProfilesShort.js","sourceRoot":"","sources":["../../src/output-formats/formatProfilesShort.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAoB,EAAE,EAAE;IAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAA;IAEpC,MAAM,IAAI,GAAG;QACX,EAAE;QACF,gBAAgB,CAAC,MAAM,CAAC;QACxB,EAAE;KACH,CAAA;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjE,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;QACvG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ParsedProfileConfig } from '#config/ParsedProfileConfig';
2
+ import type { ParsedConfig } from "#config/ParsedConfig";
3
+ export declare const formatSaveResult: (profile: ParsedProfileConfig | ParsedConfig) => string;
4
+ //# sourceMappingURL=formatSaveResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatSaveResult.d.ts","sourceRoot":"","sources":["../../src/output-formats/formatSaveResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAA;AAGpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,SAAS,mBAAmB,GAAG,YAAY,KAAG,MAG9E,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { formatPath } from '#output-formats/formatPath';
2
+ import { dim, green } from '#output-formats/colors';
3
+ export const formatSaveResult = (profile) => {
4
+ const path = profile.filepath ? formatPath(profile.filepath) : '-';
5
+ return `${green('Saved')} ${path} ${dim(`(${profile.locationType})`)}`;
6
+ };
7
+ //# sourceMappingURL=formatSaveResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatSaveResult.js","sourceRoot":"","sources":["../../src/output-formats/formatSaveResult.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,wBAAwB,CAAA;AAGjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA2C,EAAU,EAAE;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAClE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAA;AACzE,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export type Align = 'left' | 'right';
2
+ export type ColorFn = (s: string) => string;
3
+ export declare const col: (values: string[], header: string) => number;
4
+ export declare const row: (cells: string[], widths: number[], aligns?: Align[], colors?: (ColorFn | undefined)[]) => string;
5
+ export declare const separator: (widths: number[]) => string;
6
+ export declare const tableWidth: (widths: number[]) => number;
7
+ export declare const heading: (title: string, total: number) => string;
8
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/output-formats/table.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAE3C,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,EAAE,EAAE,QAAQ,MAAM,KAAG,MACA,CAAA;AAEvD,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,EAAE,EAAE,QAAQ,MAAM,EAAE,EAAE,SAAQ,KAAK,EAAO,EAAE,SAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,EAAO,KAAG,MAK1F,CAAA;AAE1B,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,KAAG,MACD,CAAA;AAE5C,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAG,MACmB,CAAA;AAEjE,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAItD,CAAA"}
@@ -0,0 +1,15 @@
1
+ import chalk from 'chalk';
2
+ export const col = (values, header) => Math.max(header.length, ...values.map(v => v.length));
3
+ export const row = (cells, widths, aligns = [], colors = []) => cells.map((c, i) => {
4
+ const w = widths[i] ?? 0;
5
+ const padded = aligns[i] === 'right' ? c.padStart(w) : c.padEnd(w);
6
+ return colors[i]?.(padded) ?? padded;
7
+ }).join(' ').trimEnd();
8
+ export const separator = (widths) => widths.map(w => '-'.repeat(w)).join('---');
9
+ export const tableWidth = (widths) => widths.reduce((sum, w) => sum + w, 0) + (widths.length - 1) * 3;
10
+ export const heading = (title, total) => {
11
+ const prefix = `=== ${title} `;
12
+ const width = Math.max(total, prefix.length + 4);
13
+ return chalk.bold(prefix + '='.repeat(width - prefix.length));
14
+ };
15
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/output-formats/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAgB,EAAE,MAAc,EAAU,EAAE,CAC9D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,MAAgB,EAAE,SAAkB,EAAE,EAAE,SAAkC,EAAE,EAAU,EAAE,CAC3H,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;AACtC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAgB,EAAU,EAAE,CACpD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAgB,EAAU,EAAE,CACrD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE;IAC9D,MAAM,MAAM,GAAG,OAAO,KAAK,GAAG,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/D,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export type PackageJson = {
2
+ version: string;
3
+ name: string;
4
+ };
5
+ export declare const readPackageJson: () => PackageJson | undefined;
6
+ //# sourceMappingURL=packageJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../src/package-json/packageJson.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,WAAW,GAAG,SAOhD,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { dirnameFromMeta, readJsonFile, searchFileInDirectoryTree } from "#core/FS/utils";
2
+ import { isSea } from 'node:sea';
3
+ export const readPackageJson = () => {
4
+ if (isSea()) {
5
+ return { name: 'tunli', version: __APP_VERSION__ };
6
+ }
7
+ const jsonPath = searchFileInDirectoryTree('package.json', dirnameFromMeta(import.meta));
8
+ if (!jsonPath)
9
+ return;
10
+ return readJsonFile(jsonPath);
11
+ };
12
+ //# sourceMappingURL=packageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../src/package-json/packageJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,YAAY,EAAE,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAS9B,MAAM,CAAC,MAAM,eAAe,GAAG,GAA4B,EAAE;IAC3D,IAAI,KAAK,EAAE,EAAE,CAAC;QACZ,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAC,CAAA;IAClD,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACxF,IAAI,CAAC,QAAQ;QAAE,OAAM;IACrB,OAAO,YAAY,CAAC,QAAQ,CAAgB,CAAA;AAC9C,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { ProfileConfig } from "#types/types";
2
+ import { AppEventEmitter } from "#cli-app/AppEventEmitter";
3
+ export declare const createProxy: (config: ProfileConfig, appEventEmitter: AppEventEmitter) => Promise<{
4
+ disconnect: () => void;
5
+ }>;
6
+ //# sourceMappingURL=Proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AASzD,eAAO,MAAM,WAAW,GACtB,QAAQ,aAAa,EACrB,iBAAiB,eAAe,KAC/B,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,CA6NpC,CAAA"}
@@ -0,0 +1,203 @@
1
+ import http from 'http';
2
+ import net from 'net';
3
+ import { io } from 'socket.io-client';
4
+ import { AppEventEmitter } from "#cli-app/AppEventEmitter";
5
+ import { PING_INTERVAL } from "#lib/defs";
6
+ export const createProxy = async (config, appEventEmitter) => {
7
+ const apiClient = config.apiClient;
8
+ const connectInfoResult = await apiClient.connectInfo();
9
+ if (connectInfoResult.error)
10
+ throw connectInfoResult.error;
11
+ const { socketUrl: TUNNEL_HOST, capturePath: TUNNEL_SOCKET_PATH, connectionPoolSize } = connectInfoResult.data;
12
+ const token = config.serverConfig.authToken;
13
+ appEventEmitter.emit('ready', {
14
+ proxyIdent: config.proxy.proxyIdent,
15
+ proxyURL: config.proxy.proxyURL,
16
+ target: config.target,
17
+ });
18
+ const createSocket = () => io(TUNNEL_HOST, {
19
+ path: TUNNEL_SOCKET_PATH,
20
+ auth: { token },
21
+ extraHeaders: {
22
+ 'x-tunnel-id': config.proxy.proxyIdent,
23
+ },
24
+ });
25
+ let connectedCount = 0;
26
+ let pingInterval;
27
+ let pingSocket;
28
+ const ping = () => {
29
+ if (!pingSocket)
30
+ return;
31
+ const start = Date.now();
32
+ pingSocket.volatile.emit('ping', () => appEventEmitter.emit('latency', Date.now() - start));
33
+ };
34
+ const sockets = Array.from({ length: connectionPoolSize }, createSocket);
35
+ for (const socket of sockets) {
36
+ socket.on('connect', () => {
37
+ connectedCount++;
38
+ if (connectedCount === 1) {
39
+ pingSocket = socket;
40
+ appEventEmitter.emit('connect');
41
+ ping();
42
+ pingInterval = setInterval(ping, PING_INTERVAL);
43
+ }
44
+ });
45
+ socket.on('disconnect', (r) => {
46
+ if (pingSocket === socket) {
47
+ pingSocket = sockets.find(s => s.connected && s !== socket);
48
+ if (!pingSocket) {
49
+ clearInterval(pingInterval);
50
+ pingInterval = undefined;
51
+ }
52
+ }
53
+ connectedCount--;
54
+ if (connectedCount === 0) {
55
+ appEventEmitter.emit('disconnect', r);
56
+ }
57
+ });
58
+ socket.on('connect_error', (e) => appEventEmitter.emit('connect_error', e));
59
+ socket.on('request', (requestId, meta) => {
60
+ const isUpgrade = meta.headers['upgrade']?.toLowerCase() === 'websocket';
61
+ appEventEmitter.emit('request', {
62
+ isUpgrade,
63
+ requestId,
64
+ ...meta,
65
+ });
66
+ if (isUpgrade) {
67
+ forwardUpgrade(socket, requestId, meta);
68
+ return;
69
+ }
70
+ const bodyChunks = [];
71
+ const onPipe = (id, chunk) => {
72
+ if (id === requestId)
73
+ bodyChunks.push(Buffer.from(chunk));
74
+ };
75
+ const onPipeError = (id, _err) => {
76
+ if (id === requestId)
77
+ cleanup();
78
+ };
79
+ const onPipeEnd = (id) => {
80
+ if (id !== requestId)
81
+ return;
82
+ cleanup();
83
+ forward();
84
+ };
85
+ const cleanup = () => {
86
+ socket.off('request-pipe', onPipe);
87
+ socket.off('request-pipe-end', onPipeEnd);
88
+ socket.off('request-pipe-error', onPipeError);
89
+ };
90
+ socket.on('request-pipe', onPipe);
91
+ socket.on('request-pipe-end', onPipeEnd);
92
+ socket.on('request-pipe-error', onPipeError);
93
+ const forward = () => {
94
+ const localReq = http.request({
95
+ host: config.target.host,
96
+ port: config.target.port,
97
+ method: meta.method,
98
+ path: meta.path,
99
+ headers: meta.headers
100
+ }, (localRes) => {
101
+ socket.emit('response', requestId, {
102
+ statusCode: localRes.statusCode,
103
+ statusMessage: localRes.statusMessage,
104
+ headers: localRes.headers,
105
+ httpVersion: localRes.httpVersion,
106
+ });
107
+ appEventEmitter.emit('response', {
108
+ host: config.target.host,
109
+ port: config.target.port,
110
+ method: meta.method,
111
+ path: meta.path,
112
+ headers: meta.headers,
113
+ requestId: requestId
114
+ }, {
115
+ statusCode: localRes.statusCode ?? 200,
116
+ statusMessage: localRes.statusMessage ?? 'OK',
117
+ headers: localRes.headers,
118
+ httpVersion: localRes.httpVersion,
119
+ });
120
+ localRes.on('data', (chunk) => socket.emit('response-pipe', requestId, chunk));
121
+ localRes.on('end', () => socket.emit('response-pipe-end', requestId));
122
+ localRes.on('error', (e) => socket.emit('response-pipe-error', requestId, e.message));
123
+ });
124
+ localReq.on('error', (e) => {
125
+ appEventEmitter.emit('request-error', e, {
126
+ isUpgrade: false,
127
+ requestId
128
+ });
129
+ socket.emit('request-error', requestId, e.message);
130
+ });
131
+ if (bodyChunks.length)
132
+ localReq.write(Buffer.concat(bodyChunks));
133
+ localReq.end();
134
+ };
135
+ });
136
+ }
137
+ function forwardUpgrade(socket, requestId, meta) {
138
+ const tcpSocket = net.connect(config.target.port, config.target.host);
139
+ tcpSocket.once('connect', () => {
140
+ const rawHeaders = Object.entries(meta.headers)
141
+ .map(([k, v]) => `${k}: ${v}`)
142
+ .join('\r\n');
143
+ tcpSocket.write(`${meta.method} ${meta.path} HTTP/1.1\r\n${rawHeaders}\r\n\r\n`);
144
+ });
145
+ // Parse the HTTP 101 response, then switch to raw forwarding
146
+ let headerBuf = '';
147
+ let headersComplete = false;
148
+ const onData = (chunk) => {
149
+ if (headersComplete)
150
+ return;
151
+ headerBuf += chunk.toString('binary');
152
+ const headerEnd = headerBuf.indexOf('\r\n\r\n');
153
+ if (headerEnd === -1)
154
+ return;
155
+ headersComplete = true;
156
+ const lines = headerBuf.slice(0, headerEnd).split('\r\n');
157
+ const [, statusCodeStr, ...statusParts] = lines[0].split(' ');
158
+ const headers = {};
159
+ for (const line of lines.slice(1)) {
160
+ const colon = line.indexOf(':');
161
+ if (colon > -1)
162
+ headers[line.slice(0, colon).trim().toLowerCase()] = line.slice(colon + 1).trim();
163
+ }
164
+ const responseData = {
165
+ statusCode: Number(statusCodeStr),
166
+ statusMessage: statusParts.join(' '),
167
+ headers,
168
+ };
169
+ socket.emit('response', requestId, responseData);
170
+ // Remaining bytes after headers = start of WS frame data
171
+ const remaining = Buffer.from(headerBuf.slice(headerEnd + 4), 'binary');
172
+ if (remaining.length)
173
+ socket.emit('response-pipe', requestId, remaining);
174
+ tcpSocket.off('data', onData);
175
+ tcpSocket.on('data', (data) => socket.emit('response-pipe', requestId, data));
176
+ };
177
+ tcpSocket.on('data', onData);
178
+ tcpSocket.on('end', () => socket.emit('response-pipe-end', requestId));
179
+ tcpSocket.on('error', (e) => {
180
+ appEventEmitter.emit('request-error', e, {
181
+ isUpgrade: true,
182
+ requestId
183
+ });
184
+ socket.emit('request-error', requestId, e.message);
185
+ });
186
+ // end-user WS frames → local app
187
+ const onPipe = (id, chunk) => {
188
+ if (id === requestId)
189
+ tcpSocket.write(chunk);
190
+ };
191
+ const onPipeEnd = (id) => {
192
+ if (id === requestId) {
193
+ socket.off('request-pipe', onPipe);
194
+ tcpSocket.end();
195
+ }
196
+ };
197
+ socket.on('request-pipe', onPipe);
198
+ socket.once('request-pipe-end', onPipeEnd);
199
+ tcpSocket.once('close', () => socket.off('request-pipe', onPipe));
200
+ }
201
+ return { disconnect: () => sockets.forEach(s => s.disconnect()) };
202
+ };
203
+ //# sourceMappingURL=Proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../src/proxy/Proxy.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAC,EAAE,EAAc,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAQxC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,MAAqB,EACrB,eAAgC,EACK,EAAE;IAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAA;IAEvD,IAAI,iBAAiB,CAAC,KAAK;QAAE,MAAM,iBAAiB,CAAC,KAAK,CAAA;IAE1D,MAAM,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,GAAG,iBAAiB,CAAC,IAAI,CAAA;IAE5G,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAA;IAE3C,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QACnC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,EAAC,KAAK,EAAC;QACb,YAAY,EAAE;YACZ,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;SACvC;KACF,CAAC,CAAA;IAEF,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,YAAwD,CAAA;IAC5D,IAAI,UAA8B,CAAA;IAElC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;IAC7F,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,kBAAkB,EAAC,EAAE,YAAY,CAAC,CAAA;IAEtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,cAAc,EAAE,CAAA;YAChB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,GAAG,MAAM,CAAA;gBACnB,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC/B,IAAI,EAAE,CAAA;gBACN,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;YACjD,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,aAAa,CAAC,YAAY,CAAC,CAAA;oBAC3B,YAAY,GAAG,SAAS,CAAA;gBAC1B,CAAC;YACH,CAAC;YACD,cAAc,EAAE,CAAA;YAChB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;YACvC,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;QAE3E,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,SAAiB,EAAE,IAAuB,EAAE,EAAE;YAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,CAAA;YAExE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC9B,SAAS;gBACT,SAAS;gBACT,GAAG,IAAI;aACR,CAAC,CAAA;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAa,EAAE,CAAA;YAE/B,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;gBAC3C,IAAI,EAAE,KAAK,SAAS;oBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3D,CAAC,CAAA;YACD,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;gBAC/C,IAAI,EAAE,KAAK,SAAS;oBAAE,OAAO,EAAE,CAAA;YACjC,CAAC,CAAA;YACD,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE;gBAC/B,IAAI,EAAE,KAAK,SAAS;oBAAE,OAAM;gBAC5B,OAAO,EAAE,CAAA;gBACT,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YAED,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;gBAClC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;gBACzC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;YAC/C,CAAC,CAAA;YAED,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;YACxC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;YAE5C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B;oBACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;oBACxB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;oBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,EACD,CAAC,QAAQ,EAAE,EAAE;oBACX,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE;wBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,aAAa,EAAE,QAAQ,CAAC,aAAa;wBACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;qBAClC,CAAC,CAAA;oBACF,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE;wBAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;wBACxB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;wBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,SAAS,EAAE,SAAS;qBACrB,EACD;wBACE,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,GAAG;wBACtC,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,IAAI;wBAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;qBAClC,CAAC,CAAA;oBACJ,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;oBACtF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAA;oBACrE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC9F,CAAC,CACF,CAAA;gBAED,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;oBAChC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE;wBACvC,SAAS,EAAE,KAAK;wBAChB,SAAS;qBACV,CAAC,CAAA;oBACF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;gBACpD,CAAC,CAAC,CAAA;gBAEF,IAAI,UAAU,CAAC,MAAM;oBAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;gBAChE,QAAQ,CAAC,GAAG,EAAE,CAAA;YAChB,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,cAAc,CAAC,MAAc,EAAE,SAAiB,EAAE,IAAuB;QAChF,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAErE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,MAAM,CAAC,CAAA;YACf,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,gBAAgB,UAAU,UAAU,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;QAEF,6DAA6D;QAC7D,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,eAAe;gBAAE,OAAM;YAC3B,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACrC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC/C,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,OAAM;YAE5B,eAAe,GAAG,IAAI,CAAA;YACtB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACzD,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACnG,CAAC;YACD,MAAM,YAAY,GAAG;gBACnB,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC;gBACjC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpC,OAAO;aACR,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;YAEhD,yDAAyD;YACzD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACvE,IAAI,SAAS,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAExE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC7B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QACvF,CAAC,CAAA;QAED,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAA;QACtE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;YACjC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE;gBACvC,SAAS,EAAE,IAAI;gBACf,SAAS;aACV,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,iCAAiC;QACjC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;YAC3C,IAAI,EAAE,KAAK,SAAS;gBAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC,CAAA;QACD,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE;YAC/B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACnC,SAAS,CAAC,GAAG,EAAE,CAAA;YACjB,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;QAC1C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAC,CAAA;AACjE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sea-main.d.ts.map