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,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 超时时间常量定义
|
|
3
|
-
* @module constants/timeouts
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 超时配置(单位:毫秒)
|
|
7
|
-
*/
|
|
8
|
-
export declare const TIMEOUTS: {
|
|
9
|
-
/** systemctl 命令默认超时 */
|
|
10
|
-
readonly SYSTEMCTL_DEFAULT: 30000;
|
|
11
|
-
/** 服务启动超时 */
|
|
12
|
-
readonly SERVICE_START: 15000;
|
|
13
|
-
/** 服务停止超时(优雅关闭) */
|
|
14
|
-
readonly SERVICE_STOP: 10000;
|
|
15
|
-
/** 服务重启超时 */
|
|
16
|
-
readonly SERVICE_RESTART: 25000;
|
|
17
|
-
/** 服务状态查询超时 */
|
|
18
|
-
readonly SERVICE_STATUS: 5000;
|
|
19
|
-
/** 配置文件读写超时 */
|
|
20
|
-
readonly CONFIG_IO: 5000;
|
|
21
|
-
/** 配置备份操作超时 */
|
|
22
|
-
readonly CONFIG_BACKUP: 10000;
|
|
23
|
-
/** 日志查询超时 */
|
|
24
|
-
readonly LOG_QUERY: 10000;
|
|
25
|
-
/** 网络操作超时(下载、检查更新) */
|
|
26
|
-
readonly NETWORK: 30000;
|
|
27
|
-
/** 用户输入超时(交互式菜单) */
|
|
28
|
-
readonly USER_INPUT: 60000;
|
|
29
|
-
/** 文件系统操作超时 */
|
|
30
|
-
readonly FILESYSTEM: 10000;
|
|
31
|
-
/** 优雅关闭等待时间 */
|
|
32
|
-
readonly GRACEFUL_SHUTDOWN: 10000;
|
|
33
|
-
/** 进程杀死前等待时间 */
|
|
34
|
-
readonly KILL_WAIT: 2000;
|
|
35
|
-
/** 菜单刷新间隔 */
|
|
36
|
-
readonly MENU_REFRESH: 1000;
|
|
37
|
-
/** 状态轮询间隔 */
|
|
38
|
-
readonly STATUS_POLL: 500;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* 性能要求(用于监控和测试)
|
|
42
|
-
*/
|
|
43
|
-
export declare const PERFORMANCE_TARGETS: {
|
|
44
|
-
/** 菜单启动时间目标 */
|
|
45
|
-
readonly MENU_STARTUP: 500;
|
|
46
|
-
/** 菜单导航响应时间目标 */
|
|
47
|
-
readonly MENU_NAVIGATION: 100;
|
|
48
|
-
/** 按键响应时间目标 */
|
|
49
|
-
readonly KEY_RESPONSE: 50;
|
|
50
|
-
/** 服务重启中断时间目标 */
|
|
51
|
-
readonly SERVICE_DOWNTIME: 10000;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* 重试配置
|
|
55
|
-
*/
|
|
56
|
-
export declare const RETRY_CONFIG: {
|
|
57
|
-
/** 默认重试次数 */
|
|
58
|
-
readonly DEFAULT_ATTEMPTS: 3;
|
|
59
|
-
/** 重试间隔(毫秒) */
|
|
60
|
-
readonly RETRY_DELAY: 1000;
|
|
61
|
-
/** 指数退避基数 */
|
|
62
|
-
readonly BACKOFF_MULTIPLIER: 2;
|
|
63
|
-
/** 最大重试间隔 */
|
|
64
|
-
readonly MAX_RETRY_DELAY: 10000;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* 计算指数退避延迟
|
|
68
|
-
* @param attempt 当前尝试次数(从 0 开始)
|
|
69
|
-
* @returns 延迟时间(毫秒)
|
|
70
|
-
*/
|
|
71
|
-
export declare function getBackoffDelay(attempt: number): number;
|
|
72
|
-
/**
|
|
73
|
-
* 睡眠函数(用于延迟)
|
|
74
|
-
* @param ms 毫秒数
|
|
75
|
-
*/
|
|
76
|
-
export declare function sleep(ms: number): Promise<void>;
|
|
77
|
-
/**
|
|
78
|
-
* 带超时的 Promise
|
|
79
|
-
* @param promise 原始 Promise
|
|
80
|
-
* @param timeoutMs 超时时间(毫秒)
|
|
81
|
-
* @param errorMessage 超时错误消息
|
|
82
|
-
*/
|
|
83
|
-
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, errorMessage?: string): Promise<T>;
|
|
84
|
-
//# sourceMappingURL=timeouts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timeouts.d.ts","sourceRoot":"","sources":["../../src/constants/timeouts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,uBAAuB;;IAGvB,aAAa;;IAGb,mBAAmB;;IAGnB,aAAa;;IAGb,eAAe;;IAGf,eAAe;;IAGf,eAAe;;IAGf,aAAa;;IAGb,sBAAsB;;IAGtB,oBAAoB;;IAGpB,eAAe;;IAGf,eAAe;;IAGf,gBAAgB;;IAGhB,aAAa;;IAGb,aAAa;;CAEL,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,eAAe;;IAGf,iBAAiB;;IAGjB,eAAe;;IAGf,iBAAiB;;CAET,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,aAAa;;IAGb,eAAe;;IAGf,aAAa;;IAGb,aAAa;;CAEL,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,SAAS,GACpB,OAAO,CAAC,CAAC,CAAC,CAiBZ"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 超时时间常量定义
|
|
4
|
-
* @module constants/timeouts
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.RETRY_CONFIG = exports.PERFORMANCE_TARGETS = exports.TIMEOUTS = void 0;
|
|
8
|
-
exports.getBackoffDelay = getBackoffDelay;
|
|
9
|
-
exports.sleep = sleep;
|
|
10
|
-
exports.withTimeout = withTimeout;
|
|
11
|
-
/**
|
|
12
|
-
* 超时配置(单位:毫秒)
|
|
13
|
-
*/
|
|
14
|
-
exports.TIMEOUTS = {
|
|
15
|
-
/** systemctl 命令默认超时 */
|
|
16
|
-
SYSTEMCTL_DEFAULT: 30000, // 30 秒
|
|
17
|
-
/** 服务启动超时 */
|
|
18
|
-
SERVICE_START: 15000, // 15 秒
|
|
19
|
-
/** 服务停止超时(优雅关闭) */
|
|
20
|
-
SERVICE_STOP: 10000, // 10 秒
|
|
21
|
-
/** 服务重启超时 */
|
|
22
|
-
SERVICE_RESTART: 25000, // 25 秒
|
|
23
|
-
/** 服务状态查询超时 */
|
|
24
|
-
SERVICE_STATUS: 5000, // 5 秒
|
|
25
|
-
/** 配置文件读写超时 */
|
|
26
|
-
CONFIG_IO: 5000, // 5 秒
|
|
27
|
-
/** 配置备份操作超时 */
|
|
28
|
-
CONFIG_BACKUP: 10000, // 10 秒
|
|
29
|
-
/** 日志查询超时 */
|
|
30
|
-
LOG_QUERY: 10000, // 10 秒
|
|
31
|
-
/** 网络操作超时(下载、检查更新) */
|
|
32
|
-
NETWORK: 30000, // 30 秒
|
|
33
|
-
/** 用户输入超时(交互式菜单) */
|
|
34
|
-
USER_INPUT: 60000, // 60 秒
|
|
35
|
-
/** 文件系统操作超时 */
|
|
36
|
-
FILESYSTEM: 10000, // 10 秒
|
|
37
|
-
/** 优雅关闭等待时间 */
|
|
38
|
-
GRACEFUL_SHUTDOWN: 10000, // 10 秒
|
|
39
|
-
/** 进程杀死前等待时间 */
|
|
40
|
-
KILL_WAIT: 2000, // 2 秒
|
|
41
|
-
/** 菜单刷新间隔 */
|
|
42
|
-
MENU_REFRESH: 1000, // 1 秒
|
|
43
|
-
/** 状态轮询间隔 */
|
|
44
|
-
STATUS_POLL: 500, // 500 毫秒
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* 性能要求(用于监控和测试)
|
|
48
|
-
*/
|
|
49
|
-
exports.PERFORMANCE_TARGETS = {
|
|
50
|
-
/** 菜单启动时间目标 */
|
|
51
|
-
MENU_STARTUP: 500, // 500ms (SC-003)
|
|
52
|
-
/** 菜单导航响应时间目标 */
|
|
53
|
-
MENU_NAVIGATION: 100, // 100ms (SC-002)
|
|
54
|
-
/** 按键响应时间目标 */
|
|
55
|
-
KEY_RESPONSE: 50, // 50ms (SC-002)
|
|
56
|
-
/** 服务重启中断时间目标 */
|
|
57
|
-
SERVICE_DOWNTIME: 10000, // 10s (FR-016)
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* 重试配置
|
|
61
|
-
*/
|
|
62
|
-
exports.RETRY_CONFIG = {
|
|
63
|
-
/** 默认重试次数 */
|
|
64
|
-
DEFAULT_ATTEMPTS: 3,
|
|
65
|
-
/** 重试间隔(毫秒) */
|
|
66
|
-
RETRY_DELAY: 1000, // 1 秒
|
|
67
|
-
/** 指数退避基数 */
|
|
68
|
-
BACKOFF_MULTIPLIER: 2,
|
|
69
|
-
/** 最大重试间隔 */
|
|
70
|
-
MAX_RETRY_DELAY: 10000, // 10 秒
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* 计算指数退避延迟
|
|
74
|
-
* @param attempt 当前尝试次数(从 0 开始)
|
|
75
|
-
* @returns 延迟时间(毫秒)
|
|
76
|
-
*/
|
|
77
|
-
function getBackoffDelay(attempt) {
|
|
78
|
-
const delay = exports.RETRY_CONFIG.RETRY_DELAY * Math.pow(exports.RETRY_CONFIG.BACKOFF_MULTIPLIER, attempt);
|
|
79
|
-
return Math.min(delay, exports.RETRY_CONFIG.MAX_RETRY_DELAY);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 睡眠函数(用于延迟)
|
|
83
|
-
* @param ms 毫秒数
|
|
84
|
-
*/
|
|
85
|
-
function sleep(ms) {
|
|
86
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* 带超时的 Promise
|
|
90
|
-
* @param promise 原始 Promise
|
|
91
|
-
* @param timeoutMs 超时时间(毫秒)
|
|
92
|
-
* @param errorMessage 超时错误消息
|
|
93
|
-
*/
|
|
94
|
-
async function withTimeout(promise, timeoutMs, errorMessage = '操作超时') {
|
|
95
|
-
let timeoutId;
|
|
96
|
-
const timeoutPromise = new Promise((_, reject) => {
|
|
97
|
-
timeoutId = setTimeout(() => {
|
|
98
|
-
reject(new Error(`${errorMessage} (${timeoutMs}ms)`));
|
|
99
|
-
}, timeoutMs);
|
|
100
|
-
});
|
|
101
|
-
try {
|
|
102
|
-
const result = await Promise.race([promise, timeoutPromise]);
|
|
103
|
-
clearTimeout(timeoutId);
|
|
104
|
-
return result;
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
clearTimeout(timeoutId);
|
|
108
|
-
throw error;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=timeouts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timeouts.js","sourceRoot":"","sources":["../../src/constants/timeouts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UI Symbols Constants
|
|
3
|
-
* @module constants/ui-symbols
|
|
4
|
-
*
|
|
5
|
-
* This file defines all text-based icons and status indicators
|
|
6
|
-
* used throughout the CLI for universal terminal compatibility.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Status icons for different message types
|
|
10
|
-
* These replace emoji indicators with text-based alternatives
|
|
11
|
-
*/
|
|
12
|
-
export declare const statusIcons: {
|
|
13
|
-
readonly SUCCESS: "[OK]";
|
|
14
|
-
readonly ERROR: "[ERROR]";
|
|
15
|
-
readonly WARN: "[WARN]";
|
|
16
|
-
readonly INFO: "[INFO]";
|
|
17
|
-
readonly DEBUG: "[DEBUG]";
|
|
18
|
-
readonly LOADING: "[...]";
|
|
19
|
-
readonly PROGRESS: "[>>]";
|
|
20
|
-
readonly HINT: "[TIP]";
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Menu icons for different CLI operations
|
|
24
|
-
* These replace emoji in menu options with text labels
|
|
25
|
-
*/
|
|
26
|
-
export declare const menuIcons: {
|
|
27
|
-
readonly STATUS: "[查看]";
|
|
28
|
-
readonly START: "[启动]";
|
|
29
|
-
readonly STOP: "[停止]";
|
|
30
|
-
readonly RESTART: "[重启]";
|
|
31
|
-
readonly USER: "[用户]";
|
|
32
|
-
readonly CONFIG: "[配置]";
|
|
33
|
-
readonly LOGS: "[日志]";
|
|
34
|
-
readonly LANGUAGE: "[语言]";
|
|
35
|
-
readonly EXIT: "[退出]";
|
|
36
|
-
readonly STATS: "[流量]";
|
|
37
|
-
readonly QUOTA: "[配额]";
|
|
38
|
-
readonly VIEW: "[查看]";
|
|
39
|
-
readonly BACK: "[返回]";
|
|
40
|
-
readonly ERROR: "[错误]";
|
|
41
|
-
readonly WARNING: "[警告]";
|
|
42
|
-
readonly BACKUP: "[备份]";
|
|
43
|
-
readonly RESTORE: "[恢复]";
|
|
44
|
-
};
|
|
45
|
-
export type StatusIcon = (typeof statusIcons)[keyof typeof statusIcons];
|
|
46
|
-
export type MenuIcon = (typeof menuIcons)[keyof typeof menuIcons];
|
|
47
|
-
//# sourceMappingURL=ui-symbols.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-symbols.d.ts","sourceRoot":"","sources":["../../src/constants/ui-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;CAkBZ,CAAC;AAGX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AACxE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* UI Symbols Constants
|
|
4
|
-
* @module constants/ui-symbols
|
|
5
|
-
*
|
|
6
|
-
* This file defines all text-based icons and status indicators
|
|
7
|
-
* used throughout the CLI for universal terminal compatibility.
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.menuIcons = exports.statusIcons = void 0;
|
|
11
|
-
/**
|
|
12
|
-
* Status icons for different message types
|
|
13
|
-
* These replace emoji indicators with text-based alternatives
|
|
14
|
-
*/
|
|
15
|
-
exports.statusIcons = {
|
|
16
|
-
SUCCESS: '[OK]',
|
|
17
|
-
ERROR: '[ERROR]',
|
|
18
|
-
WARN: '[WARN]',
|
|
19
|
-
INFO: '[INFO]',
|
|
20
|
-
DEBUG: '[DEBUG]',
|
|
21
|
-
LOADING: '[...]',
|
|
22
|
-
PROGRESS: '[>>]',
|
|
23
|
-
HINT: '[TIP]',
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Menu icons for different CLI operations
|
|
27
|
-
* These replace emoji in menu options with text labels
|
|
28
|
-
*/
|
|
29
|
-
exports.menuIcons = {
|
|
30
|
-
STATUS: '[查看]',
|
|
31
|
-
START: '[启动]',
|
|
32
|
-
STOP: '[停止]',
|
|
33
|
-
RESTART: '[重启]',
|
|
34
|
-
USER: '[用户]',
|
|
35
|
-
CONFIG: '[配置]',
|
|
36
|
-
LOGS: '[日志]',
|
|
37
|
-
LANGUAGE: '[语言]',
|
|
38
|
-
EXIT: '[退出]',
|
|
39
|
-
STATS: '[流量]',
|
|
40
|
-
QUOTA: '[配额]',
|
|
41
|
-
VIEW: '[查看]',
|
|
42
|
-
BACK: '[返回]',
|
|
43
|
-
ERROR: '[错误]',
|
|
44
|
-
WARNING: '[警告]',
|
|
45
|
-
BACKUP: '[备份]',
|
|
46
|
-
RESTORE: '[恢复]',
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=ui-symbols.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-symbols.js","sourceRoot":"","sources":["../../src/constants/ui-symbols.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;GAGG;AACU,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,OAAO;CACL,CAAC;AAEX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;CACP,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Clash config generator for VLESS links
|
|
3
|
-
* @module services/clash-config
|
|
4
|
-
*/
|
|
5
|
-
import { VlessLinkInfo } from '../utils/vless-link';
|
|
6
|
-
export interface ClashConfigOptions {
|
|
7
|
-
proxyName?: string;
|
|
8
|
-
proxyGroupName?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface ClashConfigResult {
|
|
11
|
-
yaml: string;
|
|
12
|
-
proxyName: string;
|
|
13
|
-
proxyGroupName: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function buildClashConfigYaml(info: VlessLinkInfo, options?: ClashConfigOptions): ClashConfigResult;
|
|
16
|
-
//# sourceMappingURL=clash-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clash-config.d.ts","sourceRoot":"","sources":["../../src/services/clash-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAoGnB"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Clash config generator for VLESS links
|
|
4
|
-
* @module services/clash-config
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.buildClashConfigYaml = buildClashConfigYaml;
|
|
8
|
-
function yamlQuote(value) {
|
|
9
|
-
const escaped = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
10
|
-
return `"${escaped}"`;
|
|
11
|
-
}
|
|
12
|
-
function renderStringList(lines, indent, values) {
|
|
13
|
-
const prefix = ' '.repeat(indent);
|
|
14
|
-
values.forEach((value) => {
|
|
15
|
-
lines.push(`${prefix}- ${yamlQuote(value)}`);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function buildClashConfigYaml(info, options = {}) {
|
|
19
|
-
const proxyName = options.proxyName || info.name || `${info.server}:${info.port}`;
|
|
20
|
-
const proxyGroupName = options.proxyGroupName || 'PROXY';
|
|
21
|
-
const network = (info.type || 'tcp').toLowerCase();
|
|
22
|
-
const security = (info.security || '').toLowerCase();
|
|
23
|
-
const lines = [];
|
|
24
|
-
lines.push('port: 7890');
|
|
25
|
-
lines.push('socks-port: 7891');
|
|
26
|
-
lines.push('allow-lan: true');
|
|
27
|
-
lines.push('mode: rule');
|
|
28
|
-
lines.push('log-level: info');
|
|
29
|
-
lines.push('');
|
|
30
|
-
lines.push('proxies:');
|
|
31
|
-
lines.push(` - name: ${yamlQuote(proxyName)}`);
|
|
32
|
-
lines.push(' type: vless');
|
|
33
|
-
lines.push(` server: ${yamlQuote(info.server)}`);
|
|
34
|
-
lines.push(` port: ${info.port}`);
|
|
35
|
-
lines.push(` uuid: ${yamlQuote(info.uuid)}`);
|
|
36
|
-
lines.push(' udp: true');
|
|
37
|
-
lines.push(` network: ${yamlQuote(network)}`);
|
|
38
|
-
if (info.flow) {
|
|
39
|
-
lines.push(` flow: ${yamlQuote(info.flow)}`);
|
|
40
|
-
}
|
|
41
|
-
if (security === 'reality' || security === 'tls') {
|
|
42
|
-
lines.push(' tls: true');
|
|
43
|
-
if (info.sni) {
|
|
44
|
-
lines.push(` servername: ${yamlQuote(info.sni)}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (security === 'reality') {
|
|
48
|
-
if (!info.pbk) {
|
|
49
|
-
throw new Error('Reality 链接缺少 pbk 参数');
|
|
50
|
-
}
|
|
51
|
-
lines.push(' reality-opts:');
|
|
52
|
-
lines.push(` public-key: ${yamlQuote(info.pbk)}`);
|
|
53
|
-
if (info.sid) {
|
|
54
|
-
lines.push(` short-id: ${yamlQuote(info.sid)}`);
|
|
55
|
-
}
|
|
56
|
-
if (info.spx) {
|
|
57
|
-
lines.push(` spider-x: ${yamlQuote(info.spx)}`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (info.fp) {
|
|
61
|
-
lines.push(` client-fingerprint: ${yamlQuote(info.fp)}`);
|
|
62
|
-
}
|
|
63
|
-
if (info.alpn) {
|
|
64
|
-
const list = info.alpn
|
|
65
|
-
.split(',')
|
|
66
|
-
.map((value) => value.trim())
|
|
67
|
-
.filter(Boolean);
|
|
68
|
-
if (list.length > 0) {
|
|
69
|
-
lines.push(' alpn:');
|
|
70
|
-
renderStringList(lines, 6, list);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (network === 'ws') {
|
|
74
|
-
lines.push(' ws-opts:');
|
|
75
|
-
if (info.path) {
|
|
76
|
-
lines.push(` path: ${yamlQuote(info.path)}`);
|
|
77
|
-
}
|
|
78
|
-
if (info.host) {
|
|
79
|
-
lines.push(' headers:');
|
|
80
|
-
lines.push(` Host: ${yamlQuote(info.host)}`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (network === 'grpc') {
|
|
84
|
-
lines.push(' grpc-opts:');
|
|
85
|
-
const serviceName = info.serviceName || info.path;
|
|
86
|
-
if (serviceName) {
|
|
87
|
-
lines.push(` grpc-service-name: ${yamlQuote(serviceName)}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
lines.push('');
|
|
91
|
-
lines.push('proxy-groups:');
|
|
92
|
-
lines.push(` - name: ${yamlQuote(proxyGroupName)}`);
|
|
93
|
-
lines.push(' type: select');
|
|
94
|
-
lines.push(' proxies:');
|
|
95
|
-
lines.push(` - ${yamlQuote(proxyName)}`);
|
|
96
|
-
lines.push(' - DIRECT');
|
|
97
|
-
lines.push('');
|
|
98
|
-
lines.push('rules:');
|
|
99
|
-
lines.push(` - MATCH,${proxyGroupName}`);
|
|
100
|
-
lines.push('');
|
|
101
|
-
return {
|
|
102
|
-
yaml: `${lines.join('\n')}\n`,
|
|
103
|
-
proxyName,
|
|
104
|
-
proxyGroupName,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=clash-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clash-config.js","sourceRoot":"","sources":["../../src/services/clash-config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2BH,oDAuGC;AAnHD,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,IAAI,OAAO,GAAG,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe,EAAE,MAAc,EAAE,MAAgB;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAClC,IAAmB,EACnB,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;IAEzD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO;QACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7B,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConfigManager - Xray Configuration File Management
|
|
3
|
-
*
|
|
4
|
-
* Provides safe interface to read, write, validate, and backup Xray config
|
|
5
|
-
*
|
|
6
|
-
* @module services/config-manager
|
|
7
|
-
*/
|
|
8
|
-
import type { XrayConfig } from '../types/config';
|
|
9
|
-
/**
|
|
10
|
-
* ConfigManager - Safe configuration file operations
|
|
11
|
-
*/
|
|
12
|
-
export declare class ConfigManager {
|
|
13
|
-
private configPath;
|
|
14
|
-
private backupDir;
|
|
15
|
-
/**
|
|
16
|
-
* Create a new ConfigManager
|
|
17
|
-
*
|
|
18
|
-
* @param configPath - Path to config file (default: /usr/local/etc/xray/config.json)
|
|
19
|
-
*/
|
|
20
|
-
constructor(configPath?: string);
|
|
21
|
-
/**
|
|
22
|
-
* Read and parse config file
|
|
23
|
-
*
|
|
24
|
-
* @returns Parsed configuration object
|
|
25
|
-
*/
|
|
26
|
-
readConfig(): Promise<XrayConfig>;
|
|
27
|
-
/**
|
|
28
|
-
* Write config to file with secure permissions
|
|
29
|
-
*
|
|
30
|
-
* @param config - Configuration object to write
|
|
31
|
-
*/
|
|
32
|
-
writeConfig(config: XrayConfig): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Validate configuration structure
|
|
35
|
-
*
|
|
36
|
-
* @param config - Configuration to validate
|
|
37
|
-
* @throws Error if validation fails
|
|
38
|
-
*/
|
|
39
|
-
validateConfig(config: XrayConfig): void;
|
|
40
|
-
/**
|
|
41
|
-
* Backup configuration file
|
|
42
|
-
*
|
|
43
|
-
* @returns Path to backup file
|
|
44
|
-
*/
|
|
45
|
-
backupConfig(): Promise<string>;
|
|
46
|
-
/**
|
|
47
|
-
* List available backups
|
|
48
|
-
*
|
|
49
|
-
* @returns Array of backup file paths
|
|
50
|
-
*/
|
|
51
|
-
listBackups(): Promise<string[]>;
|
|
52
|
-
/**
|
|
53
|
-
* Restore configuration from backup
|
|
54
|
-
*
|
|
55
|
-
* @param backupPath - Path to backup file
|
|
56
|
-
*/
|
|
57
|
-
restoreConfig(backupPath: string): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Modify a configuration item
|
|
60
|
-
*
|
|
61
|
-
* @param path - Dot-separated path to config item (e.g., "log.loglevel")
|
|
62
|
-
* @param value - New value
|
|
63
|
-
*/
|
|
64
|
-
modifyConfigItem(path: string, value: unknown): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Get formatted configuration for display
|
|
67
|
-
*
|
|
68
|
-
* @returns Pretty-printed JSON string
|
|
69
|
-
*/
|
|
70
|
-
getFormattedConfig(): Promise<string>;
|
|
71
|
-
/**
|
|
72
|
-
* List available backups with metadata
|
|
73
|
-
*
|
|
74
|
-
* @returns Array of backup info objects
|
|
75
|
-
*/
|
|
76
|
-
listBackupsWithInfo(): Promise<Array<{
|
|
77
|
-
path: string;
|
|
78
|
-
filename: string;
|
|
79
|
-
createdAt: Date;
|
|
80
|
-
size: number;
|
|
81
|
-
}>>;
|
|
82
|
-
/**
|
|
83
|
-
* Restore configuration from backup with optional service restart
|
|
84
|
-
*
|
|
85
|
-
* @param backupPath - Path to backup file
|
|
86
|
-
* @param restartService - Whether to restart service after restore (default: true)
|
|
87
|
-
*/
|
|
88
|
-
restoreFromBackup(backupPath: string, restartService?: boolean): Promise<void>;
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=config-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;gBACS,UAAU,CAAC,EAAE,MAAM;IAK/B;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAiBvC;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgCxC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBrC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBtC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;;;OAKG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnE;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAK3C;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAClC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CACzE;IAuCD;;;;;OAKG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3F"}
|