- 新增 `shared/` 目录,统一管理前后端共享的类型定义与工具函数,消除重复代码 - 重构 IPC 数据传输,使用 `toIpcSafeSnapshot` 确保序列化安全 - 新增系统托盘独立窗口 (`/tray` 路由) 与主窗口关闭行为设置,提升用户体验 - 优化 Sing-box 配置校验错误提示,增强可读性 - 修复订阅更新无新节点时的提示逻辑 - 更新项目依赖与构建配置,支持共享层路径别名 (`@shared`) - 补充单元测试,完善国际化词条
68 lines
1.6 KiB
TypeScript
68 lines
1.6 KiB
TypeScript
import type { NodeConfig } from './node'
|
|
import type { AccelNetworkMode, SessionNetworkTuningOptions } from './settings'
|
|
|
|
/**
|
|
* Sing-box DNS 配置选项
|
|
*/
|
|
export interface DnsConfigOptions {
|
|
mode?: 'secure' | 'system'
|
|
/** 主 DNS 服务器地址 */
|
|
primary?: string
|
|
/** 备用 DNS 服务器地址 */
|
|
secondary?: string
|
|
/** Bootstrap DNS(用于解析 DNS 服务器域名) */
|
|
bootstrap?: string
|
|
/** TUN 接口名称 */
|
|
tunInterfaceName?: string
|
|
/** 代理绕过列表 */
|
|
proxyBypassList?: string
|
|
/** 加速网络模式 */
|
|
accelNetworkMode?: AccelNetworkMode
|
|
/** 是否禁用 TUN */
|
|
disableTun?: boolean
|
|
/** 本地代理节点配置 */
|
|
localProxyNode?: NodeConfig
|
|
/** 是否严格使用指定本地代理节点 */
|
|
localProxyStrictNode?: boolean
|
|
/** 本地代理入站配置 */
|
|
localProxy?: {
|
|
enabled: boolean
|
|
port: number
|
|
}
|
|
/** 系统代理入站配置 */
|
|
systemProxy?: {
|
|
enabled: boolean
|
|
port: number
|
|
}
|
|
/** 会话级网络调优参数 */
|
|
sessionTuning?: SessionNetworkTuningOptions
|
|
}
|
|
|
|
/**
|
|
* Sing-box 配置结构
|
|
*/
|
|
export interface SingboxConfig {
|
|
log: {
|
|
level: string
|
|
timestamp: boolean
|
|
}
|
|
dns: {
|
|
servers: any[]
|
|
rules: any[]
|
|
final?: string
|
|
}
|
|
inbounds: any[]
|
|
outbounds: any[]
|
|
route: {
|
|
rules: any[]
|
|
rule_set?: any[]
|
|
auto_detect_interface: boolean
|
|
final?: string
|
|
}
|
|
experimental?: {
|
|
cache_file?: {
|
|
enabled: boolean
|
|
}
|
|
}
|
|
}
|