xray-manager 1.8.4 → 2.0.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 (324) hide show
  1. package/README.md +102 -42
  2. package/dist/cli.mjs +8587 -0
  3. package/dist/cli.mjs.map +7 -0
  4. package/package.json +13 -5
  5. package/dist/cli.d.ts +0 -11
  6. package/dist/cli.d.ts.map +0 -1
  7. package/dist/cli.js +0 -134
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/clash.d.ts +0 -20
  10. package/dist/commands/clash.d.ts.map +0 -1
  11. package/dist/commands/clash.js +0 -156
  12. package/dist/commands/clash.js.map +0 -1
  13. package/dist/commands/config.d.ts +0 -56
  14. package/dist/commands/config.d.ts.map +0 -1
  15. package/dist/commands/config.js +0 -461
  16. package/dist/commands/config.js.map +0 -1
  17. package/dist/commands/interactive.d.ts +0 -55
  18. package/dist/commands/interactive.d.ts.map +0 -1
  19. package/dist/commands/interactive.js +0 -418
  20. package/dist/commands/interactive.js.map +0 -1
  21. package/dist/commands/logs.d.ts +0 -62
  22. package/dist/commands/logs.d.ts.map +0 -1
  23. package/dist/commands/logs.js +0 -389
  24. package/dist/commands/logs.js.map +0 -1
  25. package/dist/commands/quota.d.ts +0 -54
  26. package/dist/commands/quota.d.ts.map +0 -1
  27. package/dist/commands/quota.js +0 -661
  28. package/dist/commands/quota.js.map +0 -1
  29. package/dist/commands/review.d.ts +0 -8
  30. package/dist/commands/review.d.ts.map +0 -1
  31. package/dist/commands/review.js +0 -79
  32. package/dist/commands/review.js.map +0 -1
  33. package/dist/commands/service.d.ts +0 -43
  34. package/dist/commands/service.d.ts.map +0 -1
  35. package/dist/commands/service.js +0 -202
  36. package/dist/commands/service.js.map +0 -1
  37. package/dist/commands/user.d.ts +0 -49
  38. package/dist/commands/user.d.ts.map +0 -1
  39. package/dist/commands/user.js +0 -371
  40. package/dist/commands/user.js.map +0 -1
  41. package/dist/components/dashboard-widget.d.ts +0 -21
  42. package/dist/components/dashboard-widget.d.ts.map +0 -1
  43. package/dist/components/dashboard-widget.js +0 -234
  44. package/dist/components/dashboard-widget.js.map +0 -1
  45. package/dist/components/progress-bar.d.ts +0 -67
  46. package/dist/components/progress-bar.d.ts.map +0 -1
  47. package/dist/components/progress-bar.js +0 -138
  48. package/dist/components/progress-bar.js.map +0 -1
  49. package/dist/components/user-table.d.ts +0 -8
  50. package/dist/components/user-table.d.ts.map +0 -1
  51. package/dist/components/user-table.js +0 -91
  52. package/dist/components/user-table.js.map +0 -1
  53. package/dist/config/i18n.d.ts +0 -136
  54. package/dist/config/i18n.d.ts.map +0 -1
  55. package/dist/config/i18n.js +0 -323
  56. package/dist/config/i18n.js.map +0 -1
  57. package/dist/constants/error-codes.d.ts +0 -344
  58. package/dist/constants/error-codes.d.ts.map +0 -1
  59. package/dist/constants/error-codes.js +0 -462
  60. package/dist/constants/error-codes.js.map +0 -1
  61. package/dist/constants/exit-codes.d.ts +0 -49
  62. package/dist/constants/exit-codes.d.ts.map +0 -1
  63. package/dist/constants/exit-codes.js +0 -100
  64. package/dist/constants/exit-codes.js.map +0 -1
  65. package/dist/constants/paths.d.ts +0 -63
  66. package/dist/constants/paths.d.ts.map +0 -1
  67. package/dist/constants/paths.js +0 -78
  68. package/dist/constants/paths.js.map +0 -1
  69. package/dist/constants/quota.d.ts +0 -126
  70. package/dist/constants/quota.d.ts.map +0 -1
  71. package/dist/constants/quota.js +0 -135
  72. package/dist/constants/quota.js.map +0 -1
  73. package/dist/constants/review.d.ts +0 -14
  74. package/dist/constants/review.d.ts.map +0 -1
  75. package/dist/constants/review.js +0 -33
  76. package/dist/constants/review.js.map +0 -1
  77. package/dist/constants/supported-distros.d.ts +0 -17
  78. package/dist/constants/supported-distros.d.ts.map +0 -1
  79. package/dist/constants/supported-distros.js +0 -68
  80. package/dist/constants/supported-distros.js.map +0 -1
  81. package/dist/constants/theme.d.ts +0 -34
  82. package/dist/constants/theme.d.ts.map +0 -1
  83. package/dist/constants/theme.js +0 -52
  84. package/dist/constants/theme.js.map +0 -1
  85. package/dist/constants/timeouts.d.ts +0 -84
  86. package/dist/constants/timeouts.d.ts.map +0 -1
  87. package/dist/constants/timeouts.js +0 -111
  88. package/dist/constants/timeouts.js.map +0 -1
  89. package/dist/constants/ui-symbols.d.ts +0 -47
  90. package/dist/constants/ui-symbols.d.ts.map +0 -1
  91. package/dist/constants/ui-symbols.js +0 -48
  92. package/dist/constants/ui-symbols.js.map +0 -1
  93. package/dist/services/clash-config.d.ts +0 -16
  94. package/dist/services/clash-config.d.ts.map +0 -1
  95. package/dist/services/clash-config.js +0 -107
  96. package/dist/services/clash-config.js.map +0 -1
  97. package/dist/services/config-manager.d.ts +0 -90
  98. package/dist/services/config-manager.d.ts.map +0 -1
  99. package/dist/services/config-manager.js +0 -307
  100. package/dist/services/config-manager.js.map +0 -1
  101. package/dist/services/layout-manager.d.ts +0 -94
  102. package/dist/services/layout-manager.d.ts.map +0 -1
  103. package/dist/services/layout-manager.js +0 -192
  104. package/dist/services/layout-manager.js.map +0 -1
  105. package/dist/services/log-manager.d.ts +0 -157
  106. package/dist/services/log-manager.d.ts.map +0 -1
  107. package/dist/services/log-manager.js +0 -397
  108. package/dist/services/log-manager.js.map +0 -1
  109. package/dist/services/navigation-manager.d.ts +0 -23
  110. package/dist/services/navigation-manager.d.ts.map +0 -1
  111. package/dist/services/navigation-manager.js +0 -39
  112. package/dist/services/navigation-manager.js.map +0 -1
  113. package/dist/services/platform-detector.d.ts +0 -10
  114. package/dist/services/platform-detector.d.ts.map +0 -1
  115. package/dist/services/platform-detector.js +0 -106
  116. package/dist/services/platform-detector.js.map +0 -1
  117. package/dist/services/public-ip-manager.d.ts +0 -78
  118. package/dist/services/public-ip-manager.d.ts.map +0 -1
  119. package/dist/services/public-ip-manager.js +0 -296
  120. package/dist/services/public-ip-manager.js.map +0 -1
  121. package/dist/services/quota-enforcer.d.ts +0 -86
  122. package/dist/services/quota-enforcer.d.ts.map +0 -1
  123. package/dist/services/quota-enforcer.js +0 -151
  124. package/dist/services/quota-enforcer.js.map +0 -1
  125. package/dist/services/quota-manager.d.ts +0 -101
  126. package/dist/services/quota-manager.d.ts.map +0 -1
  127. package/dist/services/quota-manager.js +0 -257
  128. package/dist/services/quota-manager.js.map +0 -1
  129. package/dist/services/review/areas/community.d.ts +0 -9
  130. package/dist/services/review/areas/community.d.ts.map +0 -1
  131. package/dist/services/review/areas/community.js +0 -59
  132. package/dist/services/review/areas/community.js.map +0 -1
  133. package/dist/services/review/areas/contribution.d.ts +0 -9
  134. package/dist/services/review/areas/contribution.d.ts.map +0 -1
  135. package/dist/services/review/areas/contribution.js +0 -107
  136. package/dist/services/review/areas/contribution.js.map +0 -1
  137. package/dist/services/review/areas/documentation.d.ts +0 -9
  138. package/dist/services/review/areas/documentation.d.ts.map +0 -1
  139. package/dist/services/review/areas/documentation.js +0 -110
  140. package/dist/services/review/areas/documentation.js.map +0 -1
  141. package/dist/services/review/areas/license.d.ts +0 -9
  142. package/dist/services/review/areas/license.d.ts.map +0 -1
  143. package/dist/services/review/areas/license.js +0 -86
  144. package/dist/services/review/areas/license.js.map +0 -1
  145. package/dist/services/review/areas/quality.d.ts +0 -9
  146. package/dist/services/review/areas/quality.d.ts.map +0 -1
  147. package/dist/services/review/areas/quality.js +0 -84
  148. package/dist/services/review/areas/quality.js.map +0 -1
  149. package/dist/services/review/areas/security.d.ts +0 -9
  150. package/dist/services/review/areas/security.d.ts.map +0 -1
  151. package/dist/services/review/areas/security.js +0 -64
  152. package/dist/services/review/areas/security.js.map +0 -1
  153. package/dist/services/review/evidence.d.ts +0 -10
  154. package/dist/services/review/evidence.d.ts.map +0 -1
  155. package/dist/services/review/evidence.js +0 -40
  156. package/dist/services/review/evidence.js.map +0 -1
  157. package/dist/services/review/recommendations-filter.d.ts +0 -12
  158. package/dist/services/review/recommendations-filter.d.ts.map +0 -1
  159. package/dist/services/review/recommendations-filter.js +0 -20
  160. package/dist/services/review/recommendations-filter.js.map +0 -1
  161. package/dist/services/review/repo-scanner.d.ts +0 -8
  162. package/dist/services/review/repo-scanner.d.ts.map +0 -1
  163. package/dist/services/review/repo-scanner.js +0 -15
  164. package/dist/services/review/repo-scanner.js.map +0 -1
  165. package/dist/services/review/report-renderer.d.ts +0 -15
  166. package/dist/services/review/report-renderer.d.ts.map +0 -1
  167. package/dist/services/review/report-renderer.js +0 -120
  168. package/dist/services/review/report-renderer.js.map +0 -1
  169. package/dist/services/review/review-engine.d.ts +0 -15
  170. package/dist/services/review/review-engine.d.ts.map +0 -1
  171. package/dist/services/review/review-engine.js +0 -61
  172. package/dist/services/review/review-engine.js.map +0 -1
  173. package/dist/services/review/summary-builder.d.ts +0 -8
  174. package/dist/services/review/summary-builder.d.ts.map +0 -1
  175. package/dist/services/review/summary-builder.js +0 -26
  176. package/dist/services/review/summary-builder.js.map +0 -1
  177. package/dist/services/screen-manager.d.ts +0 -13
  178. package/dist/services/screen-manager.d.ts.map +0 -1
  179. package/dist/services/screen-manager.js +0 -42
  180. package/dist/services/screen-manager.js.map +0 -1
  181. package/dist/services/stats-config-manager.d.ts +0 -110
  182. package/dist/services/stats-config-manager.d.ts.map +0 -1
  183. package/dist/services/stats-config-manager.js +0 -443
  184. package/dist/services/stats-config-manager.js.map +0 -1
  185. package/dist/services/systemd-manager.d.ts +0 -197
  186. package/dist/services/systemd-manager.d.ts.map +0 -1
  187. package/dist/services/systemd-manager.js +0 -458
  188. package/dist/services/systemd-manager.js.map +0 -1
  189. package/dist/services/traffic-manager.d.ts +0 -106
  190. package/dist/services/traffic-manager.d.ts.map +0 -1
  191. package/dist/services/traffic-manager.js +0 -368
  192. package/dist/services/traffic-manager.js.map +0 -1
  193. package/dist/services/user-manager.d.ts +0 -90
  194. package/dist/services/user-manager.d.ts.map +0 -1
  195. package/dist/services/user-manager.js +0 -347
  196. package/dist/services/user-manager.js.map +0 -1
  197. package/dist/services/user-metadata-manager.d.ts +0 -85
  198. package/dist/services/user-metadata-manager.d.ts.map +0 -1
  199. package/dist/services/user-metadata-manager.js +0 -181
  200. package/dist/services/user-metadata-manager.js.map +0 -1
  201. package/dist/types/config.d.ts +0 -340
  202. package/dist/types/config.d.ts.map +0 -1
  203. package/dist/types/config.js +0 -7
  204. package/dist/types/config.js.map +0 -1
  205. package/dist/types/layout.d.ts +0 -119
  206. package/dist/types/layout.d.ts.map +0 -1
  207. package/dist/types/layout.js +0 -142
  208. package/dist/types/layout.js.map +0 -1
  209. package/dist/types/platform.d.ts +0 -72
  210. package/dist/types/platform.d.ts.map +0 -1
  211. package/dist/types/platform.js +0 -38
  212. package/dist/types/platform.js.map +0 -1
  213. package/dist/types/quota.d.ts +0 -158
  214. package/dist/types/quota.d.ts.map +0 -1
  215. package/dist/types/quota.js +0 -26
  216. package/dist/types/quota.js.map +0 -1
  217. package/dist/types/review.d.ts +0 -62
  218. package/dist/types/review.d.ts.map +0 -1
  219. package/dist/types/review.js +0 -8
  220. package/dist/types/review.js.map +0 -1
  221. package/dist/types/server-config.d.ts +0 -53
  222. package/dist/types/server-config.d.ts.map +0 -1
  223. package/dist/types/server-config.js +0 -19
  224. package/dist/types/server-config.js.map +0 -1
  225. package/dist/types/service.d.ts +0 -96
  226. package/dist/types/service.d.ts.map +0 -1
  227. package/dist/types/service.js +0 -7
  228. package/dist/types/service.js.map +0 -1
  229. package/dist/types/terminal.d.ts +0 -35
  230. package/dist/types/terminal.d.ts.map +0 -1
  231. package/dist/types/terminal.js +0 -20
  232. package/dist/types/terminal.js.map +0 -1
  233. package/dist/types/ui-components.d.ts +0 -53
  234. package/dist/types/ui-components.d.ts.map +0 -1
  235. package/dist/types/ui-components.js +0 -3
  236. package/dist/types/ui-components.js.map +0 -1
  237. package/dist/types/user-metadata.d.ts +0 -43
  238. package/dist/types/user-metadata.d.ts.map +0 -1
  239. package/dist/types/user-metadata.js +0 -17
  240. package/dist/types/user-metadata.js.map +0 -1
  241. package/dist/types/user.d.ts +0 -134
  242. package/dist/types/user.d.ts.map +0 -1
  243. package/dist/types/user.js +0 -7
  244. package/dist/types/user.js.map +0 -1
  245. package/dist/utils/clipboard.d.ts +0 -21
  246. package/dist/utils/clipboard.d.ts.map +0 -1
  247. package/dist/utils/clipboard.js +0 -45
  248. package/dist/utils/clipboard.js.map +0 -1
  249. package/dist/utils/error-formatter.d.ts +0 -60
  250. package/dist/utils/error-formatter.d.ts.map +0 -1
  251. package/dist/utils/error-formatter.js +0 -244
  252. package/dist/utils/error-formatter.js.map +0 -1
  253. package/dist/utils/errors.d.ts +0 -92
  254. package/dist/utils/errors.d.ts.map +0 -1
  255. package/dist/utils/errors.js +0 -143
  256. package/dist/utils/errors.js.map +0 -1
  257. package/dist/utils/firewall.d.ts +0 -14
  258. package/dist/utils/firewall.d.ts.map +0 -1
  259. package/dist/utils/firewall.js +0 -78
  260. package/dist/utils/firewall.js.map +0 -1
  261. package/dist/utils/format.d.ts +0 -93
  262. package/dist/utils/format.d.ts.map +0 -1
  263. package/dist/utils/format.js +0 -240
  264. package/dist/utils/format.js.map +0 -1
  265. package/dist/utils/icons.d.ts +0 -53
  266. package/dist/utils/icons.d.ts.map +0 -1
  267. package/dist/utils/icons.js +0 -143
  268. package/dist/utils/icons.js.map +0 -1
  269. package/dist/utils/layout.d.ts +0 -142
  270. package/dist/utils/layout.d.ts.map +0 -1
  271. package/dist/utils/layout.js +0 -381
  272. package/dist/utils/layout.js.map +0 -1
  273. package/dist/utils/logger.d.ts +0 -160
  274. package/dist/utils/logger.d.ts.map +0 -1
  275. package/dist/utils/logger.js +0 -351
  276. package/dist/utils/logger.js.map +0 -1
  277. package/dist/utils/network.d.ts +0 -39
  278. package/dist/utils/network.d.ts.map +0 -1
  279. package/dist/utils/network.js +0 -227
  280. package/dist/utils/network.js.map +0 -1
  281. package/dist/utils/os-detection.d.ts +0 -10
  282. package/dist/utils/os-detection.d.ts.map +0 -1
  283. package/dist/utils/os-detection.js +0 -86
  284. package/dist/utils/os-detection.js.map +0 -1
  285. package/dist/utils/preflight.d.ts +0 -57
  286. package/dist/utils/preflight.d.ts.map +0 -1
  287. package/dist/utils/preflight.js +0 -215
  288. package/dist/utils/preflight.js.map +0 -1
  289. package/dist/utils/repo-scan.d.ts +0 -54
  290. package/dist/utils/repo-scan.d.ts.map +0 -1
  291. package/dist/utils/repo-scan.js +0 -165
  292. package/dist/utils/repo-scan.js.map +0 -1
  293. package/dist/utils/report-output.d.ts +0 -13
  294. package/dist/utils/report-output.d.ts.map +0 -1
  295. package/dist/utils/report-output.js +0 -33
  296. package/dist/utils/report-output.js.map +0 -1
  297. package/dist/utils/review-id.d.ts +0 -8
  298. package/dist/utils/review-id.d.ts.map +0 -1
  299. package/dist/utils/review-id.js +0 -17
  300. package/dist/utils/review-id.js.map +0 -1
  301. package/dist/utils/splash.d.ts +0 -21
  302. package/dist/utils/splash.d.ts.map +0 -1
  303. package/dist/utils/splash.js +0 -179
  304. package/dist/utils/splash.js.map +0 -1
  305. package/dist/utils/terminal.d.ts +0 -32
  306. package/dist/utils/terminal.d.ts.map +0 -1
  307. package/dist/utils/terminal.js +0 -93
  308. package/dist/utils/terminal.js.map +0 -1
  309. package/dist/utils/traffic-formatter.d.ts +0 -45
  310. package/dist/utils/traffic-formatter.d.ts.map +0 -1
  311. package/dist/utils/traffic-formatter.js +0 -131
  312. package/dist/utils/traffic-formatter.js.map +0 -1
  313. package/dist/utils/validator.d.ts +0 -102
  314. package/dist/utils/validator.d.ts.map +0 -1
  315. package/dist/utils/validator.js +0 -238
  316. package/dist/utils/validator.js.map +0 -1
  317. package/dist/utils/vless-link.d.ts +0 -27
  318. package/dist/utils/vless-link.d.ts.map +0 -1
  319. package/dist/utils/vless-link.js +0 -69
  320. package/dist/utils/vless-link.js.map +0 -1
  321. package/dist/utils/which.d.ts +0 -13
  322. package/dist/utils/which.d.ts.map +0 -1
  323. package/dist/utils/which.js +0 -28
  324. package/dist/utils/which.js.map +0 -1
