xray-manager 1.8.5 → 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,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 路径常量定义
|
|
3
|
-
* @module constants/paths
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 默认路径配置
|
|
7
|
-
*/
|
|
8
|
-
export declare const DEFAULT_PATHS: {
|
|
9
|
-
/** Xray 配置文件路径 */
|
|
10
|
-
readonly CONFIG_FILE: "/usr/local/etc/xray/config.json";
|
|
11
|
-
/** Xray 配置目录 */
|
|
12
|
-
readonly CONFIG_DIR: "/usr/local/etc/xray";
|
|
13
|
-
/** 配置备份目录 */
|
|
14
|
-
readonly BACKUP_DIR: "/var/backups/xray";
|
|
15
|
-
/** systemd 服务名称 */
|
|
16
|
-
readonly SERVICE_NAME: "xray";
|
|
17
|
-
/** systemd 服务文件路径 */
|
|
18
|
-
readonly SERVICE_FILE: "/etc/systemd/system/xray.service";
|
|
19
|
-
/** Xray 可执行文件路径 */
|
|
20
|
-
readonly XRAY_BINARY: "/usr/local/bin/xray";
|
|
21
|
-
/** 日志目录(如果使用文件日志) */
|
|
22
|
-
readonly LOG_DIR: "/var/log/xray";
|
|
23
|
-
/** 访问日志文件 */
|
|
24
|
-
readonly ACCESS_LOG: "/var/log/xray/access.log";
|
|
25
|
-
/** 错误日志文件 */
|
|
26
|
-
readonly ERROR_LOG: "/var/log/xray/error.log";
|
|
27
|
-
/** 临时文件目录 */
|
|
28
|
-
readonly TEMP_DIR: "/tmp/xray-manager";
|
|
29
|
-
/** 用户配置目录(~/.xray-manager) */
|
|
30
|
-
readonly USER_CONFIG_DIR: string;
|
|
31
|
-
/** 用户配置文件 */
|
|
32
|
-
readonly USER_CONFIG_FILE: string;
|
|
33
|
-
/** Clash 配置文件(默认输出) */
|
|
34
|
-
readonly CLASH_CONFIG_FILE: string;
|
|
35
|
-
/** 服务器配置文件(公网 IP 等) */
|
|
36
|
-
readonly SERVER_CONFIG_FILE: "/usr/local/etc/xray/server-config.json";
|
|
37
|
-
/** 用户元数据文件(创建时间、状态等) */
|
|
38
|
-
readonly USER_METADATA_FILE: "/usr/local/etc/xray/user-metadata.json";
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* 路径验证规则
|
|
42
|
-
*/
|
|
43
|
-
export declare const PATH_VALIDATION: {
|
|
44
|
-
/** 配置文件必须以 .json 结尾 */
|
|
45
|
-
readonly CONFIG_FILE_EXTENSION: ".json";
|
|
46
|
-
/** 备份文件命名格式 */
|
|
47
|
-
readonly BACKUP_FILE_PATTERN: RegExp;
|
|
48
|
-
/** 最大路径长度 */
|
|
49
|
-
readonly MAX_PATH_LENGTH: 4096;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* 备份文件名生成
|
|
53
|
-
*/
|
|
54
|
-
export declare function getBackupFileName(timestamp?: Date): string;
|
|
55
|
-
/**
|
|
56
|
-
* 获取完整备份路径
|
|
57
|
-
*/
|
|
58
|
-
export declare function getBackupFilePath(timestamp?: Date): string;
|
|
59
|
-
/**
|
|
60
|
-
* 检查路径是否为备份文件
|
|
61
|
-
*/
|
|
62
|
-
export declare function isBackupFile(filename: string): boolean;
|
|
63
|
-
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,kBAAkB;;IAGlB,gBAAgB;;IAGhB,aAAa;;IAGb,mBAAmB;;IAGnB,qBAAqB;;IAGrB,mBAAmB;;IAGnB,qBAAqB;;IAGrB,aAAa;;IAGb,aAAa;;IAGb,aAAa;;IAGb,8BAA8B;;IAG9B,aAAa;;IAGb,uBAAuB;;IAGvB,uBAAuB;;IAGvB,wBAAwB;;CAEhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B,uBAAuB;;IAGvB,eAAe;;IAGf,aAAa;;CAEL,CAAC;AAEX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,IAAiB,GAAG,MAAM,CAGtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
package/dist/constants/paths.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 路径常量定义
|
|
4
|
-
* @module constants/paths
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.PATH_VALIDATION = exports.DEFAULT_PATHS = void 0;
|
|
8
|
-
exports.getBackupFileName = getBackupFileName;
|
|
9
|
-
exports.getBackupFilePath = getBackupFilePath;
|
|
10
|
-
exports.isBackupFile = isBackupFile;
|
|
11
|
-
const os_1 = require("os");
|
|
12
|
-
const path_1 = require("path");
|
|
13
|
-
/**
|
|
14
|
-
* 默认路径配置
|
|
15
|
-
*/
|
|
16
|
-
exports.DEFAULT_PATHS = {
|
|
17
|
-
/** Xray 配置文件路径 */
|
|
18
|
-
CONFIG_FILE: '/usr/local/etc/xray/config.json',
|
|
19
|
-
/** Xray 配置目录 */
|
|
20
|
-
CONFIG_DIR: '/usr/local/etc/xray',
|
|
21
|
-
/** 配置备份目录 */
|
|
22
|
-
BACKUP_DIR: '/var/backups/xray',
|
|
23
|
-
/** systemd 服务名称 */
|
|
24
|
-
SERVICE_NAME: 'xray',
|
|
25
|
-
/** systemd 服务文件路径 */
|
|
26
|
-
SERVICE_FILE: '/etc/systemd/system/xray.service',
|
|
27
|
-
/** Xray 可执行文件路径 */
|
|
28
|
-
XRAY_BINARY: '/usr/local/bin/xray',
|
|
29
|
-
/** 日志目录(如果使用文件日志) */
|
|
30
|
-
LOG_DIR: '/var/log/xray',
|
|
31
|
-
/** 访问日志文件 */
|
|
32
|
-
ACCESS_LOG: '/var/log/xray/access.log',
|
|
33
|
-
/** 错误日志文件 */
|
|
34
|
-
ERROR_LOG: '/var/log/xray/error.log',
|
|
35
|
-
/** 临时文件目录 */
|
|
36
|
-
TEMP_DIR: '/tmp/xray-manager',
|
|
37
|
-
/** 用户配置目录(~/.xray-manager) */
|
|
38
|
-
USER_CONFIG_DIR: (0, path_1.join)((0, os_1.homedir)(), '.xray-manager'),
|
|
39
|
-
/** 用户配置文件 */
|
|
40
|
-
USER_CONFIG_FILE: (0, path_1.join)((0, os_1.homedir)(), '.xray-manager', 'config.json'),
|
|
41
|
-
/** Clash 配置文件(默认输出) */
|
|
42
|
-
CLASH_CONFIG_FILE: (0, path_1.join)((0, os_1.homedir)(), 'clash-config-v3.yaml'),
|
|
43
|
-
/** 服务器配置文件(公网 IP 等) */
|
|
44
|
-
SERVER_CONFIG_FILE: '/usr/local/etc/xray/server-config.json',
|
|
45
|
-
/** 用户元数据文件(创建时间、状态等) */
|
|
46
|
-
USER_METADATA_FILE: '/usr/local/etc/xray/user-metadata.json',
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* 路径验证规则
|
|
50
|
-
*/
|
|
51
|
-
exports.PATH_VALIDATION = {
|
|
52
|
-
/** 配置文件必须以 .json 结尾 */
|
|
53
|
-
CONFIG_FILE_EXTENSION: '.json',
|
|
54
|
-
/** 备份文件命名格式 */
|
|
55
|
-
BACKUP_FILE_PATTERN: /^config\.\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}\.\d{3}Z\.json$/,
|
|
56
|
-
/** 最大路径长度 */
|
|
57
|
-
MAX_PATH_LENGTH: 4096,
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* 备份文件名生成
|
|
61
|
-
*/
|
|
62
|
-
function getBackupFileName(timestamp = new Date()) {
|
|
63
|
-
const isoString = timestamp.toISOString().replace(/:/g, '-');
|
|
64
|
-
return `config.${isoString}.json`;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* 获取完整备份路径
|
|
68
|
-
*/
|
|
69
|
-
function getBackupFilePath(timestamp) {
|
|
70
|
-
return (0, path_1.join)(exports.DEFAULT_PATHS.BACKUP_DIR, getBackupFileName(timestamp));
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* 检查路径是否为备份文件
|
|
74
|
-
*/
|
|
75
|
-
function isBackupFile(filename) {
|
|
76
|
-
return exports.PATH_VALIDATION.BACKUP_FILE_PATTERN.test(filename);
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwEH,8CAGC;AAKD,8CAEC;AAKD,oCAEC;AAvFD,2BAA6B;AAC7B,+BAA4B;AAE5B;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,kBAAkB;IAClB,WAAW,EAAE,iCAAiC;IAE9C,gBAAgB;IAChB,UAAU,EAAE,qBAAqB;IAEjC,aAAa;IACb,UAAU,EAAE,mBAAmB;IAE/B,mBAAmB;IACnB,YAAY,EAAE,MAAM;IAEpB,qBAAqB;IACrB,YAAY,EAAE,kCAAkC;IAEhD,mBAAmB;IACnB,WAAW,EAAE,qBAAqB;IAElC,qBAAqB;IACrB,OAAO,EAAE,eAAe;IAExB,aAAa;IACb,UAAU,EAAE,0BAA0B;IAEtC,aAAa;IACb,SAAS,EAAE,yBAAyB;IAEpC,aAAa;IACb,QAAQ,EAAE,mBAAmB;IAE7B,8BAA8B;IAC9B,eAAe,EAAE,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,eAAe,CAAC;IAEjD,aAAa;IACb,gBAAgB,EAAE,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,eAAe,EAAE,aAAa,CAAC;IAEjE,uBAAuB;IACvB,iBAAiB,EAAE,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,sBAAsB,CAAC;IAE1D,uBAAuB;IACvB,kBAAkB,EAAE,wCAAwC;IAE5D,wBAAwB;IACxB,kBAAkB,EAAE,wCAAwC;CACpD,CAAC;AAEX;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,uBAAuB;IACvB,qBAAqB,EAAE,OAAO;IAE9B,eAAe;IACf,mBAAmB,EAAE,6DAA6D;IAElF,aAAa;IACb,eAAe,EAAE,IAAI;CACb,CAAC;AAEX;;GAEG;AACH,SAAgB,iBAAiB,CAAC,YAAkB,IAAI,IAAI,EAAE;IAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,UAAU,SAAS,OAAO,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAAgB;IAChD,OAAO,IAAA,WAAI,EAAC,qBAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,QAAgB;IAC3C,OAAO,uBAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 流量配额相关常量
|
|
3
|
-
* @module constants/quota
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 配额配置文件路径
|
|
7
|
-
*/
|
|
8
|
-
export declare const QUOTA_CONFIG_PATH = "/usr/local/etc/xray/quota.json";
|
|
9
|
-
/**
|
|
10
|
-
* 默认 Xray Stats API 端口
|
|
11
|
-
*/
|
|
12
|
-
export declare const DEFAULT_API_PORT = 10085;
|
|
13
|
-
/**
|
|
14
|
-
* 默认 API 服务器地址
|
|
15
|
-
*/
|
|
16
|
-
export declare const DEFAULT_API_SERVER = "127.0.0.1";
|
|
17
|
-
/**
|
|
18
|
-
* 警告阈值(百分比)
|
|
19
|
-
*/
|
|
20
|
-
export declare const WARNING_THRESHOLD = 80;
|
|
21
|
-
/**
|
|
22
|
-
* 超额阈值(百分比)
|
|
23
|
-
*/
|
|
24
|
-
export declare const EXCEEDED_THRESHOLD = 100;
|
|
25
|
-
/**
|
|
26
|
-
* Xray Stats 命令
|
|
27
|
-
*/
|
|
28
|
-
export declare const XRAY_STATS_COMMAND = "xray";
|
|
29
|
-
/**
|
|
30
|
-
* Stats API 子命令
|
|
31
|
-
*/
|
|
32
|
-
export declare const STATS_SUBCOMMAND = "api";
|
|
33
|
-
/**
|
|
34
|
-
* 流量统计名称模式
|
|
35
|
-
*/
|
|
36
|
-
export declare const STATS_PATTERNS: {
|
|
37
|
-
/** 用户上行流量 */
|
|
38
|
-
USER_UPLINK: (email: string) => string;
|
|
39
|
-
/** 用户下行流量 */
|
|
40
|
-
USER_DOWNLINK: (email: string) => string;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* 配额配置版本
|
|
44
|
-
*/
|
|
45
|
-
export declare const QUOTA_CONFIG_VERSION = "1.0";
|
|
46
|
-
/**
|
|
47
|
-
* 单位字节数映射
|
|
48
|
-
*/
|
|
49
|
-
export declare const UNIT_BYTES: {
|
|
50
|
-
readonly B: 1;
|
|
51
|
-
readonly KB: 1024;
|
|
52
|
-
readonly MB: number;
|
|
53
|
-
readonly GB: number;
|
|
54
|
-
readonly TB: number;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* 预设配额选项(用于 UI)
|
|
58
|
-
*/
|
|
59
|
-
export declare const PRESET_QUOTAS: {
|
|
60
|
-
label: string;
|
|
61
|
-
bytes: number;
|
|
62
|
-
}[];
|
|
63
|
-
/**
|
|
64
|
-
* 默认 Stats API 配置
|
|
65
|
-
*/
|
|
66
|
-
export declare const DEFAULT_STATS_CONFIG: {
|
|
67
|
-
/** Stats 配置块(空对象启用统计) */
|
|
68
|
-
readonly stats: {};
|
|
69
|
-
/** Policy 配置(启用用户和入站流量统计) */
|
|
70
|
-
readonly policy: {
|
|
71
|
-
readonly levels: {
|
|
72
|
-
readonly '0': {
|
|
73
|
-
readonly statsUserUplink: true;
|
|
74
|
-
readonly statsUserDownlink: true;
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
readonly system: {
|
|
78
|
-
readonly statsInboundUplink: true;
|
|
79
|
-
readonly statsInboundDownlink: true;
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
/** API 配置 */
|
|
83
|
-
readonly api: {
|
|
84
|
-
readonly tag: "api";
|
|
85
|
-
readonly services: readonly ["StatsService"];
|
|
86
|
-
};
|
|
87
|
-
/** API 入站配置 */
|
|
88
|
-
readonly apiInbound: {
|
|
89
|
-
readonly tag: "api";
|
|
90
|
-
readonly port: 10085;
|
|
91
|
-
readonly listen: "127.0.0.1";
|
|
92
|
-
readonly protocol: "dokodemo-door";
|
|
93
|
-
readonly settings: {
|
|
94
|
-
readonly address: "127.0.0.1";
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
/** API 路由规则 */
|
|
98
|
-
readonly apiRoutingRule: {
|
|
99
|
-
readonly type: "field";
|
|
100
|
-
readonly inboundTag: readonly ["api"];
|
|
101
|
-
readonly outboundTag: "api";
|
|
102
|
-
};
|
|
103
|
-
/** API 出站配置 */
|
|
104
|
-
readonly apiOutbound: {
|
|
105
|
-
readonly protocol: "freedom";
|
|
106
|
-
readonly tag: "api";
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
/**
|
|
110
|
-
* Stats API 端口范围
|
|
111
|
-
*/
|
|
112
|
-
export declare const STATS_PORT_RANGE: {
|
|
113
|
-
/** 起始端口 */
|
|
114
|
-
readonly START: 10085;
|
|
115
|
-
/** 结束端口 */
|
|
116
|
-
readonly END: 10099;
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Stats API 连接超时(毫秒)
|
|
120
|
-
*/
|
|
121
|
-
export declare const STATS_API_TIMEOUT = 5000;
|
|
122
|
-
/**
|
|
123
|
-
* 服务重启等待时间(毫秒)
|
|
124
|
-
*/
|
|
125
|
-
export declare const SERVICE_RESTART_WAIT = 2000;
|
|
126
|
-
//# sourceMappingURL=quota.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../src/constants/quota.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,aAAa;yBACQ,MAAM;IAC3B,aAAa;2BACU,MAAM;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;GASzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B,yBAAyB;;IAGzB,6BAA6B;;;;;;;;;;;;;IAc7B,aAAa;;;;;IAMb,eAAe;;;;;;;;;;IAWf,eAAe;;;;;;IAOf,eAAe;;;;;CAKP,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,WAAW;;IAEX,WAAW;;CAEH,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC"}
|
package/dist/constants/quota.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 流量配额相关常量
|
|
4
|
-
* @module constants/quota
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SERVICE_RESTART_WAIT = exports.STATS_API_TIMEOUT = exports.STATS_PORT_RANGE = exports.DEFAULT_STATS_CONFIG = exports.PRESET_QUOTAS = exports.UNIT_BYTES = exports.QUOTA_CONFIG_VERSION = exports.STATS_PATTERNS = exports.STATS_SUBCOMMAND = exports.XRAY_STATS_COMMAND = exports.EXCEEDED_THRESHOLD = exports.WARNING_THRESHOLD = exports.DEFAULT_API_SERVER = exports.DEFAULT_API_PORT = exports.QUOTA_CONFIG_PATH = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* 配额配置文件路径
|
|
10
|
-
*/
|
|
11
|
-
exports.QUOTA_CONFIG_PATH = '/usr/local/etc/xray/quota.json';
|
|
12
|
-
/**
|
|
13
|
-
* 默认 Xray Stats API 端口
|
|
14
|
-
*/
|
|
15
|
-
exports.DEFAULT_API_PORT = 10085;
|
|
16
|
-
/**
|
|
17
|
-
* 默认 API 服务器地址
|
|
18
|
-
*/
|
|
19
|
-
exports.DEFAULT_API_SERVER = '127.0.0.1';
|
|
20
|
-
/**
|
|
21
|
-
* 警告阈值(百分比)
|
|
22
|
-
*/
|
|
23
|
-
exports.WARNING_THRESHOLD = 80;
|
|
24
|
-
/**
|
|
25
|
-
* 超额阈值(百分比)
|
|
26
|
-
*/
|
|
27
|
-
exports.EXCEEDED_THRESHOLD = 100;
|
|
28
|
-
/**
|
|
29
|
-
* Xray Stats 命令
|
|
30
|
-
*/
|
|
31
|
-
exports.XRAY_STATS_COMMAND = 'xray';
|
|
32
|
-
/**
|
|
33
|
-
* Stats API 子命令
|
|
34
|
-
*/
|
|
35
|
-
exports.STATS_SUBCOMMAND = 'api';
|
|
36
|
-
/**
|
|
37
|
-
* 流量统计名称模式
|
|
38
|
-
*/
|
|
39
|
-
exports.STATS_PATTERNS = {
|
|
40
|
-
/** 用户上行流量 */
|
|
41
|
-
USER_UPLINK: (email) => `user>>>${email}>>>traffic>>>uplink`,
|
|
42
|
-
/** 用户下行流量 */
|
|
43
|
-
USER_DOWNLINK: (email) => `user>>>${email}>>>traffic>>>downlink`,
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* 配额配置版本
|
|
47
|
-
*/
|
|
48
|
-
exports.QUOTA_CONFIG_VERSION = '1.0';
|
|
49
|
-
/**
|
|
50
|
-
* 单位字节数映射
|
|
51
|
-
*/
|
|
52
|
-
exports.UNIT_BYTES = {
|
|
53
|
-
B: 1,
|
|
54
|
-
KB: 1024,
|
|
55
|
-
MB: 1024 ** 2,
|
|
56
|
-
GB: 1024 ** 3,
|
|
57
|
-
TB: 1024 ** 4,
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* 预设配额选项(用于 UI)
|
|
61
|
-
*/
|
|
62
|
-
exports.PRESET_QUOTAS = [
|
|
63
|
-
{ label: '1 GB', bytes: 1 * exports.UNIT_BYTES.GB },
|
|
64
|
-
{ label: '5 GB', bytes: 5 * exports.UNIT_BYTES.GB },
|
|
65
|
-
{ label: '10 GB', bytes: 10 * exports.UNIT_BYTES.GB },
|
|
66
|
-
{ label: '50 GB', bytes: 50 * exports.UNIT_BYTES.GB },
|
|
67
|
-
{ label: '100 GB', bytes: 100 * exports.UNIT_BYTES.GB },
|
|
68
|
-
{ label: '500 GB', bytes: 500 * exports.UNIT_BYTES.GB },
|
|
69
|
-
{ label: '1 TB', bytes: 1 * exports.UNIT_BYTES.TB },
|
|
70
|
-
{ label: '无限制', bytes: -1 },
|
|
71
|
-
];
|
|
72
|
-
/**
|
|
73
|
-
* 默认 Stats API 配置
|
|
74
|
-
*/
|
|
75
|
-
exports.DEFAULT_STATS_CONFIG = {
|
|
76
|
-
/** Stats 配置块(空对象启用统计) */
|
|
77
|
-
stats: {},
|
|
78
|
-
/** Policy 配置(启用用户和入站流量统计) */
|
|
79
|
-
policy: {
|
|
80
|
-
levels: {
|
|
81
|
-
'0': {
|
|
82
|
-
statsUserUplink: true,
|
|
83
|
-
statsUserDownlink: true,
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
system: {
|
|
87
|
-
statsInboundUplink: true,
|
|
88
|
-
statsInboundDownlink: true,
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
/** API 配置 */
|
|
92
|
-
api: {
|
|
93
|
-
tag: 'api',
|
|
94
|
-
services: ['StatsService'],
|
|
95
|
-
},
|
|
96
|
-
/** API 入站配置 */
|
|
97
|
-
apiInbound: {
|
|
98
|
-
tag: 'api',
|
|
99
|
-
port: exports.DEFAULT_API_PORT,
|
|
100
|
-
listen: exports.DEFAULT_API_SERVER,
|
|
101
|
-
protocol: 'dokodemo-door',
|
|
102
|
-
settings: {
|
|
103
|
-
address: exports.DEFAULT_API_SERVER,
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
/** API 路由规则 */
|
|
107
|
-
apiRoutingRule: {
|
|
108
|
-
type: 'field',
|
|
109
|
-
inboundTag: ['api'],
|
|
110
|
-
outboundTag: 'api',
|
|
111
|
-
},
|
|
112
|
-
/** API 出站配置 */
|
|
113
|
-
apiOutbound: {
|
|
114
|
-
protocol: 'freedom',
|
|
115
|
-
tag: 'api',
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Stats API 端口范围
|
|
120
|
-
*/
|
|
121
|
-
exports.STATS_PORT_RANGE = {
|
|
122
|
-
/** 起始端口 */
|
|
123
|
-
START: 10085,
|
|
124
|
-
/** 结束端口 */
|
|
125
|
-
END: 10099,
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Stats API 连接超时(毫秒)
|
|
129
|
-
*/
|
|
130
|
-
exports.STATS_API_TIMEOUT = 5000;
|
|
131
|
-
/**
|
|
132
|
-
* 服务重启等待时间(毫秒)
|
|
133
|
-
*/
|
|
134
|
-
exports.SERVICE_RESTART_WAIT = 2000;
|
|
135
|
-
//# sourceMappingURL=quota.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../src/constants/quota.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Review constants and enums
|
|
3
|
-
*
|
|
4
|
-
* @module constants/review
|
|
5
|
-
*/
|
|
6
|
-
import type { AssessmentStatus, OutputFormat, ReviewPriority, ReviewTimeHorizon } from '../types/review';
|
|
7
|
-
export declare const REVIEW_PRIORITIES: readonly ReviewPriority[];
|
|
8
|
-
export declare const REVIEW_TIME_HORIZONS: readonly ReviewTimeHorizon[];
|
|
9
|
-
export declare const REVIEW_STATUSES: readonly AssessmentStatus[];
|
|
10
|
-
export declare const REVIEW_FORMATS: readonly OutputFormat[];
|
|
11
|
-
export declare const REVIEW_AREA_IDS: readonly ["documentation", "license", "contribution", "quality", "community", "security"];
|
|
12
|
-
export type ReviewAreaId = (typeof REVIEW_AREA_IDS)[number];
|
|
13
|
-
export declare const REVIEW_AREA_LABELS: Record<ReviewAreaId, string>;
|
|
14
|
-
//# sourceMappingURL=review.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/constants/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAA8B,CAAC;AACtF,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAA2B,CAAC;AACzF,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAItD,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAyB,CAAC;AAE5E,eAAO,MAAM,eAAe,2FAOlB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAO3D,CAAC"}
|
package/dist/constants/review.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Review constants and enums
|
|
4
|
-
*
|
|
5
|
-
* @module constants/review
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.REVIEW_AREA_LABELS = exports.REVIEW_AREA_IDS = exports.REVIEW_FORMATS = exports.REVIEW_STATUSES = exports.REVIEW_TIME_HORIZONS = exports.REVIEW_PRIORITIES = void 0;
|
|
9
|
-
exports.REVIEW_PRIORITIES = ['high', 'medium', 'low'];
|
|
10
|
-
exports.REVIEW_TIME_HORIZONS = ['quick', 'long-term'];
|
|
11
|
-
exports.REVIEW_STATUSES = [
|
|
12
|
-
'good',
|
|
13
|
-
'needs-improvement',
|
|
14
|
-
'missing',
|
|
15
|
-
];
|
|
16
|
-
exports.REVIEW_FORMATS = ['markdown', 'json'];
|
|
17
|
-
exports.REVIEW_AREA_IDS = [
|
|
18
|
-
'documentation',
|
|
19
|
-
'license',
|
|
20
|
-
'contribution',
|
|
21
|
-
'quality',
|
|
22
|
-
'community',
|
|
23
|
-
'security',
|
|
24
|
-
];
|
|
25
|
-
exports.REVIEW_AREA_LABELS = {
|
|
26
|
-
documentation: 'Documentation',
|
|
27
|
-
license: 'License',
|
|
28
|
-
contribution: 'Contribution',
|
|
29
|
-
quality: 'Quality',
|
|
30
|
-
community: 'Community',
|
|
31
|
-
security: 'Security',
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=review.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/constants/review.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AASU,QAAA,iBAAiB,GAA8B,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzE,QAAA,oBAAoB,GAAiC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5E,QAAA,eAAe,GAAgC;IAC1D,MAAM;IACN,mBAAmB;IACnB,SAAS;CACV,CAAC;AACW,QAAA,cAAc,GAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE/D,QAAA,eAAe,GAAG;IAC7B,eAAe;IACf,SAAS;IACT,cAAc;IACd,SAAS;IACT,WAAW;IACX,UAAU;CACF,CAAC;AAGE,QAAA,kBAAkB,GAAiC;IAC9D,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supported Linux distributions configuration
|
|
3
|
-
* Feature: 009-cross-platform-support
|
|
4
|
-
*/
|
|
5
|
-
import { OsFamily, PackageManager } from '../types/platform.js';
|
|
6
|
-
export interface DistroConfig {
|
|
7
|
-
family: OsFamily;
|
|
8
|
-
minVersion: string;
|
|
9
|
-
packageManager: PackageManager;
|
|
10
|
-
displayName: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const SUPPORTED_DISTROS: Record<string, DistroConfig>;
|
|
13
|
-
export declare const PRIVATE_IP_RANGES: RegExp[];
|
|
14
|
-
export declare const SUPPORTED_DISTRO_IDS: string[];
|
|
15
|
-
export declare function isDistroSupported(distroId: string): boolean;
|
|
16
|
-
export declare function getDistroConfig(distroId: string): DistroConfig | undefined;
|
|
17
|
-
//# sourceMappingURL=supported-distros.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supported-distros.d.ts","sourceRoot":"","sources":["../../src/constants/supported-distros.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA2C1D,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAK7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAiC,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1E"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Supported Linux distributions configuration
|
|
4
|
-
* Feature: 009-cross-platform-support
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SUPPORTED_DISTRO_IDS = exports.PRIVATE_IP_RANGES = exports.SUPPORTED_DISTROS = void 0;
|
|
8
|
-
exports.isDistroSupported = isDistroSupported;
|
|
9
|
-
exports.getDistroConfig = getDistroConfig;
|
|
10
|
-
const platform_js_1 = require("../types/platform.js");
|
|
11
|
-
exports.SUPPORTED_DISTROS = {
|
|
12
|
-
ubuntu: {
|
|
13
|
-
family: platform_js_1.OsFamily.DEBIAN,
|
|
14
|
-
minVersion: '22.04',
|
|
15
|
-
packageManager: platform_js_1.PackageManager.APT,
|
|
16
|
-
displayName: 'Ubuntu',
|
|
17
|
-
},
|
|
18
|
-
debian: {
|
|
19
|
-
family: platform_js_1.OsFamily.DEBIAN,
|
|
20
|
-
minVersion: '11',
|
|
21
|
-
packageManager: platform_js_1.PackageManager.APT,
|
|
22
|
-
displayName: 'Debian',
|
|
23
|
-
},
|
|
24
|
-
kali: {
|
|
25
|
-
family: platform_js_1.OsFamily.DEBIAN,
|
|
26
|
-
minVersion: '2023',
|
|
27
|
-
packageManager: platform_js_1.PackageManager.APT,
|
|
28
|
-
displayName: 'Kali Linux',
|
|
29
|
-
},
|
|
30
|
-
centos: {
|
|
31
|
-
family: platform_js_1.OsFamily.RHEL,
|
|
32
|
-
minVersion: '9',
|
|
33
|
-
packageManager: platform_js_1.PackageManager.DNF,
|
|
34
|
-
displayName: 'CentOS Stream',
|
|
35
|
-
},
|
|
36
|
-
almalinux: {
|
|
37
|
-
family: platform_js_1.OsFamily.RHEL,
|
|
38
|
-
minVersion: '9',
|
|
39
|
-
packageManager: platform_js_1.PackageManager.DNF,
|
|
40
|
-
displayName: 'AlmaLinux',
|
|
41
|
-
},
|
|
42
|
-
rocky: {
|
|
43
|
-
family: platform_js_1.OsFamily.RHEL,
|
|
44
|
-
minVersion: '9',
|
|
45
|
-
packageManager: platform_js_1.PackageManager.DNF,
|
|
46
|
-
displayName: 'Rocky Linux',
|
|
47
|
-
},
|
|
48
|
-
fedora: {
|
|
49
|
-
family: platform_js_1.OsFamily.RHEL,
|
|
50
|
-
minVersion: '39',
|
|
51
|
-
packageManager: platform_js_1.PackageManager.DNF,
|
|
52
|
-
displayName: 'Fedora',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
exports.PRIVATE_IP_RANGES = [
|
|
56
|
-
/^10\./,
|
|
57
|
-
/^172\.(1[6-9]|2[0-9]|3[01])\./,
|
|
58
|
-
/^192\.168\./,
|
|
59
|
-
/^127\./, // Loopback
|
|
60
|
-
];
|
|
61
|
-
exports.SUPPORTED_DISTRO_IDS = Object.keys(exports.SUPPORTED_DISTROS);
|
|
62
|
-
function isDistroSupported(distroId) {
|
|
63
|
-
return distroId.toLowerCase() in exports.SUPPORTED_DISTROS;
|
|
64
|
-
}
|
|
65
|
-
function getDistroConfig(distroId) {
|
|
66
|
-
return exports.SUPPORTED_DISTROS[distroId.toLowerCase()];
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=supported-distros.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supported-distros.js","sourceRoot":"","sources":["../../src/constants/supported-distros.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiEH,8CAEC;AAED,0CAEC;AArED,sDAAgE;AASnD,QAAA,iBAAiB,GAAiC;IAC7D,MAAM,EAAE;QACN,MAAM,EAAE,sBAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,QAAQ;KACtB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,sBAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,QAAQ;KACtB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,sBAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,YAAY;KAC1B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,sBAAQ,CAAC,IAAI;QACrB,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,eAAe;KAC7B;IACD,SAAS,EAAE;QACT,MAAM,EAAE,sBAAQ,CAAC,IAAI;QACrB,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,WAAW;KACzB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,sBAAQ,CAAC,IAAI;QACrB,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,sBAAQ,CAAC,IAAI;QACrB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,4BAAc,CAAC,GAAG;QAClC,WAAW,EAAE,QAAQ;KACtB;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,OAAO;IACP,+BAA+B;IAC/B,aAAa;IACb,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEW,QAAA,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC;AAEnE,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,CAAC,WAAW,EAAE,IAAI,yBAAiB,CAAC;AACrD,CAAC;AAED,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,yBAAiB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UI Theme Configuration
|
|
3
|
-
*
|
|
4
|
-
* Defines the color palette and visual constants for the CLI.
|
|
5
|
-
*
|
|
6
|
-
* @module constants/theme
|
|
7
|
-
*/
|
|
8
|
-
import chalk from 'chalk';
|
|
9
|
-
/**
|
|
10
|
-
* Semantic Color Theme
|
|
11
|
-
*/
|
|
12
|
-
export declare const THEME: {
|
|
13
|
-
primary: chalk.Chalk;
|
|
14
|
-
secondary: chalk.Chalk;
|
|
15
|
-
success: chalk.Chalk;
|
|
16
|
-
warning: chalk.Chalk;
|
|
17
|
-
error: chalk.Chalk;
|
|
18
|
-
neutral: chalk.Chalk;
|
|
19
|
-
highlight: chalk.Chalk;
|
|
20
|
-
text: chalk.Chalk;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* UI Visual Constants
|
|
24
|
-
*/
|
|
25
|
-
export declare const UI_CONSTANTS: {
|
|
26
|
-
BORDER_STYLE: string;
|
|
27
|
-
INDICATOR: {
|
|
28
|
-
ACTIVE: string;
|
|
29
|
-
INACTIVE: string;
|
|
30
|
-
PENDING: string;
|
|
31
|
-
};
|
|
32
|
-
PADDING: number;
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/constants/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;CAwBjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAcxB,CAAC"}
|
package/dist/constants/theme.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* UI Theme Configuration
|
|
4
|
-
*
|
|
5
|
-
* Defines the color palette and visual constants for the CLI.
|
|
6
|
-
*
|
|
7
|
-
* @module constants/theme
|
|
8
|
-
*/
|
|
9
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.UI_CONSTANTS = exports.THEME = void 0;
|
|
14
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
15
|
-
/**
|
|
16
|
-
* Semantic Color Theme
|
|
17
|
-
*/
|
|
18
|
-
exports.THEME = {
|
|
19
|
-
// Primary: Branding, interactive elements, headers
|
|
20
|
-
primary: chalk_1.default.cyan,
|
|
21
|
-
// Secondary: Subtitles, less critical info
|
|
22
|
-
secondary: chalk_1.default.blue,
|
|
23
|
-
// Success: Positive status, success messages
|
|
24
|
-
success: chalk_1.default.green,
|
|
25
|
-
// Warning: Warning messages, caution states
|
|
26
|
-
warning: chalk_1.default.yellow,
|
|
27
|
-
// Error: Error messages, failure states
|
|
28
|
-
error: chalk_1.default.red,
|
|
29
|
-
// Neutral: Static labels, borders, normal text
|
|
30
|
-
neutral: chalk_1.default.gray,
|
|
31
|
-
// Highlight: Selected items, focused elements
|
|
32
|
-
highlight: chalk_1.default.bold.cyan,
|
|
33
|
-
// Text: Standard text
|
|
34
|
-
text: chalk_1.default.white,
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* UI Visual Constants
|
|
38
|
-
*/
|
|
39
|
-
exports.UI_CONSTANTS = {
|
|
40
|
-
// Border style for cli-table3
|
|
41
|
-
// 'single' provides a cleaner look than default double/heavy
|
|
42
|
-
BORDER_STYLE: 'single',
|
|
43
|
-
// Status Indicators
|
|
44
|
-
INDICATOR: {
|
|
45
|
-
ACTIVE: '●',
|
|
46
|
-
INACTIVE: '○',
|
|
47
|
-
PENDING: '◌',
|
|
48
|
-
},
|
|
49
|
-
// Spacing
|
|
50
|
-
PADDING: 1,
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/constants/theme.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,kDAA0B;AAE1B;;GAEG;AACU,QAAA,KAAK,GAAG;IACnB,mDAAmD;IACnD,OAAO,EAAE,eAAK,CAAC,IAAI;IAEnB,2CAA2C;IAC3C,SAAS,EAAE,eAAK,CAAC,IAAI;IAErB,6CAA6C;IAC7C,OAAO,EAAE,eAAK,CAAC,KAAK;IAEpB,4CAA4C;IAC5C,OAAO,EAAE,eAAK,CAAC,MAAM;IAErB,wCAAwC;IACxC,KAAK,EAAE,eAAK,CAAC,GAAG;IAEhB,+CAA+C;IAC/C,OAAO,EAAE,eAAK,CAAC,IAAI;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,eAAK,CAAC,IAAI,CAAC,IAAI;IAE1B,sBAAsB;IACtB,IAAI,EAAE,eAAK,CAAC,KAAK;CAClB,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,8BAA8B;IAC9B,6DAA6D;IAC7D,YAAY,EAAE,QAAQ;IAEtB,oBAAoB;IACpB,SAAS,EAAE;QACT,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;KACb;IAED,UAAU;IACV,OAAO,EAAE,CAAC;CACX,CAAC"}
|