Files
ZenEcho b48e639490 feat: 引入共享类型与工具层,重构代码结构并优化用户体验
- 新增 `shared/` 目录,统一管理前后端共享的类型定义与工具函数,消除重复代码
- 重构 IPC 数据传输,使用 `toIpcSafeSnapshot` 确保序列化安全
- 新增系统托盘独立窗口 (`/tray` 路由) 与主窗口关闭行为设置,提升用户体验
- 优化 Sing-box 配置校验错误提示,增强可读性
- 修复订阅更新无新节点时的提示逻辑
- 更新项目依赖与构建配置,支持共享层路径别名 (`@shared`)
- 补充单元测试,完善国际化词条
2026-03-01 16:50:40 +08:00

68 lines
1.7 KiB
TypeScript

/**
* TLS 配置接口
*/
export interface NodeTlsConfig {
enabled: boolean
server_name?: string
insecure?: boolean
utls?: {
enabled: boolean
fingerprint: string
}
reality?: {
enabled: boolean
public_key?: string
short_id?: string
}
}
/**
* 代理节点配置接口
*
* 前后端共享的统一定义,支持 Shadowsocks, VMess, VLESS, Trojan, Socks, HTTP 等协议。
*/
export interface NodeConfig {
/** 节点唯一 ID */
id?: string
/** 节点协议类型 (shadowsocks, vmess, vless, trojan, socks, http) */
type: string
/** 节点标签/名称 */
tag: string
/** 服务器地址 */
server: string
/** 服务器端口 */
server_port: number
/** UUID (vmess/vless 使用) */
uuid?: string
/** 密码 (shadowsocks/trojan 使用) */
password?: string
/** 加密方式 (shadowsocks 使用) */
method?: string
/** 插件名称 (如 obfs-local) */
plugin?: string
/** 插件参数 */
plugin_opts?: string
/** 传输协议 (tcp, ws, grpc 等) */
network?: string
/** 安全类型 (tls, reality, none) */
security?: string
/** 路径 (ws/grpc 使用) */
path?: string
/** 主机名 (ws/grpc 使用) */
host?: string
/** 服务名称 (grpc 使用) */
service_name?: string
/** ALPN 协商协议列表 (逗号分隔) */
alpn?: string
/** uTLS 指纹 */
fingerprint?: string
/** TLS 配置 */
tls?: NodeTlsConfig
/** 流控 (vless/xtls 使用) */
flow?: string
/** 数据包编码 (如 xudp) */
packet_encoding?: string
/** 用户名 (socks/http 使用) */
username?: string
}