@@ -1,67 +0,0 @@
1
- /**
2
- * Progress Bar Component
3
- *
4
- * Renders ASCII progress bars for traffic usage display
5
- *
6
- * @module components/progress-bar
7
- */
8
- /**
9
- * Progress bar options
10
- */
11
- export interface ProgressBarOptions {
12
- /** Total width of the progress bar (default: 20) */
13
- width?: number;
14
- /** Character for filled portion (default: '█') */
15
- filledChar?: string;
16
- /** Character for empty portion (default: '░') */
17
- emptyChar?: string;
18
- /** Show percentage text (default: true) */
19
- showPercent?: boolean;
20
- /** Color thresholds for warning/error states */
21
- thresholds?: {
22
- warning: number;
23
- error: number;
24
- };
25
- }
26
- /**
27
- * Render a progress bar
28
- *
29
- * @param percent - Current percentage (0-100+)
30
- * @param options - Rendering options
31
- * @returns Formatted progress bar string
32
- */
33
- export declare function renderProgressBar(percent: number, options?: ProgressBarOptions): string;
34
- /**
35
- * Render a compact progress bar (for tight spaces)
36
- *
37
- * @param percent - Current percentage (0-100+)
38
- * @param width - Bar width (default: 10)
39
- * @returns Formatted compact progress bar
40
- */
41
- export declare function renderCompactBar(percent: number, width?: number): string;
42
- /**
43
- * Render a usage summary with progress bar
44
- *
45
- * @param usedBytes - Used bytes
46
- * @param totalBytes - Total quota bytes (-1 for unlimited)
47
- * @param formatFn - Function to format bytes to display string
48
- * @returns Formatted usage summary with progress bar
49
- */
50
- export declare function renderUsageSummary(usedBytes: number, totalBytes: number, formatFn: (_bytes: number) => string): string;
51
- /**
52
- * Render a mini indicator (single character)
53
- *
54
- * @param percent - Current percentage
55
- * @returns Single colored character indicator
56
- */
57
- export declare function renderMiniIndicator(percent: number): string;
58
- /**
59
- * Render usage as a fraction with color
60
- *
61
- * @param usedBytes - Used bytes
62
- * @param totalBytes - Total quota bytes
63
- * @param formatFn - Function to format bytes
64
- * @returns Colored fraction string
65
- */
66
- export declare function renderUsageFraction(usedBytes: number, totalBytes: number, formatFn: (_bytes: number) => string): string;
67
- //# sourceMappingURL=progress-bar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../src/components/progress-bar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,gDAAgD;IAChD,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAgBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA4B3F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAO5E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAiBR"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- /**
3
- * Progress Bar Component
4
- *
5
- * Renders ASCII progress bars for traffic usage display
6
- *
7
- * @module components/progress-bar
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.renderProgressBar = renderProgressBar;
11
- exports.renderCompactBar = renderCompactBar;
12
- exports.renderUsageSummary = renderUsageSummary;
13
- exports.renderMiniIndicator = renderMiniIndicator;
14
- exports.renderUsageFraction = renderUsageFraction;
15
- const theme_1 = require("../constants/theme");
16
- /**
17
- * Default options
18
- */
19
- const DEFAULT_OPTIONS = {
20
- width: 20,
21
- filledChar: '█',
22
- emptyChar: '░',
23
- showPercent: true,
24
- thresholds: {
25
- warning: 80,
26
- error: 100,
27
- },
28
- };
29
- /**
30
- * Render a progress bar
31
- *
32
- * @param percent - Current percentage (0-100+)
33
- * @param options - Rendering options
34
- * @returns Formatted progress bar string
35
- */
36
- function renderProgressBar(percent, options = {}) {
37
- const opts = { ...DEFAULT_OPTIONS, ...options };
38
- const { width, filledChar, emptyChar, showPercent, thresholds } = opts;
39
- // Clamp percentage for display (but keep original for color)
40
- const displayPercent = Math.min(percent, 100);
41
- const filledWidth = Math.round((displayPercent / 100) * width);
42
- const emptyWidth = width - filledWidth;
43
- // Build the bar
44
- const filled = filledChar.repeat(filledWidth);
45
- const empty = emptyChar.repeat(emptyWidth);
46
- // Determine color based on thresholds
47
- let colorFn;
48
- if (percent >= thresholds.error) {
49
- colorFn = theme_1.THEME.error;
50
- }
51
- else if (percent >= thresholds.warning) {
52
- colorFn = theme_1.THEME.warning;
53
- }
54
- else {
55
- colorFn = theme_1.THEME.success;
56
- }
57
- // Build result
58
- const bar = colorFn(filled) + theme_1.THEME.neutral(empty);
59
- const percentText = showPercent ? ` ${Math.round(percent)}%` : '';
60
- return `[${bar}]${colorFn(percentText)}`;
61
- }
62
- /**
63
- * Render a compact progress bar (for tight spaces)
64
- *
65
- * @param percent - Current percentage (0-100+)
66
- * @param width - Bar width (default: 10)
67
- * @returns Formatted compact progress bar
68
- */
69
- function renderCompactBar(percent, width = 10) {
70
- return renderProgressBar(percent, {
71
- width,
72
- showPercent: false,
73
- filledChar: '▓',
74
- emptyChar: '░',
75
- });
76
- }
77
- /**
78
- * Render a usage summary with progress bar
79
- *
80
- * @param usedBytes - Used bytes
81
- * @param totalBytes - Total quota bytes (-1 for unlimited)
82
- * @param formatFn - Function to format bytes to display string
83
- * @returns Formatted usage summary with progress bar
84
- */
85
- function renderUsageSummary(usedBytes, totalBytes, formatFn) {
86
- if (totalBytes < 0) {
87
- // Unlimited quota
88
- return `${formatFn(usedBytes)} / ${theme_1.THEME.neutral('无限制')}`;
89
- }
90
- const percent = (usedBytes / totalBytes) * 100;
91
- const bar = renderProgressBar(percent, { width: 15 });
92
- const usedStr = formatFn(usedBytes);
93
- const totalStr = formatFn(totalBytes);
94
- return `${bar} ${usedStr} / ${totalStr}`;
95
- }
96
- /**
97
- * Render a mini indicator (single character)
98
- *
99
- * @param percent - Current percentage
100
- * @returns Single colored character indicator
101
- */
102
- function renderMiniIndicator(percent) {
103
- if (percent >= 100) {
104
- return theme_1.THEME.error('●');
105
- }
106
- else if (percent >= 80) {
107
- return theme_1.THEME.warning('●');
108
- }
109
- else {
110
- return theme_1.THEME.success('●');
111
- }
112
- }
113
- /**
114
- * Render usage as a fraction with color
115
- *
116
- * @param usedBytes - Used bytes
117
- * @param totalBytes - Total quota bytes
118
- * @param formatFn - Function to format bytes
119
- * @returns Colored fraction string
120
- */
121
- function renderUsageFraction(usedBytes, totalBytes, formatFn) {
122
- if (totalBytes < 0) {
123
- return `${formatFn(usedBytes)} / ${theme_1.THEME.neutral('∞')}`;
124
- }
125
- const percent = (usedBytes / totalBytes) * 100;
126
- let colorFn;
127
- if (percent >= 100) {
128
- colorFn = theme_1.THEME.error;
129
- }
130
- else if (percent >= 80) {
131
- colorFn = theme_1.THEME.warning;
132
- }
133
- else {
134
- colorFn = theme_1.THEME.success;
135
- }
136
- return `${colorFn(formatFn(usedBytes))} / ${theme_1.THEME.neutral(formatFn(totalBytes))}`;
137
- }
138
- //# sourceMappingURL=progress-bar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../src/components/progress-bar.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { UserConfig } from '../types/user';
2
- /**
3
- * Renders a list of users as a formatted table
4
- * @param users - List of user configurations
5
- * @param width - Available terminal width
6
- */
7
- export declare function renderUserTable(users: UserConfig[], width: number): string;
8
- //# sourceMappingURL=user-table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-table.d.ts","sourceRoot":"","sources":["../../src/components/user-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAqF1E"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderUserTable = renderUserTable;
7
- const cli_table3_1 = __importDefault(require("cli-table3"));
8
- const theme_1 = require("../constants/theme");
9
- /**
10
- * Renders a list of users as a formatted table
11
- * @param users - List of user configurations
12
- * @param width - Available terminal width
13
- */
14
- function renderUserTable(users, width) {
15
- // Determine if we can show extra columns
16
- const isWide = width >= 100;
17
- const head = isWide
18
- ? ['Username', 'UUID Prefix', 'Port', 'Protocol', 'Status']
19
- : ['Username', 'UUID Prefix', 'Status'];
20
- // Calculate adaptive column widths
21
- // Standard: [20%, 30%, 20%] approx
22
- // Wide: [15%, 25%, 10%, 10%, 15%] approx
23
- const colWidths = isWide
24
- ? [
25
- Math.floor(width * 0.15),
26
- Math.floor(width * 0.25),
27
- Math.floor(width * 0.1),
28
- Math.floor(width * 0.1),
29
- Math.floor(width * 0.15),
30
- ]
31
- : [Math.floor(width * 0.25), Math.floor(width * 0.4), Math.floor(width * 0.25)];
32
- const table = new cli_table3_1.default({
33
- head: head.map((h) => theme_1.THEME.primary(h)), // Use theme color for headers
34
- colWidths,
35
- style: {
36
- head: [],
37
- border: ['gray'], // Apply neutral color to borders
38
- },
39
- // Use theme border style
40
- chars: theme_1.UI_CONSTANTS.BORDER_STYLE === 'single'
41
- ? {
42
- top: '─',
43
- 'top-mid': '┬',
44
- 'top-left': '┌',
45
- 'top-right': '┐',
46
- bottom: '─',
47
- 'bottom-mid': '┴',
48
- 'bottom-left': '└',
49
- 'bottom-right': '┘',
50
- left: '│',
51
- 'left-mid': '├',
52
- mid: '─',
53
- 'mid-mid': '┼',
54
- right: '│',
55
- 'right-mid': '┤',
56
- middle: '│',
57
- }
58
- : undefined,
59
- });
60
- // Limit rows and show summary if too many
61
- const MAX_ROWS = 10;
62
- const showSummary = users.length > MAX_ROWS;
63
- const displayUsers = showSummary ? users.slice(0, MAX_ROWS) : users;
64
- displayUsers.forEach((user) => {
65
- const uuidPrefix = user.uuid ? `${user.uuid.substring(0, 8)}...` : 'N/A';
66
- // Use theme indicator
67
- const status = theme_1.THEME.success(`${theme_1.UI_CONSTANTS.INDICATOR.ACTIVE} Active`);
68
- if (isWide) {
69
- table.push([
70
- user.username,
71
- uuidPrefix,
72
- String(user.port || 'N/A'),
73
- user.protocol || 'vless',
74
- status,
75
- ]);
76
- }
77
- else {
78
- table.push([user.username, uuidPrefix, status]);
79
- }
80
- });
81
- if (showSummary) {
82
- const remaining = users.length - MAX_ROWS;
83
- const summaryText = `... and ${remaining} more users`;
84
- // Create a row that spans all columns
85
- const summaryRow = new Array(head.length).fill('');
86
- summaryRow[0] = theme_1.THEME.neutral(summaryText);
87
- table.push(summaryRow);
88
- }
89
- return table.toString();
90
- }
91
- //# sourceMappingURL=user-table.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-table.js","sourceRoot":"","sources":["../../src/components/user-table.ts"],"names":[],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- /**
2
- * Internationalization (i18n) Configuration
3
- *
4
- * Provides language support for Chinese and English
5
- *
6
- * @module config/i18n
7
- */
8
- /** Supported languages */
9
- export type Language = 'zh' | 'en';
10
- /** Translation interface */
11
- export interface Translations {
12
- menu: {
13
- viewStatus: string;
14
- startService: string;
15
- stopService: string;
16
- restartService: string;
17
- userManagement: string;
18
- quotaManagement: string;
19
- configManagement: string;
20
- viewLogs: string;
21
- switchLanguage: string;
22
- exit: string;
23
- };
24
- status: {
25
- serviceStatus: string;
26
- userCount: string;
27
- active: string;
28
- inactive: string;
29
- unknown: string;
30
- };
31
- quota: {
32
- title: string;
33
- list: string;
34
- set: string;
35
- show: string;
36
- reset: string;
37
- reenable: string;
38
- unlimited: string;
39
- used: string;
40
- remaining: string;
41
- exceeded: string;
42
- warning: string;
43
- normal: string;
44
- noQuota: string;
45
- selectUser: string;
46
- selectPreset: string;
47
- enterCustom: string;
48
- confirmReset: string;
49
- confirmReenable: string;
50
- executeCheck: string;
51
- checkComplete: string;
52
- normalUsers: string;
53
- warningUsers: string;
54
- exceededUsers: string;
55
- disabledUsers: string;
56
- };
57
- logs: {
58
- title: string;
59
- accessLog: string;
60
- errorLog: string;
61
- noLogs: string;
62
- logFileNotFound: string;
63
- logFileEmpty: string;
64
- showingLines: string;
65
- };
66
- config: {
67
- title: string;
68
- viewConfig: string;
69
- backupConfig: string;
70
- restoreConfig: string;
71
- backupSuccess: string;
72
- restoreSuccess: string;
73
- noBackups: string;
74
- selectBackup: string;
75
- confirmRestore: string;
76
- restoreWarning: string;
77
- };
78
- publicIp: {
79
- detecting: string;
80
- detected: string;
81
- detectionFailed: string;
82
- enterManually: string;
83
- invalidIp: string;
84
- saved: string;
85
- natDetected: string;
86
- };
87
- actions: {
88
- selectAction: string;
89
- confirm: string;
90
- cancel: string;
91
- back: string;
92
- };
93
- messages: {
94
- languageSwitched: string;
95
- operationSuccess: string;
96
- operationFailed: string;
97
- thankYou: string;
98
- terminalTooNarrow: string;
99
- terminalTooShort: string;
100
- terminalResizeSuggestion: string;
101
- quotaSet: string;
102
- quotaReset: string;
103
- userReenabled: string;
104
- noUsersWithQuota: string;
105
- noDisabledUsers: string;
106
- };
107
- }
108
- /**
109
- * Load language preference from file
110
- */
111
- export declare function loadLanguagePreference(): Language;
112
- /**
113
- * Save language preference to file
114
- */
115
- export declare function saveLanguagePreference(lang: Language): void;
116
- /**
117
- * Get current language
118
- */
119
- export declare function getCurrentLanguage(): Language;
120
- /**
121
- * Set current language
122
- */
123
- export declare function setLanguage(lang: Language): void;
124
- /**
125
- * Toggle language (switch between zh and en)
126
- */
127
- export declare function toggleLanguage(): Language;
128
- /**
129
- * Get translations for current language
130
- */
131
- export declare function t(): Translations;
132
- /**
133
- * Get translation for specific language
134
- */
135
- export declare function getTranslations(lang: Language): Translations;
136
- //# sourceMappingURL=i18n.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/config/i18n.ts"],"names":[],"mappings":"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"}