xray-manager 1.8.5 → 2.0.1

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 +129 -42
  2. package/dist/cli.mjs +8598 -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
package/README.md CHANGED
@@ -14,6 +14,24 @@
14
14
  <em>自建梯子 · 科学上网 · 翻墙工具 · VPN替代方案 · 访问ChatGPT/Claude</em>
15
15
  </p>
16
16
 
17
+ ---
18
+
19
+ ### ⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!
20
+
21
+ <p align="center">
22
+ <strong>你的 Star 是我持续更新的最大动力 🙏</strong><br>
23
+ <em>开源不易,维护更难。一个 Star,一份鼓励!</em>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <a href="https://github.com/DanOps-1/Xray-VPN-OneClick">
28
+ <img src="https://img.shields.io/github/stars/DanOps-1/Xray-VPN-OneClick?style=social" alt="GitHub stars">
29
+ </a>
30
+ <a href="https://github.com/DanOps-1/Xray-VPN-OneClick/fork">
31
+ <img src="https://img.shields.io/github/forks/DanOps-1/Xray-VPN-OneClick?style=social" alt="GitHub forks">
32
+ </a>
33
+ </p>
34
+
17
35
  <!-- 核心徽章 -->
18
36
  [![npm version](https://img.shields.io/npm/v/xray-manager?style=for-the-badge&logo=npm&color=red)](https://www.npmjs.com/package/xray-manager)
19
37
  [![npm downloads](https://img.shields.io/npm/dm/xray-manager?style=for-the-badge&logo=npm&color=orange)](https://www.npmjs.com/package/xray-manager)
@@ -42,6 +60,42 @@
42
60
 
43
61
  ---
44
62
 
63
+ ## ⚡ 30秒快速安装
64
+
65
+ ```bash
66
+ # 一键安装 Xray + VLESS + Reality(复制粘贴即可)
67
+ wget https://raw.githubusercontent.com/DanOps-1/Xray-VPN-OneClick/main/scripts/install.sh -O xray-install.sh && sudo bash xray-install.sh
68
+ ```
69
+
70
+ <details>
71
+ <summary>📦 其他安装方式(npm / 国内加速 / git clone)</summary>
72
+
73
+ ```bash
74
+ # npm 全局安装(需要 Node.js 18+)
75
+ npm install -g xray-manager && sudo xm install
76
+
77
+ # 国内服务器加速
78
+ wget https://ghproxy.com/https://raw.githubusercontent.com/DanOps-1/Xray-VPN-OneClick/main/scripts/install.sh -O xray-install.sh && sudo bash xray-install.sh
79
+
80
+ # 克隆仓库安装
81
+ git clone https://github.com/DanOps-1/Xray-VPN-OneClick.git && cd Xray-VPN-OneClick/scripts && sudo bash install.sh
82
+ ```
83
+
84
+ </details>
85
+
86
+ > **系统要求:** Linux (Ubuntu 22.04+ / Debian 11+ / CentOS 9+),512MB RAM,公网 IP
87
+
88
+ ---
89
+
90
+ ## 📸 界面预览
91
+
92
+ <div align="center">
93
+ <img src="interface.png" alt="Xray Manager 交互式界面" width="100%">
94
+ <p><em>现代化的交互式管理界面,支持服务管理、用户管理、流量配额等功能</em></p>
95
+ </div>
96
+
97
+ ---
98
+
45
99
  ## 📑 目录
46
100
 
47
101
  - [✨ 项目简介](#-项目简介)
@@ -173,21 +227,22 @@
173
227
  <td width="50%">
174
228
 
175
229
  ### 🛠️ 管理特性
176
- - ✅ **用户管理** - 添加/删除用户
177
- - ✅ **配置备份** - 自动备份恢复
178
- - ✅ **一键更新** - 升级到最新版本
179
- - ✅ **查看配置** - 显示连接信息
180
- - ✅ **安全卸载** - 完整清理系统
230
+ - ✅ **用户管理** - 添加/删除用户,到期时间管理
231
+ - ✅ **在线监控** - 实时查看活跃用户和连接
232
+ - ✅ **订阅链接** - 内置订阅服务,客户端自动更新
233
+ - ✅ **Telegram 通知** - 流量超限/到期/异常自动推送
234
+ - ✅ **定时任务** - 到期检查、配额执行、月度重置
235
+ - ✅ **REST API** - 内置 HTTP API 供外部系统集成
181
236
 
182
237
  </td>
183
238
  <td width="50%">
184
239
 
185
240
  ### 📱 客户端特性
186
241
  - ✅ **分享链接** - 自动生成 VLESS URL
242
+ - ✅ **订阅服务** - 标准订阅格式,支持 V2RayN/Clash
187
243
  - ✅ **二维码** - 扫码快速导入
188
244
  - ✅ **全平台** - 主流系统全覆盖
189
245
  - ✅ **多协议** - 兼容 v2ray 生态
190
- - ✅ **详细教程** - 分平台配置指南
191
246
 
192
247
  </td>
193
248
  </tr>
@@ -441,52 +496,84 @@ xm
441
496
 
442
497
  | 功能模块 | 说明 |
443
498
  |---------|------|
444
- | 📊 **服务管理** | 查看状态、启动/停止/重启服务 |
445
- | 👥 **用户管理** | 添加/删除用户、生成分享链接 |
446
- | 📊 **流量配额** | 设置配额、流量预警、超额自动禁用 |
447
- | ⚙️ **配置管理** | 备份/恢复配置、修改配置项 |
448
- | 📝 **日志查看** | 实时日志、按级别/时间过滤 |
449
- | 📈 **仪表盘** | 服务概览、用户统计、流量统计 |
499
+ | 📊 **实时仪表盘** | 服务状态、流量统计、CPU/内存/磁盘监控、在线用户数 |
500
+ | 👥 **用户管理** | 添加/删除用户、到期时间、分享链接、到期自动禁用 |
501
+ | 📡 **在线监控** | 实时检测活跃用户(基于 Xray Stats API 流量差值) |
502
+ | 📊 **流量配额** | 设置配额、流量预警、超额自动禁用、定时重置 |
503
+ | 🔗 **订阅服务** | 内置 HTTP 订阅服务器,每用户独立订阅 URL |
504
+ | 📢 **Telegram 通知** | 流量超限/用户到期/服务异常自动推送 |
505
+ | ⏰ **定时任务** | 到期检查、配额执行、月度流量重置 |
506
+ | ⚙️ **配置管理** | 备份/恢复配置 |
507
+ | 📝 **日志查看** | 访问/错误日志,Follow 模式 |
508
+ | 🔌 **REST API** | 内置 HTTP API,Bearer Token 认证,支持外部集成 |
450
509
 
451
510
  <details>
452
511
  <summary><b>查看详细功能列表</b></summary>
453
512
 
454
- **服务管理**
455
- - 查看服务状态(运行时长、内存使用)
456
- - 启动/停止/重启服务
457
- - 自动检测权限和 systemd
513
+ **React+Ink 终端 UI** ⭐ NEW
514
+ - 基于 React+Ink 的现代终端界面
515
+ - 键盘驱动导航(j/k/Enter/Esc/q)
516
+ - 模糊搜索命令面板(/ 键触发)
517
+ - 中英文双语切换
518
+ - 深色/浅色主题
519
+
520
+ **实时仪表盘**
521
+ - 服务状态、运行时长
522
+ - 流量统计(上行/下行)
523
+ - CPU / 内存 / 磁盘使用率(迷你进度条)
524
+ - 在线用户数
458
525
 
459
526
  **用户管理**
460
- - 列出所有用户(含流量使用信息)
461
- - 添加新用户(自动生成 UUID)
462
- - 删除用户
463
- - 显示分享链接(自动复制到剪贴板)
464
-
465
- **流量配额管理** ⭐ NEW
466
- - 为用户设置流量配额(预设/自定义)
467
- - 查看流量使用情况和剩余配额
468
- - 流量预警(80%黄色/100%红色)
469
- - 超额自动禁用用户
470
- - 重置流量和重新启用用户
527
+ - 添加用户(自动 UUID + 可选到期天数)
528
+ - 删除用户(确认对话框)
529
+ - 用户到期时间管理(自动禁用过期用户)
530
+ - 分享链接生成
531
+
532
+ **在线用户监控** ⭐ NEW
533
+ - 基于 Xray Stats API 流量差值检测活跃用户
534
+ - TCP 连接统计(ss 解析)
535
+ - 5 秒自动刷新
536
+ - 显示每用户上行/下行累计流量
537
+
538
+ **订阅链接服务** ⭐ NEW
539
+ - 内置轻量 HTTP 订阅服务器(零依赖)
540
+ - 每用户独立订阅 URL(Token 认证)
541
+ - 支持 V2RayN / Clash 客户端自动更新
542
+ - 可启停、可刷新 Token
543
+
544
+ **Telegram 通知** ⭐ NEW
545
+ - 流量达 80%/100% 自动告警
546
+ - 用户到期提醒(3天前、当天、已过期)
547
+ - 服务异常/恢复通知
548
+ - 用户创建/删除通知
549
+ - 每日流量摘要(可选)
550
+
551
+ **定时任务** ⭐ NEW
552
+ - 到期检查(每小时)
553
+ - 配额执行(每 10 分钟)
554
+ - 月度流量重置(每月 1 号)
555
+ - 可配置启用/禁用各任务
556
+
557
+ **REST API** ⭐ NEW
558
+ - 原生 HTTP API(零外部依赖)
559
+ - Bearer Token 认证
560
+ - 用户 CRUD、配额管理、服务控制、系统监控
561
+ - 订阅链接服务集成
562
+
563
+ **流量配额管理**
564
+ - 预设配额(1/5/10/50/100 GB)或自定义
565
+ - 流量进度条(绿/黄/红三色阈值)
566
+ - 超额自动禁用
567
+ - 重置流量、重新启用用户
471
568
 
472
569
  **配置管理**
473
- - 查看当前配置
474
- - 创建配置备份(时间戳命名)
475
- - 列出所有备份
476
- - 恢复配置
477
- - 修改配置项
570
+ - 查看当前 Xray 配置摘要
571
+ - 创建备份 / 从备份恢复
478
572
 
479
573
  **日志查看**
480
- - 查看最近日志
481
- - 实时跟踪日志(Ctrl+C 停止)
482
- - 按级别过滤(error/warning/info/debug)
483
- - 按时间范围过滤
484
-
485
- **仪表盘**
486
- - 服务状态概览
487
- - 用户统计(活跃/警告/超额)
488
- - 总流量使用统计
489
- - 实时数据刷新
574
+ - 访问日志 / 错误日志 Tab 切换
575
+ - Follow 模式(实时跟踪)
576
+ - 滚动浏览、自动刷新
490
577
 
491
578
  </details>
492
579