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,280 @@
1
+ export class ParseError extends Error {
2
+ commandPath;
3
+ constructor(message, commandPath) {
4
+ super(message);
5
+ this.commandPath = commandPath;
6
+ this.name = 'ParseError';
7
+ }
8
+ }
9
+ // ─── Pre-processing ───────────────────────────────────────────────────────────
10
+ const preProcess = (argv) => {
11
+ const [node = '', bin = '', ...args] = argv;
12
+ //const commandExists = args.filter(x => !x.startsWith('-')).length
13
+ if (!args.length) {
14
+ return [node, bin, 'start', ...args];
15
+ }
16
+ // @profile → use profile
17
+ for (let i = 0; i < args.length; i++) {
18
+ const arg = args[i];
19
+ if (arg.startsWith('@')) {
20
+ args.splice(i, 1, 'start', arg.slice(1));
21
+ return [node, bin, ...args];
22
+ }
23
+ }
24
+ // tunli http://localhost:3000 → tunli http <port> <host>
25
+ const first = args[0];
26
+ if (first && !first.startsWith('-')) {
27
+ try {
28
+ const url = new URL(first);
29
+ if (['http:', 'https:'].includes(url.protocol)) {
30
+ const port = url.port || (url.protocol === 'https:' ? '443' : '80');
31
+ args.splice(0, 1, 'http', port, url.hostname);
32
+ }
33
+ }
34
+ catch {
35
+ // not a URL, continue
36
+ }
37
+ }
38
+ return [node, bin, ...args];
39
+ };
40
+ // ─── Option extraction ────────────────────────────────────────────────────────
41
+ const extractOptions = (args, optionMap) => {
42
+ const positional = [];
43
+ const parsedOptions = {};
44
+ let i = 0;
45
+ while (i < args.length) {
46
+ // i < args.length guarantees arg is defined
47
+ const arg = args[i];
48
+ if (arg.startsWith('--')) {
49
+ const name = arg.slice(2);
50
+ const def = optionMap[name];
51
+ if (def) {
52
+ const key = def.key ?? def.name;
53
+ if (def.argument) {
54
+ if (def.many) {
55
+ const raw = args[++i];
56
+ if (raw === undefined)
57
+ throw new Error(`Option --${def.name} requires a value`);
58
+ const prev = Array.isArray(parsedOptions[key]) ? parsedOptions[key] : [];
59
+ try {
60
+ parsedOptions[key] = [...prev, def.parse ? def.parse(raw) : raw];
61
+ }
62
+ catch (e) {
63
+ throw new Error(`Invalid value for --${def.name}: ${e instanceof Error ? e.message : e}`);
64
+ }
65
+ }
66
+ else {
67
+ const raw = args[++i];
68
+ if (raw === undefined)
69
+ throw new Error(`Option --${def.name} requires a value`);
70
+ try {
71
+ parsedOptions[key] = def.parse ? def.parse(raw) : raw;
72
+ }
73
+ catch (e) {
74
+ throw new Error(`Invalid value for --${def.name}: ${e instanceof Error ? e.message : e}`);
75
+ }
76
+ }
77
+ }
78
+ else {
79
+ parsedOptions[key] = true;
80
+ }
81
+ }
82
+ else {
83
+ positional.push(arg); // defer to subcommand or leaf check
84
+ }
85
+ }
86
+ else if (arg.startsWith('-') && arg.length === 2) {
87
+ const short = arg.slice(1);
88
+ const def = Object.values(optionMap).find(o => Array.isArray(o.short) ? o.short.includes(short) : o.short === short);
89
+ if (def) {
90
+ const key = def.key ?? def.name;
91
+ if (def.argument) {
92
+ const raw = args[++i];
93
+ if (raw === undefined)
94
+ throw new Error(`Option -${short} requires a value`);
95
+ try {
96
+ if (def.many) {
97
+ const prev = Array.isArray(parsedOptions[key]) ? parsedOptions[key] : [];
98
+ parsedOptions[key] = [...prev, def.parse ? def.parse(raw) : raw];
99
+ }
100
+ else {
101
+ parsedOptions[key] = def.parse ? def.parse(raw) : raw;
102
+ }
103
+ }
104
+ catch (e) {
105
+ throw new Error(`Invalid value for -${short}: ${e instanceof Error ? e.message : e}`);
106
+ }
107
+ }
108
+ else {
109
+ parsedOptions[key] = true;
110
+ }
111
+ }
112
+ else {
113
+ positional.push(arg); // defer to subcommand or leaf check
114
+ }
115
+ }
116
+ else {
117
+ positional.push(arg);
118
+ }
119
+ i++;
120
+ }
121
+ return { positional, parsedOptions };
122
+ };
123
+ // ─── Argument parsing ─────────────────────────────────────────────────────────
124
+ const parseArguments = (positional, defs, context) => {
125
+ const result = {};
126
+ let pos = 0;
127
+ for (const def of defs) {
128
+ if (def.many) {
129
+ const values = positional.slice(pos);
130
+ try {
131
+ result[def.name] = def.parse
132
+ ? values.map(v => def.parse(v, context))
133
+ : values;
134
+ }
135
+ catch (e) {
136
+ throw new Error(`Invalid argument <${def.name}>: ${e instanceof Error ? e.message : e}`);
137
+ }
138
+ break;
139
+ }
140
+ else if (pos < positional.length) {
141
+ const raw = positional[pos++];
142
+ try {
143
+ result[def.name] = def.parse ? def.parse(raw, context) : raw;
144
+ }
145
+ catch (e) {
146
+ throw new Error(`Invalid argument <${def.name}>: ${e instanceof Error ? e.message : e}`);
147
+ }
148
+ }
149
+ else if (def.defaultValue !== undefined) {
150
+ try {
151
+ result[def.name] = def.parse ? def.parse(def.defaultValue, context) : def.defaultValue;
152
+ }
153
+ catch (e) {
154
+ throw new Error(`Invalid default for <${def.name}>: ${e instanceof Error ? e.message : e}`);
155
+ }
156
+ }
157
+ else if (def.required) {
158
+ throw new Error(`Missing required argument: <${def.name}>`);
159
+ }
160
+ }
161
+ return result;
162
+ };
163
+ // ─── Build option map ─────────────────────────────────────────────────────────
164
+ const buildOptionMap = (node, inherited) => {
165
+ const map = { ...inherited };
166
+ for (const child of node.children ?? []) {
167
+ if (child.type === 'option') {
168
+ map[child.name] = child;
169
+ }
170
+ }
171
+ return map;
172
+ };
173
+ // ─── Core parser ──────────────────────────────────────────────────────────────
174
+ const parseNode = (args, node, inheritedOptions, commandPath) => {
175
+ const optionMap = buildOptionMap(node, inheritedOptions);
176
+ let positional, parsedOptions;
177
+ try {
178
+ ;
179
+ ({ positional, parsedOptions } = extractOptions(args, optionMap));
180
+ }
181
+ catch (e) {
182
+ throw new ParseError(e instanceof Error ? e.message : String(e), commandPath);
183
+ }
184
+ const [first, ...rest] = positional;
185
+ // Try to match a subcommand
186
+ if (first !== undefined) {
187
+ const subCommand = (node.children ?? []).find((c) => {
188
+ if (c.type !== 'command')
189
+ return false;
190
+ if (c.name === first || c.alias === first)
191
+ return true;
192
+ return !!(c.aliasPrefix && first.startsWith(c.aliasPrefix));
193
+ });
194
+ if (subCommand) {
195
+ // Handle aliasPrefix: strip prefix and put value back as first positional
196
+ let remainingArgs = rest;
197
+ if (subCommand.aliasPrefix && first.startsWith(subCommand.aliasPrefix)) {
198
+ const value = first.slice(subCommand.aliasPrefix.length);
199
+ if (value)
200
+ remainingArgs = [value, ...rest];
201
+ }
202
+ // Re-inject --help so the child can detect it at its own level
203
+ if (parsedOptions['help'])
204
+ remainingArgs = [...remainingArgs, '--help'];
205
+ const child = parseNode(remainingArgs, subCommand, optionMap, [...commandPath, subCommand.name]);
206
+ return {
207
+ ...child,
208
+ options: { ...parsedOptions, ...child.options }
209
+ };
210
+ }
211
+ // No named subcommand matched — try the default child
212
+ const defaultChild = (node.children ?? []).find((c) => c.type === 'command' && c.isDefault === true);
213
+ if (defaultChild) {
214
+ let remainingArgs = positional;
215
+ if (parsedOptions['help'])
216
+ remainingArgs = [...remainingArgs, '--help'];
217
+ const child = parseNode(remainingArgs, defaultChild, optionMap, [...commandPath, defaultChild.name]);
218
+ return { ...child, options: { ...parsedOptions, ...child.options } };
219
+ }
220
+ }
221
+ // --help / -h → signal caller to print help for this command
222
+ if (parsedOptions['help']) {
223
+ return { command: commandPath, args: {}, options: {}, help: true };
224
+ }
225
+ // requires() validation — takes precedence over generic subcommand check
226
+ if (node.requires) {
227
+ const matched = {
228
+ command: false,
229
+ option: Object.keys(parsedOptions).length > 0,
230
+ argument: positional.length > 0,
231
+ };
232
+ const required = node.requires(matched);
233
+ const valid = Object.keys(required)
234
+ .some(key => required[key] && matched[key]);
235
+ if (!valid) {
236
+ throw new ParseError(`Command "${commandPath.join(' ')}": missing required argument, option or subcommand`, commandPath);
237
+ }
238
+ }
239
+ else {
240
+ const subCommands = (node.children ?? []).filter((c) => c.type === 'command');
241
+ if (subCommands.length > 0) {
242
+ // Unknown subcommand token
243
+ if (first !== undefined && !first.startsWith('-')) {
244
+ throw new ParseError(`Unknown command: ${first}`, commandPath);
245
+ }
246
+ // No token at all but subcommand required
247
+ if (!node.action) {
248
+ throw new ParseError(`Command "${commandPath.join(' ')}" requires a subcommand`, commandPath);
249
+ }
250
+ }
251
+ }
252
+ // Leaf-level: reject unrecognized options that were deferred
253
+ const unknown = positional.find(p => p.startsWith('-'));
254
+ if (unknown)
255
+ throw new ParseError(`Unknown option: ${unknown}`, commandPath);
256
+ // No subcommand matched → parse positional as arguments
257
+ const argDefs = (node.children ?? []).filter((c) => c.type === 'argument');
258
+ const context = { command: commandPath, args: {}, options: parsedOptions };
259
+ let parsedArgs;
260
+ try {
261
+ parsedArgs = parseArguments(positional, argDefs, context);
262
+ }
263
+ catch (e) {
264
+ throw new ParseError(e instanceof Error ? e.message : String(e), commandPath);
265
+ }
266
+ return {
267
+ command: commandPath,
268
+ args: parsedArgs,
269
+ options: parsedOptions,
270
+ ...(node.action && { action: node.action })
271
+ };
272
+ };
273
+ // ─── Public API ───────────────────────────────────────────────────────────────
274
+ const HELP_OPTION = { type: 'option', name: 'help', short: ['h', '?'] };
275
+ export const parse = (argv, root) => {
276
+ const processed = preProcess(argv);
277
+ const userArgs = processed.slice(2); // strip node + bin
278
+ return parseNode(userArgs, root, { help: HELP_OPTION }, [root.name]);
279
+ };
280
+ //# sourceMappingURL=Parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../src/commands/helper/Parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "#commander/index";
2
+ export declare const addAllowDenyCidrOptions: (cmd: Command) => void;
3
+ //# sourceMappingURL=allowDenyCidrCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowDenyCidrCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/allowDenyCidrCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAS,MAAM,kBAAkB,CAAC;AAGjD,eAAO,MAAM,uBAAuB,GAAI,KAAK,OAAO,SAUnD,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Command, Option } from "#commander/index";
2
+ import { checkIpV4Cidr } from "#utils/checkFunctions";
3
+ export const addAllowDenyCidrOptions = (cmd) => {
4
+ // cmd.option('--allow-self, --self', 'allow self only')//, false)
5
+ cmd
6
+ .addOption(new Option('allow-cidr', 'Allow traffic from these CIDRs')
7
+ .alias('allow').argument('cidr').many().parse(checkIpV4Cidr)).addOption(new Option('deny-cidr', 'Deny traffic from these CIDRs')
8
+ .alias('deny').argument('cidr').many().parse(checkIpV4Cidr));
9
+ };
10
+ //# sourceMappingURL=allowDenyCidrCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowDenyCidrCommand.js","sourceRoot":"","sources":["../../../src/commands/shared/allowDenyCidrCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAE,EAAE;IACxD,mEAAmE;IACjE,GAAG;SACA,SAAS,CACR,IAAI,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;SACvD,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAC/D,CAAC,SAAS,CACX,IAAI,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACrD,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAC9D,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Context } from "#types/types";
2
+ import { Command } from "#commander/index";
3
+ export declare const configServersCommand: (ctx: Context, cmdName?: string) => Command;
4
+ //# sourceMappingURL=configServersCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configServersCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/configServersCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,gBAAkB,YAoBpE,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { Command } from "#commander/index";
2
+ export const configServersCommand = (ctx, cmdName = 'relays') => {
3
+ const cmd = new Command(cmdName)
4
+ .description('List all registered relay servers');
5
+ cmd.action(() => {
6
+ const servers = ctx.config.global.servers;
7
+ if (!servers.length) {
8
+ ctx.logger.info('No relay servers registered. Run `tunli register` to get started.');
9
+ return;
10
+ }
11
+ const active = ctx.config.global.activeServer;
12
+ for (const { name, url } of servers) {
13
+ const marker = name === active ? '* ' : ' ';
14
+ ctx.logger.info(`${marker}${name.padEnd(16)} ${url}`);
15
+ }
16
+ });
17
+ return cmd;
18
+ };
19
+ //# sourceMappingURL=configServersCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configServersCommand.js","sourceRoot":"","sources":["../../../src/commands/shared/configServersCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAY,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE;IACvE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC7B,WAAW,CAAC,mCAAmC,CAAC,CAAA;IAEnD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;QACd,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAA;QAEzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;YACpF,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA;QAC7C,KAAK,MAAM,EAAC,IAAI,EAAE,GAAG,EAAC,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const toJSON: (data: unknown) => any;
2
+ export declare const confirm: (question: string) => Promise<boolean>;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO,QAKnC,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAQzD,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { createInterface } from 'readline';
2
+ export const toJSON = (data) => {
3
+ if (data == null) {
4
+ return data;
5
+ }
6
+ return JSON.parse(JSON.stringify(data));
7
+ };
8
+ export const confirm = (question) => {
9
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
10
+ return new Promise(resolve => {
11
+ rl.question(question, answer => {
12
+ rl.close();
13
+ resolve(answer.trim().toLowerCase() === 'y');
14
+ });
15
+ });
16
+ };
17
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,EAAE;IACtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAoB,EAAE;IAC5D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAA;IAC1E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { ParsedProfileConfig } from "#config/ParsedProfileConfig";
2
+ import { ParsedServerConfig } from "#config/ParsedServerConfig";
3
+ import { TempProfileConfig } from "#config/TempProfileConfig";
4
+ export declare class ParsedConfig {
5
+ #private;
6
+ isLocal(): boolean;
7
+ get filepath(): string | undefined;
8
+ get mode(): "global" | "local" | "memory";
9
+ isGlobal(): boolean;
10
+ get locationType(): "global" | "local" | "unknown";
11
+ constructor(data: Record<string, unknown>, filepath?: string);
12
+ temporaryProfile(): TempProfileConfig;
13
+ profile(profile: string): ParsedProfileConfig;
14
+ server(name: string): ParsedServerConfig;
15
+ get activeServer(): string | undefined;
16
+ get defaultProfile(): string | undefined;
17
+ set activeServer(activeServer: string);
18
+ set defaultProfile(defaultProfile: string);
19
+ get profiles(): ParsedProfileConfig[];
20
+ get servers(): ParsedServerConfig[];
21
+ exists(): boolean;
22
+ toJSON(): {
23
+ profiles: Record<string, ParsedProfileConfig>;
24
+ servers: Record<string, ParsedServerConfig>;
25
+ activeServer: string | undefined;
26
+ defaultProfile: string | undefined;
27
+ };
28
+ delete(): void;
29
+ save(): void;
30
+ }
31
+ //# sourceMappingURL=ParsedConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedConfig.d.ts","sourceRoot":"","sources":["../../src/config/ParsedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAK9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,qBAAa,YAAY;;IAEvB,OAAO;IAIP,IAAI,QAAQ,uBAEX;IAED,IAAI,IAAI,kCAWP;IAED,QAAQ;IAIR,IAAI,YAAY,mCAIf;gBAgBW,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM;IAoB5D,gBAAgB;IAIhB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAI7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAIxC,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,EAEpC;IAED,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,EAExC;IAED,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAQpC;IAED,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAQlC;IAED,MAAM,IAAI,OAAO;IAMjB,MAAM;kBAvFM,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;iBACpC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;sBAC7B,MAAM,GAAG,SAAS;wBAChB,MAAM,GAAG,SAAS;;IAwFpC,MAAM;IAKN,IAAI;CAKL"}
@@ -0,0 +1,116 @@
1
+ import { ParsedProfileConfig } from "#config/ParsedProfileConfig";
2
+ import { ParsedServerConfig } from "#config/ParsedServerConfig";
3
+ import { dirname } from "path";
4
+ import { rmSync, writeFileSync } from "fs";
5
+ import { ensureDirectoryExists } from "#core/FS/utils";
6
+ import { DEFAULT_PROFILE_NAME } from "#lib/defs";
7
+ import { TempProfileConfig } from "#config/TempProfileConfig";
8
+ export class ParsedConfig {
9
+ isLocal() {
10
+ return false;
11
+ }
12
+ get filepath() {
13
+ return this.#filepath;
14
+ }
15
+ get mode() {
16
+ if (this.isLocal()) {
17
+ return 'local';
18
+ }
19
+ if (this.isGlobal()) {
20
+ return 'global';
21
+ }
22
+ return 'memory';
23
+ }
24
+ isGlobal() {
25
+ return false;
26
+ }
27
+ get locationType() {
28
+ if (this.isGlobal())
29
+ return 'global';
30
+ if (this.isLocal())
31
+ return 'local';
32
+ return 'unknown';
33
+ }
34
+ #data = {
35
+ profiles: {},
36
+ servers: {},
37
+ activeServer: undefined,
38
+ defaultProfile: DEFAULT_PROFILE_NAME
39
+ };
40
+ #filepath;
41
+ constructor(data, filepath) {
42
+ const { profiles, servers, activeServer, defaultProfile } = data ?? {};
43
+ this.#filepath = filepath;
44
+ for (const [name, profile] of Object.entries(profiles ?? {})) {
45
+ this.#data.profiles[name] = new ParsedProfileConfig(this, name, profile ?? {}, true);
46
+ }
47
+ for (const [name, server] of Object.entries(servers ?? {})) {
48
+ this.#data.servers[name] = new ParsedServerConfig(this, name, server ?? {}, true);
49
+ }
50
+ if (activeServer) {
51
+ this.#data.activeServer = activeServer;
52
+ }
53
+ if (defaultProfile) {
54
+ this.#data.defaultProfile = defaultProfile;
55
+ }
56
+ }
57
+ temporaryProfile() {
58
+ return new TempProfileConfig(this);
59
+ }
60
+ profile(profile) {
61
+ return this.#data.profiles[profile] ??= new ParsedProfileConfig(this, profile, {}, false);
62
+ }
63
+ server(name) {
64
+ return this.#data.servers[name] ??= new ParsedServerConfig(this, name, {}, false);
65
+ }
66
+ get activeServer() {
67
+ return this.#data.activeServer;
68
+ }
69
+ get defaultProfile() {
70
+ return this.#data.defaultProfile;
71
+ }
72
+ set activeServer(activeServer) {
73
+ this.#data.activeServer = activeServer;
74
+ }
75
+ set defaultProfile(defaultProfile) {
76
+ this.#data.defaultProfile = defaultProfile;
77
+ }
78
+ get profiles() {
79
+ const profiles = Object.values(this.#data.profiles);
80
+ profiles.sort((a, b) => {
81
+ return a.name > b.name ? 1
82
+ : a.name < b.name ? -1 : 0;
83
+ });
84
+ return profiles;
85
+ }
86
+ get servers() {
87
+ const servers = Object.values(this.#data.servers);
88
+ servers.sort((a, b) => {
89
+ return a.name > b.name ? 1
90
+ : a.name < b.name ? -1 : 0;
91
+ });
92
+ return servers;
93
+ }
94
+ exists() {
95
+ if (this.#data == null)
96
+ return false;
97
+ if (!Object.keys(this.#data).length)
98
+ return false;
99
+ return true;
100
+ }
101
+ toJSON() {
102
+ return this.#data;
103
+ }
104
+ delete() {
105
+ if (!this.#filepath)
106
+ return;
107
+ rmSync(this.#filepath);
108
+ }
109
+ save() {
110
+ if (!this.#filepath)
111
+ return;
112
+ ensureDirectoryExists(dirname(this.#filepath));
113
+ writeFileSync(this.#filepath, JSON.stringify(this, null, 2), 'utf-8');
114
+ }
115
+ }
116
+ //# sourceMappingURL=ParsedConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedConfig.js","sourceRoot":"","sources":["../../src/config/ParsedConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ParsedConfig } from "#config/ParsedConfig";
2
+ export declare class ParsedGlobalConfig extends ParsedConfig {
3
+ isGlobal(): boolean;
4
+ }
5
+ //# sourceMappingURL=ParsedGlobalConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedGlobalConfig.d.ts","sourceRoot":"","sources":["../../src/config/ParsedGlobalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ;CAGT"}
@@ -0,0 +1,7 @@
1
+ import { ParsedConfig } from "#config/ParsedConfig";
2
+ export class ParsedGlobalConfig extends ParsedConfig {
3
+ isGlobal() {
4
+ return true;
5
+ }
6
+ }
7
+ //# sourceMappingURL=ParsedGlobalConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedGlobalConfig.js","sourceRoot":"","sources":["../../src/config/ParsedGlobalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { ParsedConfig } from "#config/ParsedConfig";
2
+ export declare class ParsedLocalConfig extends ParsedConfig {
3
+ isLocal(): boolean;
4
+ }
5
+ //# sourceMappingURL=ParsedLocalConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedLocalConfig.d.ts","sourceRoot":"","sources":["../../src/config/ParsedLocalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO;CAGR"}
@@ -0,0 +1,7 @@
1
+ import { ParsedConfig } from "#config/ParsedConfig";
2
+ export class ParsedLocalConfig extends ParsedConfig {
3
+ isLocal() {
4
+ return true;
5
+ }
6
+ }
7
+ //# sourceMappingURL=ParsedLocalConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedLocalConfig.js","sourceRoot":"","sources":["../../src/config/ParsedLocalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ import type { ParsedConfig } from "#config/ParsedConfig";
2
+ import type { ProxyConfig } from "#types/types";
3
+ export declare class ParsedProfileConfig {
4
+ #private;
5
+ get target(): string;
6
+ get filepath(): string | undefined;
7
+ get locationType(): "global" | "local" | "unknown";
8
+ constructor(config: ParsedConfig, name: string, data: Record<string, unknown>, exists: boolean);
9
+ exists(): boolean;
10
+ delete(): void;
11
+ get denyCidr(): undefined | string[];
12
+ get allowCidr(): undefined | string[];
13
+ set denyCidr(denyCidr: string[]);
14
+ set allowCidr(allowCidr: string[]);
15
+ setPort(port: number): this;
16
+ getPort(): number | undefined;
17
+ setHost(host: string): this;
18
+ set protocol(protocol: string | undefined);
19
+ getHost(): string | undefined;
20
+ getProtocol(): string | undefined;
21
+ getProxyURL(): string | undefined;
22
+ get proxyURL(): string | undefined;
23
+ getProxy(): ProxyConfig | undefined;
24
+ setProxy(proxy: ProxyConfig): this;
25
+ get proxy(): ProxyConfig | undefined;
26
+ set proxy(proxy: ProxyConfig);
27
+ getRelay(): string | undefined;
28
+ get relay(): string | undefined;
29
+ get port(): number | undefined;
30
+ get host(): string | undefined;
31
+ get protocol(): string | undefined;
32
+ get name(): string;
33
+ update(data: Record<string, unknown>): this;
34
+ save(): void;
35
+ toJSON(): {
36
+ relay?: string | undefined;
37
+ port?: number | undefined;
38
+ host?: string | undefined;
39
+ protocol?: string | undefined;
40
+ proxyURL?: string | undefined;
41
+ proxy?: ProxyConfig | undefined;
42
+ allowCidr?: string[] | undefined;
43
+ denyCidr?: string[] | undefined;
44
+ } | undefined;
45
+ }
46
+ //# sourceMappingURL=ParsedProfileConfig.d.ts.map