Repository navigation
YouYu 1.6.9
YouYu 1.6.9 迭代说明
YouYu 1.6.9 完成界面排版、更新安装反馈、主进程并发与 Windows 权限边界的系统性收口,并把本轮全面审查中的 P1、P2、P3 项落实到代码、测试、仓库和发布流程。
字体、对齐与设置页
- 渲染器和原生表单控件统一使用
system-ui, sans-serif,不再混用等宽字体或系统不存在的中间字重。专业模式首页“运行中”沿用页头操作的字号、行高、字重和几何规格。 - 节点页“全部测速”“测速”、测试页“测全部”“重测”共享明确的按钮文字盒模型;含“测”字的操作不再依赖浏览器默认基线,因此不会出现单字下沉。
- 专业模式版本号完整显示,不再以省略号截断;组件略微增宽后仍与侧栏左边、底边保持相同外侧间距。
- “规则来源”和“后台刷新”使用与 YouYu 一致的自定义选择器,支持键盘、焦点环和 ARIA 语义。“同步”“修复”“导出”“检查”补齐悬停状态,修复使用淡红色风险提示,检查使用低于保存按钮的次级紫色。
- 页面动作、生命周期 hooks 和样式按职责拆分,首页、节点、测试、桌宠与设置页继续复用统一页头、面板、间距和设计变量。
更新安装与用户反馈
- 小白模式和专业模式点击“安装更新”后立即显示轻量旋转标识与“自动静默安装”提示;即使主进程状态快照尚未返回,界面也不会短暂恢复成可点击状态。
- 动画遵循 Windows 的减少动态效果偏好。安装器启动失败时保留已下载文件、恢复可重试操作,并清理本次认证交接。
- 新版客户端使用包含随机 nonce、目标用户 SID、Windows 会话、目标进程、精确可执行路径和有效期的安装交接。安装器只等待经过认证的原用户进程退出,不再跨用户强制结束 YouYu。
- 已发布的 1.6.8 尚不会生成上述交接,因此 1.6.9 提供一次性兼容桥。它只接受 electron-updater 的
--updated静默路径、四项交接环境全部缺失、源文件身份有效且版本不高于 1.6.8、精确目标进程已经退出的情况。部分或无效交接、仍在运行的目标、普通新装和 1.6.9 及以后版本都不能使用该桥。 - 临时交接变量不再恢复历史值;连续重试或两个 Lease 交错过期时,旧路径与 nonce 不会重新污染后续安装。
运行性能与稳定性
- 新增运行意图、节点健康、订阅刷新、更新和最新操作协调器,统一序列化启动、停止、修复、测速、节点切换与后台刷新。旧操作完成后不能覆盖更新的用户选择,取消会等待实际清理完成。
- 运行状态恢复使用有界重试和代际校验;Mihomo 端口、最近有效配置、系统代理所有权和流量检查点在失败链路中保持一致,不以过期快照覆盖当前状态。
- 节点批量测试与连通性测试复用明确的 AbortSignal 和子进程终止边界;停止后不再启动后续项目,测速期间仍可安全切换节点。
- 桌宠位置写入、主窗口恢复、桌宠创建与贴边、退出清理、更新单航班和延迟安装任务都显式处理 Promise 拒绝。临时磁盘写入、窗口加载、观察者回调或错误回调失败不会再形成未处理拒绝或永久悬挂的单航班。
- 流量采集、待上报队列、节点使用统计和 JSON 配置采用原子写入、有界保留与幂等检查点,减少长期运行中的重复写入、无限增长和响应丢失后重复累计。
Windows 身份与高权限边界
- 开机任务以当前标准用户 SID 命名和绑定;复用、修复与删除前严格校验唯一 Principal、唯一 UserId、登录触发器、精确 YouYu 路径、
--hidden参数和普通权限级别。 - 真正卸载时只删除重新读取后仍满足所有权契约的 YouYu 任务;覆盖更新调用旧卸载器时不会误删开机任务。
- 高权限 Mihomo 启动使用受限命名管道、精确用户身份、句柄继承控制与 Windows Job Object;异常退出或父进程结束时,子进程和代理恢复路径具有明确所有者。
- IPC 参数使用精确 schema,渲染器禁止新窗口、webview、权限请求和跨源导航;生产 CSP 不允许任意对象、内联脚本或不受控连接源。
Mihomo 订阅与网络边界
- 完整订阅只允许
proxies、proxy-providers、proxy-groups、rules、rule-providers、sub-rules六类客户端路由数据。监听端口、控制器、DNS、TUN、嗅探、隧道、外部 UI 和 TLS 等运行时能力始终由 YouYu 本地设置控制。 - HTTP proxy provider 的下载上限为 8 MiB,HTTP rule provider 为 32 MiB;刷新周期限制在 1 小时至 7 天。代理健康检查和健康型代理组的间隔限制在 5 分钟至 24 小时,超时限制在 1 至 10 秒,并使用 lazy 模式。
file和inlineprovider 保留订阅原义。首尾带空格的代理名不会被选为规则直连目标;存在规范名称时选择下一项,否则回退到 YouYu 受管 provider。- Mihomo 二进制、来源归档、版本、大小与 SHA256 由固定 manifest 校验;发布前还会对生成配置执行真实
mihomo -t。
Worker、仓库与发布链
- Worker 管理界面拆分为独立 HTML、CSS 和 JavaScript 资源并使用严格 CSP;管理令牌先做常量时间校验,合法令牌不访问失败限流存储,历史失败也不能锁死合法管理员。
- 流量上报去重从易过期审计记录中拆出为持久证明,迁移兼容上线窗口中的旧记录;清理任务有批次上限,遥测只记录路由模板与脱敏结构,不记录 token、查询值或请求正文。
- 本版本包含 Worker 源码、schema 和迁移,但不会自动部署 Worker 或修改生产 D1。生产发布前必须先执行远端迁移,再部署新版 Worker,避免代码先于表结构上线。
- 仓库卫生检查覆盖已跟踪文件和全部未忽略的未跟踪文件,阻止
.env、私钥、私有订阅和生成产物进入提交。过时且与现行产品边界冲突的根目录技术文档和未引用占位图已移除,仍可从 Git 历史恢复;可复现桌宠素材、生成脚本和 QA 资产继续保留。 - 公开 Release 固定包含 11 个资产:三套安装器、三份
.blockmap、三份latest*.yml、Mihomo 对应源码归档和SHA256SUMS.txt。清单恰好覆盖其余 10 个文件,上传后必须下载到独立目录逐项复核。 - 本机
release-archive/<version>/按原始文件名保存完整 11 项资产并以当前版为锚只保留前两版;若出现更高版本目录则先失败并要求人工确认,避免误删或让不同版本的latest*.yml和清单互相覆盖。
验证与已知外部条件
- 自动化覆盖渲染器排版与交互、主进程协调器、存储与流量、Worker、IPC、Windows 用户/任务/进程/安装交接、Mihomo 配置、仓库卫生、签名门禁和发布清单。
- 隔离 NSIS 矩阵会编译并实际运行生产安装宏,覆盖认证交接、1.6.8 兼容桥、运行中目标、部分交接和普通静默新装;测试只操作临时目录与自有虚拟进程。
- 正式 Authenticode 门禁在发现任一证书、密码或 publisher 配置时必须显式启用并完整通过,不能半配置后静默降级。本次环境没有可用的生产证书;经实际打包与 Authenticode 检查,三套安装器均如实保持未签名,Windows 可能显示 SmartScreen 提示;没有使用自签名证书冒充正式发布者。
- 当前环境无法代替两名真实 Windows 用户完成交互式 UAC/跨会话人工矩阵;相关边界由 SID、会话、精确路径和隔离进程测试覆盖,仍应在有双用户测试机时补做人工验收。