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.
- package/README.md +102 -42
- package/dist/cli.mjs +8587 -0
- package/dist/cli.mjs.map +7 -0
- package/package.json +13 -5
- package/dist/cli.d.ts +0 -11
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -134
- package/dist/cli.js.map +0 -1
- package/dist/commands/clash.d.ts +0 -20
- package/dist/commands/clash.d.ts.map +0 -1
- package/dist/commands/clash.js +0 -156
- package/dist/commands/clash.js.map +0 -1
- package/dist/commands/config.d.ts +0 -56
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -461
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/interactive.d.ts +0 -55
- package/dist/commands/interactive.d.ts.map +0 -1
- package/dist/commands/interactive.js +0 -418
- package/dist/commands/interactive.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -62
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -389
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/quota.d.ts +0 -54
- package/dist/commands/quota.d.ts.map +0 -1
- package/dist/commands/quota.js +0 -661
- package/dist/commands/quota.js.map +0 -1
- package/dist/commands/review.d.ts +0 -8
- package/dist/commands/review.d.ts.map +0 -1
- package/dist/commands/review.js +0 -79
- package/dist/commands/review.js.map +0 -1
- package/dist/commands/service.d.ts +0 -43
- package/dist/commands/service.d.ts.map +0 -1
- package/dist/commands/service.js +0 -202
- package/dist/commands/service.js.map +0 -1
- package/dist/commands/user.d.ts +0 -49
- package/dist/commands/user.d.ts.map +0 -1
- package/dist/commands/user.js +0 -371
- package/dist/commands/user.js.map +0 -1
- package/dist/components/dashboard-widget.d.ts +0 -21
- package/dist/components/dashboard-widget.d.ts.map +0 -1
- package/dist/components/dashboard-widget.js +0 -234
- package/dist/components/dashboard-widget.js.map +0 -1
- package/dist/components/progress-bar.d.ts +0 -67
- package/dist/components/progress-bar.d.ts.map +0 -1
- package/dist/components/progress-bar.js +0 -138
- package/dist/components/progress-bar.js.map +0 -1
- package/dist/components/user-table.d.ts +0 -8
- package/dist/components/user-table.d.ts.map +0 -1
- package/dist/components/user-table.js +0 -91
- package/dist/components/user-table.js.map +0 -1
- package/dist/config/i18n.d.ts +0 -136
- package/dist/config/i18n.d.ts.map +0 -1
- package/dist/config/i18n.js +0 -323
- package/dist/config/i18n.js.map +0 -1
- package/dist/constants/error-codes.d.ts +0 -344
- package/dist/constants/error-codes.d.ts.map +0 -1
- package/dist/constants/error-codes.js +0 -462
- package/dist/constants/error-codes.js.map +0 -1
- package/dist/constants/exit-codes.d.ts +0 -49
- package/dist/constants/exit-codes.d.ts.map +0 -1
- package/dist/constants/exit-codes.js +0 -100
- package/dist/constants/exit-codes.js.map +0 -1
- package/dist/constants/paths.d.ts +0 -63
- package/dist/constants/paths.d.ts.map +0 -1
- package/dist/constants/paths.js +0 -78
- package/dist/constants/paths.js.map +0 -1
- package/dist/constants/quota.d.ts +0 -126
- package/dist/constants/quota.d.ts.map +0 -1
- package/dist/constants/quota.js +0 -135
- package/dist/constants/quota.js.map +0 -1
- package/dist/constants/review.d.ts +0 -14
- package/dist/constants/review.d.ts.map +0 -1
- package/dist/constants/review.js +0 -33
- package/dist/constants/review.js.map +0 -1
- package/dist/constants/supported-distros.d.ts +0 -17
- package/dist/constants/supported-distros.d.ts.map +0 -1
- package/dist/constants/supported-distros.js +0 -68
- package/dist/constants/supported-distros.js.map +0 -1
- package/dist/constants/theme.d.ts +0 -34
- package/dist/constants/theme.d.ts.map +0 -1
- package/dist/constants/theme.js +0 -52
- package/dist/constants/theme.js.map +0 -1
- package/dist/constants/timeouts.d.ts +0 -84
- package/dist/constants/timeouts.d.ts.map +0 -1
- package/dist/constants/timeouts.js +0 -111
- package/dist/constants/timeouts.js.map +0 -1
- package/dist/constants/ui-symbols.d.ts +0 -47
- package/dist/constants/ui-symbols.d.ts.map +0 -1
- package/dist/constants/ui-symbols.js +0 -48
- package/dist/constants/ui-symbols.js.map +0 -1
- package/dist/services/clash-config.d.ts +0 -16
- package/dist/services/clash-config.d.ts.map +0 -1
- package/dist/services/clash-config.js +0 -107
- package/dist/services/clash-config.js.map +0 -1
- package/dist/services/config-manager.d.ts +0 -90
- package/dist/services/config-manager.d.ts.map +0 -1
- package/dist/services/config-manager.js +0 -307
- package/dist/services/config-manager.js.map +0 -1
- package/dist/services/layout-manager.d.ts +0 -94
- package/dist/services/layout-manager.d.ts.map +0 -1
- package/dist/services/layout-manager.js +0 -192
- package/dist/services/layout-manager.js.map +0 -1
- package/dist/services/log-manager.d.ts +0 -157
- package/dist/services/log-manager.d.ts.map +0 -1
- package/dist/services/log-manager.js +0 -397
- package/dist/services/log-manager.js.map +0 -1
- package/dist/services/navigation-manager.d.ts +0 -23
- package/dist/services/navigation-manager.d.ts.map +0 -1
- package/dist/services/navigation-manager.js +0 -39
- package/dist/services/navigation-manager.js.map +0 -1
- package/dist/services/platform-detector.d.ts +0 -10
- package/dist/services/platform-detector.d.ts.map +0 -1
- package/dist/services/platform-detector.js +0 -106
- package/dist/services/platform-detector.js.map +0 -1
- package/dist/services/public-ip-manager.d.ts +0 -78
- package/dist/services/public-ip-manager.d.ts.map +0 -1
- package/dist/services/public-ip-manager.js +0 -296
- package/dist/services/public-ip-manager.js.map +0 -1
- package/dist/services/quota-enforcer.d.ts +0 -86
- package/dist/services/quota-enforcer.d.ts.map +0 -1
- package/dist/services/quota-enforcer.js +0 -151
- package/dist/services/quota-enforcer.js.map +0 -1
- package/dist/services/quota-manager.d.ts +0 -101
- package/dist/services/quota-manager.d.ts.map +0 -1
- package/dist/services/quota-manager.js +0 -257
- package/dist/services/quota-manager.js.map +0 -1
- package/dist/services/review/areas/community.d.ts +0 -9
- package/dist/services/review/areas/community.d.ts.map +0 -1
- package/dist/services/review/areas/community.js +0 -59
- package/dist/services/review/areas/community.js.map +0 -1
- package/dist/services/review/areas/contribution.d.ts +0 -9
- package/dist/services/review/areas/contribution.d.ts.map +0 -1
- package/dist/services/review/areas/contribution.js +0 -107
- package/dist/services/review/areas/contribution.js.map +0 -1
- package/dist/services/review/areas/documentation.d.ts +0 -9
- package/dist/services/review/areas/documentation.d.ts.map +0 -1
- package/dist/services/review/areas/documentation.js +0 -110
- package/dist/services/review/areas/documentation.js.map +0 -1
- package/dist/services/review/areas/license.d.ts +0 -9
- package/dist/services/review/areas/license.d.ts.map +0 -1
- package/dist/services/review/areas/license.js +0 -86
- package/dist/services/review/areas/license.js.map +0 -1
- package/dist/services/review/areas/quality.d.ts +0 -9
- package/dist/services/review/areas/quality.d.ts.map +0 -1
- package/dist/services/review/areas/quality.js +0 -84
- package/dist/services/review/areas/quality.js.map +0 -1
- package/dist/services/review/areas/security.d.ts +0 -9
- package/dist/services/review/areas/security.d.ts.map +0 -1
- package/dist/services/review/areas/security.js +0 -64
- package/dist/services/review/areas/security.js.map +0 -1
- package/dist/services/review/evidence.d.ts +0 -10
- package/dist/services/review/evidence.d.ts.map +0 -1
- package/dist/services/review/evidence.js +0 -40
- package/dist/services/review/evidence.js.map +0 -1
- package/dist/services/review/recommendations-filter.d.ts +0 -12
- package/dist/services/review/recommendations-filter.d.ts.map +0 -1
- package/dist/services/review/recommendations-filter.js +0 -20
- package/dist/services/review/recommendations-filter.js.map +0 -1
- package/dist/services/review/repo-scanner.d.ts +0 -8
- package/dist/services/review/repo-scanner.d.ts.map +0 -1
- package/dist/services/review/repo-scanner.js +0 -15
- package/dist/services/review/repo-scanner.js.map +0 -1
- package/dist/services/review/report-renderer.d.ts +0 -15
- package/dist/services/review/report-renderer.d.ts.map +0 -1
- package/dist/services/review/report-renderer.js +0 -120
- package/dist/services/review/report-renderer.js.map +0 -1
- package/dist/services/review/review-engine.d.ts +0 -15
- package/dist/services/review/review-engine.d.ts.map +0 -1
- package/dist/services/review/review-engine.js +0 -61
- package/dist/services/review/review-engine.js.map +0 -1
- package/dist/services/review/summary-builder.d.ts +0 -8
- package/dist/services/review/summary-builder.d.ts.map +0 -1
- package/dist/services/review/summary-builder.js +0 -26
- package/dist/services/review/summary-builder.js.map +0 -1
- package/dist/services/screen-manager.d.ts +0 -13
- package/dist/services/screen-manager.d.ts.map +0 -1
- package/dist/services/screen-manager.js +0 -42
- package/dist/services/screen-manager.js.map +0 -1
- package/dist/services/stats-config-manager.d.ts +0 -110
- package/dist/services/stats-config-manager.d.ts.map +0 -1
- package/dist/services/stats-config-manager.js +0 -443
- package/dist/services/stats-config-manager.js.map +0 -1
- package/dist/services/systemd-manager.d.ts +0 -197
- package/dist/services/systemd-manager.d.ts.map +0 -1
- package/dist/services/systemd-manager.js +0 -458
- package/dist/services/systemd-manager.js.map +0 -1
- package/dist/services/traffic-manager.d.ts +0 -106
- package/dist/services/traffic-manager.d.ts.map +0 -1
- package/dist/services/traffic-manager.js +0 -368
- package/dist/services/traffic-manager.js.map +0 -1
- package/dist/services/user-manager.d.ts +0 -90
- package/dist/services/user-manager.d.ts.map +0 -1
- package/dist/services/user-manager.js +0 -347
- package/dist/services/user-manager.js.map +0 -1
- package/dist/services/user-metadata-manager.d.ts +0 -85
- package/dist/services/user-metadata-manager.d.ts.map +0 -1
- package/dist/services/user-metadata-manager.js +0 -181
- package/dist/services/user-metadata-manager.js.map +0 -1
- package/dist/types/config.d.ts +0 -340
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -7
- package/dist/types/config.js.map +0 -1
- package/dist/types/layout.d.ts +0 -119
- package/dist/types/layout.d.ts.map +0 -1
- package/dist/types/layout.js +0 -142
- package/dist/types/layout.js.map +0 -1
- package/dist/types/platform.d.ts +0 -72
- package/dist/types/platform.d.ts.map +0 -1
- package/dist/types/platform.js +0 -38
- package/dist/types/platform.js.map +0 -1
- package/dist/types/quota.d.ts +0 -158
- package/dist/types/quota.d.ts.map +0 -1
- package/dist/types/quota.js +0 -26
- package/dist/types/quota.js.map +0 -1
- package/dist/types/review.d.ts +0 -62
- package/dist/types/review.d.ts.map +0 -1
- package/dist/types/review.js +0 -8
- package/dist/types/review.js.map +0 -1
- package/dist/types/server-config.d.ts +0 -53
- package/dist/types/server-config.d.ts.map +0 -1
- package/dist/types/server-config.js +0 -19
- package/dist/types/server-config.js.map +0 -1
- package/dist/types/service.d.ts +0 -96
- package/dist/types/service.d.ts.map +0 -1
- package/dist/types/service.js +0 -7
- package/dist/types/service.js.map +0 -1
- package/dist/types/terminal.d.ts +0 -35
- package/dist/types/terminal.d.ts.map +0 -1
- package/dist/types/terminal.js +0 -20
- package/dist/types/terminal.js.map +0 -1
- package/dist/types/ui-components.d.ts +0 -53
- package/dist/types/ui-components.d.ts.map +0 -1
- package/dist/types/ui-components.js +0 -3
- package/dist/types/ui-components.js.map +0 -1
- package/dist/types/user-metadata.d.ts +0 -43
- package/dist/types/user-metadata.d.ts.map +0 -1
- package/dist/types/user-metadata.js +0 -17
- package/dist/types/user-metadata.js.map +0 -1
- package/dist/types/user.d.ts +0 -134
- package/dist/types/user.d.ts.map +0 -1
- package/dist/types/user.js +0 -7
- package/dist/types/user.js.map +0 -1
- package/dist/utils/clipboard.d.ts +0 -21
- package/dist/utils/clipboard.d.ts.map +0 -1
- package/dist/utils/clipboard.js +0 -45
- package/dist/utils/clipboard.js.map +0 -1
- package/dist/utils/error-formatter.d.ts +0 -60
- package/dist/utils/error-formatter.d.ts.map +0 -1
- package/dist/utils/error-formatter.js +0 -244
- package/dist/utils/error-formatter.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -92
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -143
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/firewall.d.ts +0 -14
- package/dist/utils/firewall.d.ts.map +0 -1
- package/dist/utils/firewall.js +0 -78
- package/dist/utils/firewall.js.map +0 -1
- package/dist/utils/format.d.ts +0 -93
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js +0 -240
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/icons.d.ts +0 -53
- package/dist/utils/icons.d.ts.map +0 -1
- package/dist/utils/icons.js +0 -143
- package/dist/utils/icons.js.map +0 -1
- package/dist/utils/layout.d.ts +0 -142
- package/dist/utils/layout.d.ts.map +0 -1
- package/dist/utils/layout.js +0 -381
- package/dist/utils/layout.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -160
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -351
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/network.d.ts +0 -39
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js +0 -227
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/os-detection.d.ts +0 -10
- package/dist/utils/os-detection.d.ts.map +0 -1
- package/dist/utils/os-detection.js +0 -86
- package/dist/utils/os-detection.js.map +0 -1
- package/dist/utils/preflight.d.ts +0 -57
- package/dist/utils/preflight.d.ts.map +0 -1
- package/dist/utils/preflight.js +0 -215
- package/dist/utils/preflight.js.map +0 -1
- package/dist/utils/repo-scan.d.ts +0 -54
- package/dist/utils/repo-scan.d.ts.map +0 -1
- package/dist/utils/repo-scan.js +0 -165
- package/dist/utils/repo-scan.js.map +0 -1
- package/dist/utils/report-output.d.ts +0 -13
- package/dist/utils/report-output.d.ts.map +0 -1
- package/dist/utils/report-output.js +0 -33
- package/dist/utils/report-output.js.map +0 -1
- package/dist/utils/review-id.d.ts +0 -8
- package/dist/utils/review-id.d.ts.map +0 -1
- package/dist/utils/review-id.js +0 -17
- package/dist/utils/review-id.js.map +0 -1
- package/dist/utils/splash.d.ts +0 -21
- package/dist/utils/splash.d.ts.map +0 -1
- package/dist/utils/splash.js +0 -179
- package/dist/utils/splash.js.map +0 -1
- package/dist/utils/terminal.d.ts +0 -32
- package/dist/utils/terminal.d.ts.map +0 -1
- package/dist/utils/terminal.js +0 -93
- package/dist/utils/terminal.js.map +0 -1
- package/dist/utils/traffic-formatter.d.ts +0 -45
- package/dist/utils/traffic-formatter.d.ts.map +0 -1
- package/dist/utils/traffic-formatter.js +0 -131
- package/dist/utils/traffic-formatter.js.map +0 -1
- package/dist/utils/validator.d.ts +0 -102
- package/dist/utils/validator.d.ts.map +0 -1
- package/dist/utils/validator.js +0 -238
- package/dist/utils/validator.js.map +0 -1
- package/dist/utils/vless-link.d.ts +0 -27
- package/dist/utils/vless-link.d.ts.map +0 -1
- package/dist/utils/vless-link.js +0 -69
- package/dist/utils/vless-link.js.map +0 -1
- package/dist/utils/which.d.ts +0 -13
- package/dist/utils/which.d.ts.map +0 -1
- package/dist/utils/which.js +0 -28
- package/dist/utils/which.js.map +0 -1
|
@@ -1,344 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified Error Code Definitions
|
|
3
|
-
* @module constants/error-codes
|
|
4
|
-
*
|
|
5
|
-
* Error code format: E + Category + Number
|
|
6
|
-
* - E1xx: Configuration errors
|
|
7
|
-
* - E2xx: User management errors
|
|
8
|
-
* - E3xx: Quota management errors
|
|
9
|
-
* - E4xx: Service management errors
|
|
10
|
-
* - E5xx: Network errors
|
|
11
|
-
* - E6xx: File operation errors
|
|
12
|
-
* - E7xx: Validation errors
|
|
13
|
-
* - E8xx: VLESS/Protocol parsing errors
|
|
14
|
-
* - E9xx: System/Permission errors
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Error information details
|
|
18
|
-
*/
|
|
19
|
-
export interface ErrorInfo {
|
|
20
|
-
/** Error code (e.g., E101) */
|
|
21
|
-
readonly code: string;
|
|
22
|
-
/** Error title (short description) */
|
|
23
|
-
readonly title: string;
|
|
24
|
-
/** Possible causes */
|
|
25
|
-
readonly causes: readonly string[];
|
|
26
|
-
/** Solutions */
|
|
27
|
-
readonly solutions: readonly string[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Configuration Errors (E1xx)
|
|
31
|
-
*/
|
|
32
|
-
export declare const ConfigErrors: {
|
|
33
|
-
readonly CONFIG_NOT_FOUND: {
|
|
34
|
-
readonly code: "E101";
|
|
35
|
-
readonly title: "配置文件不存在";
|
|
36
|
-
readonly causes: readonly ["Xray 尚未安装", "配置文件被删除或移动", "路径配置错误"];
|
|
37
|
-
readonly solutions: readonly ["运行安装脚本重新安装 Xray", "检查配置文件路径: /usr/local/etc/xray/config.json", "使用 'xray-manager config --restore' 从备份恢复"];
|
|
38
|
-
};
|
|
39
|
-
readonly CONFIG_NO_READ_PERMISSION: {
|
|
40
|
-
readonly code: "E102";
|
|
41
|
-
readonly title: "配置文件无读取权限";
|
|
42
|
-
readonly causes: readonly ["当前用户权限不足", "文件权限设置错误", "未使用 sudo 运行"];
|
|
43
|
-
readonly solutions: readonly ["使用 sudo 运行: 'sudo xray-manager' 或 'sudo xm'", "检查文件权限: 'ls -la /usr/local/etc/xray/config.json'", "修改权限: 'sudo chmod 644 /usr/local/etc/xray/config.json'"];
|
|
44
|
-
};
|
|
45
|
-
readonly CONFIG_NO_WRITE_PERMISSION: {
|
|
46
|
-
readonly code: "E103";
|
|
47
|
-
readonly title: "配置文件无写入权限";
|
|
48
|
-
readonly causes: readonly ["当前用户权限不足", "文件系统只读", "磁盘空间不足"];
|
|
49
|
-
readonly solutions: readonly ["使用 sudo 运行: 'sudo xray-manager' 或 'sudo xm'", "检查磁盘空间: 'df -h'", "检查文件系统状态"];
|
|
50
|
-
};
|
|
51
|
-
readonly CONFIG_INVALID_JSON: {
|
|
52
|
-
readonly code: "E104";
|
|
53
|
-
readonly title: "配置文件 JSON 格式错误";
|
|
54
|
-
readonly causes: readonly ["JSON 语法错误", "文件被损坏", "编辑时引入错误"];
|
|
55
|
-
readonly solutions: readonly ["使用 JSON 验证工具检查: 'cat config.json | jq .'", "从备份恢复: 'xray-manager config --restore'", "手动检查 JSON 语法(引号、逗号、括号匹配)"];
|
|
56
|
-
};
|
|
57
|
-
readonly CONFIG_INVALID_STRUCTURE: {
|
|
58
|
-
readonly code: "E105";
|
|
59
|
-
readonly title: "配置文件结构无效";
|
|
60
|
-
readonly causes: readonly ["缺少必要字段 (inbounds/outbounds)", "Xray 版本不兼容", "配置格式过时"];
|
|
61
|
-
readonly solutions: readonly ["确保配置包含 inbounds 和 outbounds 数组", "参考 Xray 官方文档检查配置格式", "使用模板重新生成配置文件"];
|
|
62
|
-
};
|
|
63
|
-
readonly CONFIG_BACKUP_FAILED: {
|
|
64
|
-
readonly code: "E106";
|
|
65
|
-
readonly title: "配置备份失败";
|
|
66
|
-
readonly causes: readonly ["目标目录不存在", "磁盘空间不足", "权限不足"];
|
|
67
|
-
readonly solutions: readonly ["确保备份目录存在", "检查磁盘空间: 'df -h'", "使用 sudo 运行程序"];
|
|
68
|
-
};
|
|
69
|
-
readonly CONFIG_RESTORE_FAILED: {
|
|
70
|
-
readonly code: "E107";
|
|
71
|
-
readonly title: "配置恢复失败";
|
|
72
|
-
readonly causes: readonly ["备份文件不存在", "备份文件已损坏", "权限不足"];
|
|
73
|
-
readonly solutions: readonly ["列出可用备份: 'xray-manager config --list-backups'", "选择一个有效的备份文件", "确保有足够权限写入配置文件"];
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* User Management Errors (E2xx)
|
|
78
|
-
*/
|
|
79
|
-
export declare const UserErrors: {
|
|
80
|
-
readonly INVALID_EMAIL: {
|
|
81
|
-
readonly code: "E201";
|
|
82
|
-
readonly title: "邮箱地址格式无效";
|
|
83
|
-
readonly causes: readonly ["邮箱格式不正确", "包含非法字符", "缺少必要部分 (@, 域名)"];
|
|
84
|
-
readonly solutions: readonly ["使用标准邮箱格式: user@example.com", "确保邮箱只包含字母、数字和允许的特殊字符", "检查是否有多余的空格"];
|
|
85
|
-
};
|
|
86
|
-
readonly EMAIL_EXISTS: {
|
|
87
|
-
readonly code: "E202";
|
|
88
|
-
readonly title: "邮箱地址已存在";
|
|
89
|
-
readonly causes: readonly ["该邮箱已被其他用户使用", "尝试创建重复用户"];
|
|
90
|
-
readonly solutions: readonly ["使用 'xray-manager user list' 查看现有用户", "选择一个不同的邮箱地址", "如需更新用户,使用 'xray-manager user update' 命令"];
|
|
91
|
-
};
|
|
92
|
-
readonly USER_NOT_FOUND: {
|
|
93
|
-
readonly code: "E203";
|
|
94
|
-
readonly title: "用户不存在";
|
|
95
|
-
readonly causes: readonly ["用户已被删除", "邮箱地址输入错误", "用户从未创建"];
|
|
96
|
-
readonly solutions: readonly ["使用 'xray-manager user list' 查看所有用户", "检查邮箱地址是否正确(区分大小写)", "使用 'xray-manager user add' 创建新用户"];
|
|
97
|
-
};
|
|
98
|
-
readonly INVALID_UUID: {
|
|
99
|
-
readonly code: "E204";
|
|
100
|
-
readonly title: "UUID 格式无效";
|
|
101
|
-
readonly causes: readonly ["UUID 格式不正确", "不是有效的 UUID v4", "复制时丢失部分字符"];
|
|
102
|
-
readonly solutions: readonly ["UUID 应为 36 字符格式: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx", "使用系统生成的 UUID,不要手动编辑", "可使用 'uuidgen' 命令生成新 UUID"];
|
|
103
|
-
};
|
|
104
|
-
readonly KEY_GENERATION_FAILED: {
|
|
105
|
-
readonly code: "E205";
|
|
106
|
-
readonly title: "密钥生成失败";
|
|
107
|
-
readonly causes: readonly ["xray 命令不可用", "x25519 算法不支持", "系统随机数生成器问题"];
|
|
108
|
-
readonly solutions: readonly ["确保 Xray 已正确安装: 'xray version'", "检查 Xray 版本是否支持 x25519", "重新安装 Xray"];
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
/**
|
|
112
|
-
* Quota Management Errors (E3xx)
|
|
113
|
-
*/
|
|
114
|
-
export declare const QuotaErrors: {
|
|
115
|
-
readonly QUOTA_CONFIG_NOT_FOUND: {
|
|
116
|
-
readonly code: "E301";
|
|
117
|
-
readonly title: "配额配置文件不存在";
|
|
118
|
-
readonly causes: readonly ["配额功能未初始化", "文件被删除", "路径配置错误"];
|
|
119
|
-
readonly solutions: readonly ["运行 'xray-manager quota init' 初始化配额系统", "检查文件路径: /usr/local/etc/xray/quota.json", "确保 Xray 配置目录存在"];
|
|
120
|
-
};
|
|
121
|
-
readonly INVALID_QUOTA_VALUE: {
|
|
122
|
-
readonly code: "E302";
|
|
123
|
-
readonly title: "配额值无效";
|
|
124
|
-
readonly causes: readonly ["数值不是有效数字", "数值为负数(非 -1)", "超出允许范围"];
|
|
125
|
-
readonly solutions: readonly ["配额值必须为 -1(无限制)或 >= 0 的整数", "使用字节为单位或带单位的格式(如 10GB)", "设置无限制配额使用 '-1'"];
|
|
126
|
-
};
|
|
127
|
-
readonly USER_QUOTA_NOT_FOUND: {
|
|
128
|
-
readonly code: "E303";
|
|
129
|
-
readonly title: "用户配额不存在";
|
|
130
|
-
readonly causes: readonly ["用户未设置配额", "用户邮箱错误", "用户已被删除"];
|
|
131
|
-
readonly solutions: readonly ["使用 'xray-manager quota list' 查看所有配额", "使用 'xray-manager quota set <email> <limit>' 设置配额", "确认用户邮箱地址正确"];
|
|
132
|
-
};
|
|
133
|
-
readonly TRAFFIC_UPDATE_FAILED: {
|
|
134
|
-
readonly code: "E304";
|
|
135
|
-
readonly title: "流量统计更新失败";
|
|
136
|
-
readonly causes: readonly ["配额文件写入失败", "并发访问冲突", "数据格式错误"];
|
|
137
|
-
readonly solutions: readonly ["检查配额文件写入权限", "确保没有其他进程正在修改配额文件", "重新初始化配额系统"];
|
|
138
|
-
};
|
|
139
|
-
readonly QUOTA_EXCEEDED: {
|
|
140
|
-
readonly code: "E305";
|
|
141
|
-
readonly title: "用户流量配额已超限";
|
|
142
|
-
readonly causes: readonly ["用户流量使用超过限制", "配额设置过低"];
|
|
143
|
-
readonly solutions: readonly ["使用 'xray-manager quota set <email> <new_limit>' 增加配额", "使用 'xray-manager quota reset <email>' 重置流量统计", "考虑设置无限制配额 (-1)"];
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Service Management Errors (E4xx)
|
|
148
|
-
*/
|
|
149
|
-
export declare const ServiceErrors: {
|
|
150
|
-
readonly SERVICE_NOT_RUNNING: {
|
|
151
|
-
readonly code: "E401";
|
|
152
|
-
readonly title: "Xray 服务未运行";
|
|
153
|
-
readonly causes: readonly ["服务未启动", "服务启动后崩溃", "配置错误导致启动失败"];
|
|
154
|
-
readonly solutions: readonly ["启动服务: 'sudo systemctl start xray'", "查看服务状态: 'sudo systemctl status xray'", "检查日志: 'sudo journalctl -u xray -n 50'"];
|
|
155
|
-
};
|
|
156
|
-
readonly SERVICE_START_FAILED: {
|
|
157
|
-
readonly code: "E402";
|
|
158
|
-
readonly title: "服务启动失败";
|
|
159
|
-
readonly causes: readonly ["配置文件错误", "端口被占用", "权限不足"];
|
|
160
|
-
readonly solutions: readonly ["验证配置: 'xray run -test -c /usr/local/etc/xray/config.json'", "检查端口占用: 'ss -tlnp | grep <port>'", "查看详细日志: 'sudo journalctl -u xray -n 100'"];
|
|
161
|
-
};
|
|
162
|
-
readonly SERVICE_STOP_FAILED: {
|
|
163
|
-
readonly code: "E403";
|
|
164
|
-
readonly title: "服务停止失败";
|
|
165
|
-
readonly causes: readonly ["服务进程僵死", "权限不足", "systemd 问题"];
|
|
166
|
-
readonly solutions: readonly ["强制停止: 'sudo systemctl kill xray'", "检查进程: 'ps aux | grep xray'", "手动终止: 'sudo kill -9 <pid>'"];
|
|
167
|
-
};
|
|
168
|
-
readonly INVALID_SERVICE_NAME: {
|
|
169
|
-
readonly code: "E404";
|
|
170
|
-
readonly title: "服务名称无效";
|
|
171
|
-
readonly causes: readonly ["包含非法字符", "路径遍历尝试", "名称为空"];
|
|
172
|
-
readonly solutions: readonly ["服务名只能包含字母、数字和 @._- 字符", "默认服务名为 \"xray\"", "不要在服务名中使用路径分隔符"];
|
|
173
|
-
};
|
|
174
|
-
readonly SYSTEMD_NOT_AVAILABLE: {
|
|
175
|
-
readonly code: "E405";
|
|
176
|
-
readonly title: "systemd 不可用";
|
|
177
|
-
readonly causes: readonly ["系统未使用 systemd", "在容器中运行", "systemd 服务未启动"];
|
|
178
|
-
readonly solutions: readonly ["确保系统使用 systemd 作为 init 系统", "检查 systemd 状态: 'systemctl --version'", "如在容器中,需手动管理进程"];
|
|
179
|
-
};
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* Network Errors (E5xx)
|
|
183
|
-
*/
|
|
184
|
-
export declare const NetworkErrors: {
|
|
185
|
-
readonly CONNECTION_REFUSED: {
|
|
186
|
-
readonly code: "E501";
|
|
187
|
-
readonly title: "连接被拒绝";
|
|
188
|
-
readonly causes: readonly ["目标服务未运行", "端口未开放", "防火墙阻止"];
|
|
189
|
-
readonly solutions: readonly ["检查目标服务是否运行", "检查防火墙规则: 'sudo ufw status'", "开放端口: 'sudo ufw allow <port>'"];
|
|
190
|
-
};
|
|
191
|
-
readonly CONNECTION_TIMEOUT: {
|
|
192
|
-
readonly code: "E502";
|
|
193
|
-
readonly title: "连接超时";
|
|
194
|
-
readonly causes: readonly ["网络不稳定", "服务器无响应", "防火墙丢弃数据包"];
|
|
195
|
-
readonly solutions: readonly ["检查网络连接", "测试网络: 'ping <server_ip>'", "检查服务器端防火墙设置"];
|
|
196
|
-
};
|
|
197
|
-
readonly PUBLIC_IP_FAILED: {
|
|
198
|
-
readonly code: "E503";
|
|
199
|
-
readonly title: "无法获取公网 IP";
|
|
200
|
-
readonly causes: readonly ["网络连接问题", "IP 检测服务不可用", "DNS 解析失败"];
|
|
201
|
-
readonly solutions: readonly ["检查网络连接: 'curl -s https://api.ipify.org'", "手动指定服务器 IP 地址", "检查 DNS 设置"];
|
|
202
|
-
};
|
|
203
|
-
readonly INVALID_PORT: {
|
|
204
|
-
readonly code: "E504";
|
|
205
|
-
readonly title: "端口号无效";
|
|
206
|
-
readonly causes: readonly ["端口号超出范围", "端口号不是数字", "使用了保留端口"];
|
|
207
|
-
readonly solutions: readonly ["端口号必须在 1-65535 之间", "建议使用 1024 以上的端口", "确保端口未被其他服务占用"];
|
|
208
|
-
};
|
|
209
|
-
readonly PORT_IN_USE: {
|
|
210
|
-
readonly code: "E505";
|
|
211
|
-
readonly title: "端口已被占用";
|
|
212
|
-
readonly causes: readonly ["其他程序正在使用该端口", "Xray 已在运行", "系统服务占用"];
|
|
213
|
-
readonly solutions: readonly ["查看端口占用: 'ss -tlnp | grep <port>'", "选择其他未使用的端口", "停止占用端口的服务后重试"];
|
|
214
|
-
};
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* File Operation Errors (E6xx)
|
|
218
|
-
*/
|
|
219
|
-
export declare const FileErrors: {
|
|
220
|
-
readonly FILE_NOT_FOUND: {
|
|
221
|
-
readonly code: "E601";
|
|
222
|
-
readonly title: "文件不存在";
|
|
223
|
-
readonly causes: readonly ["文件已被删除", "路径错误", "从未创建"];
|
|
224
|
-
readonly solutions: readonly ["检查文件路径是否正确", "确认文件是否已创建", "检查父目录是否存在"];
|
|
225
|
-
};
|
|
226
|
-
readonly DIRECTORY_NOT_FOUND: {
|
|
227
|
-
readonly code: "E602";
|
|
228
|
-
readonly title: "目录不存在";
|
|
229
|
-
readonly causes: readonly ["目录已被删除", "路径错误", "父目录不存在"];
|
|
230
|
-
readonly solutions: readonly ["创建目录: 'mkdir -p <path>'", "检查路径拼写", "确保有创建目录的权限"];
|
|
231
|
-
};
|
|
232
|
-
readonly FILE_READ_FAILED: {
|
|
233
|
-
readonly code: "E603";
|
|
234
|
-
readonly title: "文件读取失败";
|
|
235
|
-
readonly causes: readonly ["权限不足", "文件被锁定", "文件已损坏"];
|
|
236
|
-
readonly solutions: readonly ["使用 sudo 运行", "检查文件是否被其他进程占用", "检查文件权限设置"];
|
|
237
|
-
};
|
|
238
|
-
readonly FILE_WRITE_FAILED: {
|
|
239
|
-
readonly code: "E604";
|
|
240
|
-
readonly title: "文件写入失败";
|
|
241
|
-
readonly causes: readonly ["权限不足", "磁盘空间不足", "文件系统只读"];
|
|
242
|
-
readonly solutions: readonly ["使用 sudo 运行", "检查磁盘空间: 'df -h'", "检查文件系统挂载状态"];
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
/**
|
|
246
|
-
* Validation Errors (E7xx)
|
|
247
|
-
*/
|
|
248
|
-
export declare const ValidationErrors: {
|
|
249
|
-
readonly REQUIRED_FIELD_EMPTY: {
|
|
250
|
-
readonly code: "E701";
|
|
251
|
-
readonly title: "必填字段不能为空";
|
|
252
|
-
readonly causes: readonly ["未提供必要的输入", "输入只包含空白字符"];
|
|
253
|
-
readonly solutions: readonly ["请提供所有必填字段的值", "检查输入是否包含有效内容"];
|
|
254
|
-
};
|
|
255
|
-
readonly INVALID_FORMAT: {
|
|
256
|
-
readonly code: "E702";
|
|
257
|
-
readonly title: "输入格式不正确";
|
|
258
|
-
readonly causes: readonly ["输入不符合预期格式", "包含非法字符"];
|
|
259
|
-
readonly solutions: readonly ["检查输入格式要求", "参考示例输入"];
|
|
260
|
-
};
|
|
261
|
-
readonly VALUE_OUT_OF_RANGE: {
|
|
262
|
-
readonly code: "E703";
|
|
263
|
-
readonly title: "值超出有效范围";
|
|
264
|
-
readonly causes: readonly ["数值过大或过小", "超出允许的限制"];
|
|
265
|
-
readonly solutions: readonly ["检查允许的值范围", "使用范围内的值重试"];
|
|
266
|
-
};
|
|
267
|
-
};
|
|
268
|
-
/**
|
|
269
|
-
* VLESS/Protocol Parsing Errors (E8xx)
|
|
270
|
-
*/
|
|
271
|
-
export declare const ProtocolErrors: {
|
|
272
|
-
readonly INVALID_VLESS_LINK: {
|
|
273
|
-
readonly code: "E801";
|
|
274
|
-
readonly title: "VLESS 链接格式无效";
|
|
275
|
-
readonly causes: readonly ["链接格式不正确", "不是 vless:// 协议", "链接不完整"];
|
|
276
|
-
readonly solutions: readonly ["确保链接以 vless:// 开头", "检查链接是否完整复制", "验证链接来源是否可靠"];
|
|
277
|
-
};
|
|
278
|
-
readonly VLESS_MISSING_UUID: {
|
|
279
|
-
readonly code: "E802";
|
|
280
|
-
readonly title: "VLESS 链接缺少 UUID";
|
|
281
|
-
readonly causes: readonly ["链接格式错误", "UUID 部分被截断"];
|
|
282
|
-
readonly solutions: readonly ["检查链接是否完整", "重新获取正确的分享链接"];
|
|
283
|
-
};
|
|
284
|
-
readonly VLESS_MISSING_HOST: {
|
|
285
|
-
readonly code: "E803";
|
|
286
|
-
readonly title: "VLESS 链接缺少服务器地址";
|
|
287
|
-
readonly causes: readonly ["链接格式错误", "服务器地址部分缺失"];
|
|
288
|
-
readonly solutions: readonly ["检查链接格式", "确保包含服务器地址和端口"];
|
|
289
|
-
};
|
|
290
|
-
readonly VLESS_INVALID_PORT: {
|
|
291
|
-
readonly code: "E804";
|
|
292
|
-
readonly title: "VLESS 链接端口无效";
|
|
293
|
-
readonly causes: readonly ["端口不是数字", "端口超出范围"];
|
|
294
|
-
readonly solutions: readonly ["端口必须是 1-65535 之间的数字", "检查链接格式是否正确"];
|
|
295
|
-
};
|
|
296
|
-
readonly VLESS_MISSING_REALITY_PBK: {
|
|
297
|
-
readonly code: "E805";
|
|
298
|
-
readonly title: "Reality 链接缺少公钥参数";
|
|
299
|
-
readonly causes: readonly ["链接缺少 pbk 参数", "Reality 配置不完整"];
|
|
300
|
-
readonly solutions: readonly ["Reality 链接必须包含 pbk (公钥) 参数", "重新生成包含完整参数的链接"];
|
|
301
|
-
};
|
|
302
|
-
};
|
|
303
|
-
/**
|
|
304
|
-
* System/Permission Errors (E9xx)
|
|
305
|
-
*/
|
|
306
|
-
export declare const SystemErrors: {
|
|
307
|
-
readonly ROOT_REQUIRED: {
|
|
308
|
-
readonly code: "E901";
|
|
309
|
-
readonly title: "需要管理员权限";
|
|
310
|
-
readonly causes: readonly ["当前用户不是 root", "未使用 sudo 运行"];
|
|
311
|
-
readonly solutions: readonly ["使用 sudo 运行: 'sudo xray-vpn'", "切换到 root 用户: 'su -'"];
|
|
312
|
-
};
|
|
313
|
-
readonly UNSUPPORTED_OS: {
|
|
314
|
-
readonly code: "E902";
|
|
315
|
-
readonly title: "不支持的操作系统";
|
|
316
|
-
readonly causes: readonly ["操作系统不兼容", "系统版本过低"];
|
|
317
|
-
readonly solutions: readonly ["支持的系统: Ubuntu 18+, Debian 10+, CentOS 7+, Fedora 30+", "考虑使用 Docker 容器运行"];
|
|
318
|
-
};
|
|
319
|
-
readonly DEPENDENCY_MISSING: {
|
|
320
|
-
readonly code: "E903";
|
|
321
|
-
readonly title: "缺少必要的依赖";
|
|
322
|
-
readonly causes: readonly ["系统工具未安装", "Node.js 版本不兼容"];
|
|
323
|
-
readonly solutions: readonly ["运行安装脚本自动安装依赖", "确保 Node.js >= 18.0.0", "检查 xray 是否安装: 'xray version'"];
|
|
324
|
-
};
|
|
325
|
-
readonly PREFLIGHT_FAILED: {
|
|
326
|
-
readonly code: "E904";
|
|
327
|
-
readonly title: "启动预检查失败";
|
|
328
|
-
readonly causes: readonly ["系统环境不满足要求", "必要服务未运行", "配置存在问题"];
|
|
329
|
-
readonly solutions: readonly ["运行诊断命令检查问题", "检查上述错误信息并逐一解决", "确保所有必要服务已启动"];
|
|
330
|
-
};
|
|
331
|
-
};
|
|
332
|
-
/**
|
|
333
|
-
* Union type of all error codes
|
|
334
|
-
*/
|
|
335
|
-
export type ErrorCode = (typeof ConfigErrors)[keyof typeof ConfigErrors] | (typeof UserErrors)[keyof typeof UserErrors] | (typeof QuotaErrors)[keyof typeof QuotaErrors] | (typeof ServiceErrors)[keyof typeof ServiceErrors] | (typeof NetworkErrors)[keyof typeof NetworkErrors] | (typeof FileErrors)[keyof typeof FileErrors] | (typeof ValidationErrors)[keyof typeof ValidationErrors] | (typeof ProtocolErrors)[keyof typeof ProtocolErrors] | (typeof SystemErrors)[keyof typeof SystemErrors];
|
|
336
|
-
/**
|
|
337
|
-
* Find error info by error code string
|
|
338
|
-
*/
|
|
339
|
-
export declare function findErrorByCode(code: string): ErrorInfo | undefined;
|
|
340
|
-
/**
|
|
341
|
-
* Get all error codes list
|
|
342
|
-
*/
|
|
343
|
-
export declare function getAllErrorCodes(): string[];
|
|
344
|
-
//# sourceMappingURL=error-codes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/constants/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,gBAAgB;IAChB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Df,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Cd,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ChB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CAmBnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAgCf,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,GAChD,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,GAC5C,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,GAC9C,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,GAClD,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,GAClD,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,GAC5C,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GACxD,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,GACpD,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAErD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAoBnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAc3C"}
|