- 新增 `shared/` 目录,统一管理前后端共享的类型定义与工具函数,消除重复代码 - 重构 IPC 数据传输,使用 `toIpcSafeSnapshot` 确保序列化安全 - 新增系统托盘独立窗口 (`/tray` 路由) 与主窗口关闭行为设置,提升用户体验 - 优化 Sing-box 配置校验错误提示,增强可读性 - 修复订阅更新无新节点时的提示逻辑 - 更新项目依赖与构建配置,支持共享层路径别名 (`@shared`) - 补充单元测试,完善国际化词条
22 lines
604 B
TypeScript
22 lines
604 B
TypeScript
/**
|
|
* 移除字符串中的 ANSI 颜色代码
|
|
* @param input 包含 ANSI 代码的字符串
|
|
* @returns 纯文本字符串
|
|
*/
|
|
export function stripAnsi(input: string): string {
|
|
return input.replace(/\x1B\[[0-9;]*m/g, '')
|
|
}
|
|
|
|
/**
|
|
* 获取运行 sing-box 所需的环境变量
|
|
* 注入了兼容性开关,以支持新版 sing-box 的某些过时特性
|
|
*/
|
|
export function getSingboxEnv(): NodeJS.ProcessEnv {
|
|
return {
|
|
...process.env,
|
|
ENABLE_DEPRECATED_SPECIAL_OUTBOUNDS: 'true',
|
|
ENABLE_DEPRECATED_LEGACY_DNS_SERVERS: 'true',
|
|
ENABLE_DEPRECATED_MISSING_DOMAIN_RESOLVER: 'true'
|
|
}
|
|
}
|