更新记录

记录 YouYu 的功能变化、改进和修复。

当前版本 v1.8.3 · 31 个已记录版本
v1.8.3 当前版本

版本 1.8.3

改进

  • Electron 更新到现有 43 系列的 43.8.3 安全修复版,同步官方 Windows ZIP 的大小、SHA256 与回归校验。
  • 更新受安全公告影响的传递依赖,以及 Vite、Vitest 和 Cloudflare 开发工具链;保留现有功能、UI、更新通道和发布流程。
  • 明确 YouYu 的 MIT 许可证,补齐随安装包分发的项目许可和第三方声明,并同步 README 的版本、下载说明与贡献指引。
  • README 使用当前版本的两列界面预览;项目主页保留紫色品牌,换用软件图标,优化首屏、截图、下载入口和移动端布局。
完整更新日志
v1.8.2

版本 1.8.2

改进

  • 重做小白模式连接按钮下方的五态反馈:移除可见文字、背景轨道、中心圆点和光晕,启动时只保留无内点短弧,成功时改为品牌紫色的单独勾线,关闭与停止使用连续的电源收束和熄灭图形,失败时显示无外圈的独立叉号。
  • 反馈层按桌宠图形的实际视觉边界重新居中和留白,不改变连接按钮的尺寸、点击区域、禁用状态或原有交互;隐藏状态文本继续通过礼貌 live region 播报,系统启用减少动态效果时只显示最终图形。
完整更新日志
v1.8.1

版本 1.8.1

修复

  • 专业模式桌宠预览页移除错误添加的右上角“挥手”按钮;状态预览仍可选择,真实桌宠原有的点击与键盘挥手交互保持不变。

改进

  • 小白模式连接按钮下方改为独立的五态 SVG 状态反馈:启动时环形轨道动态旋转,连接成功后收束为完成环与勾选,关闭时反向旋转并逐步熄灭,停止后保持低干扰的未连接状态,失败时显示清晰告警。
  • 状态动画只使用描边、透明度与变换,不改变原按钮的尺寸、点击区域或视觉主体;系统启用减少动态效果时会自动停用持续动画。
完整更新日志
v1.8.0

版本 1.8.0

修复

  • Mihomo 异常恢复、运行端口变化和网络修复取消后,系统代理、运行状态与实际端口保持一致;非启动操作取消不再误停正在工作的代理。
  • 更新交接会清理过期租约和残留状态;崩溃前尚未结算的流量通过本地日志恢复,避免重复上报或丢失。
  • 云端配置、流量上报和出口地区查询补齐 HTTPS、请求边界、身份签名与响应大小限制;配置保存遇到尚未升级的生产服务时,仅对精确的旧协议拒绝安全回退一次,不改变默认直连优先策略。
  • 辅助窗口不再接收无关的完整快照;桌宠、通知和主窗口按角色获取最小数据,订阅、流量身份和诊断细节不会进入不需要它们的窗口。
  • 根页面和动态模块加载失败时提供中文恢复入口;通知确认失败可重试,诊断日志不再强制抢滚动,首次快照也不再误显示为已停止。

无障碍

  • 通知、桌宠、节点选择和测试行补齐键盘等价操作、选择语义和清晰焦点;状态提示保留文字或图标,不再只依赖颜色。
  • 修正已证实的文字与状态色对比度问题,并覆盖 Windows 高对比度及 100%、125%、150% 缩放检查。

改进

  • 主进程、Worker 路由和渲染器控制器按无副作用边界渐进拆分,保持既有 IPC、HTTP、持久化格式和用户行为不变。
  • 发布链路新增 coverage、artifact provenance、tag / commit / workflow run 绑定、11 项资产 manifest 防篡改和三通道远端闭环校验。
  • 为 100 次更新进度、200 / 500 / 1000 节点和窗口 IPC 载荷建立可重复性能基线;本版本不引入虚拟列表、复杂缓存或下载节流等未经验证的生产优化。

后台

  • 用户列表支持勾选多人、全选筛选结果后群发同一条纯文本通知,也可批量停止。群发仍写入每人现有的定向通知槽,覆盖该用户当前通知。群发操作放在原有工具栏内,不改变用户面板四行网格。
  • 用户列表和详情显示已读进度:已确认设备数 / 全部设备,以及每台设备的确认时间。
  • “自行配置”改为全局策略并默认允许;用户级设置默认跟随全局,只有管理员明确选择时才建立允许或不允许覆盖,现有用户迁移后全部跟随新的全局默认。
  • 流量额度改为包含开始和到期时间的订阅周期,只统计周期内服务端实际接收的可信流量报告,并将剩余量与使用率限制在套餐额度范围内。
完整更新日志
v1.7.13

版本 1.7.13

修复

  • 小白一键连接在代理已经起来后不再继续转圈。内核就绪后立即进入已连接,全部节点测速不再堵住启动。
  • 软件内更新成功后,不再因为新窗口确认稍晚就弹出「安装未完成」。再点检查若已是最新,也不会先误报一次。

改进

  • 启动后的第二次云端同步改到后台;失败时继续使用已经连上的代理。
  • 更新后的就绪确认提前写出,监督器在窗口确认超时后若新版本进程已在运行,视为安装成功。
完整更新日志
v1.7.12

版本 1.7.12

修复

  • 地区回退提示不再被当成故障。小白模式只显示说明,不再弹出「修复」。
  • 专业模式诊断不再直接露出英文 lastError;界面只保留中文结论,原始细节仍在导出日志里。
  • 更新失败会区分未允许安装、安装器未能启动和下载失败,不再一律说「安装未完成」。

改进

  • 一键连接在内核就绪、已落到优选地区节点后立即进入已连接;延迟测速和出口验证改到后台继续,不再用整段「启动中」堵住界面。
  • 后台精修失败时继续使用启动阶段已经选好的节点,不再把已经连上的代理拆掉。
  • 启动序列从主进程入口拆到独立模块,降低后续改启动路径时的回归面。
完整更新日志
v1.7.11

版本 1.7.11

修复

  • 修复 1.7.9 应用内更新在 UAC 通过后立刻失败的问题。Start-Process -Verb RunAs 不会把进程环境变量带进提权进程,监督器却把安装参数放在环境变量里,提权包装脚本读不到 payload,750ms 内退出,界面显示“elevated update installer exited before the app handoff completed”。现在改为写入同目录私有文件再按路径交给提权脚本。1.7.9 装不上这个修复,需要手动运行安装包。
完整更新日志
v1.7.10

版本 1.7.10

修复

  • 健康探测不再因为两个 204 探测在 2 秒内回 HTTP 504,就把还在工作的日本节点判死,然后每 5 分钟在两个节点之间来回切。当前节点探测超时改为 4 秒,连续失败 3 次才换节点;刚离开的节点 15 分钟内不再切回去。如果优选地区没有更好候选,就继续用当前节点,不断现有连接。
完整更新日志
v1.7.9

版本 1.7.9

修复

  • 修复内部通道从 1.7.7 点击安装更新时,监督器在写就绪文件前因 PowerShell 5.1 首次加载模块的进度 CLIXML 以 exit 1 退出,界面只显示“系统返回的错误信息无法识别”的问题。更新脚本现在静默进度输出,监督器失败会带回真实错误,诊断也不再把进度 XML 当成失败原因。
完整更新日志
v1.7.8

版本 1.7.8

修复

  • 修复自动模式启动时代理组仍按订阅顺序先落到香港节点、界面随后再切到日本的问题;启动现在按地区策略立刻选择日本节点,测速也先测优选地区,不再为了选日本而扫完全部节点。
  • 修复诊断日志把可恢复的云端直连失败记成错误,以及开机自启身份查询在 PowerShell 冷启动时 5 秒超时的问题。
  • 修复从 Git Bash 打包时 Mihomo 源码归档被 MSYS tar 误当成远程路径而校验失败的问题。
完整更新日志
v1.7.7

版本 1.7.7

修复

  • 修复从 1.7.5 更新到 1.7.7 后,启动期自动选点与后台节点健康恢复相互替换,导致代理已启动却被误判为 operation replaced、连续停止并修复重试的问题;系统自动任务现在合并同一轮选点,用户手动切换仍保持最高优先级。
  • 修复点击安装更新后只关闭当前程序、安装器在写入前退出并重新打开旧版本的问题;安装器现会容忍已退出进程留下的瞬时 CIM 快照,同时继续对存活进程的用户、会话和路径校验保持失败关闭。
  • 修复主程序只等到安装器确认交接就退出、此后无人验证真实安装结果的问题;独立监督器现在会等待安装边界关闭,核对目标版本,并要求新客户端主窗口完成初始化确认,失败时安全恢复可用版本。
  • 修复从 PowerShell 7 经 npm/Node 间接启动 Windows PowerShell 5.1 时,跨版本 PSModulePath 被错误继承、使 5.1 误加载 PowerShell 7 系统模块的问题;更新进程会在首个 5.1 进程前清除模块路径与缓存覆盖,让 5.1 使用原生环境,并直接通过 .NET Framework 读写文件 ACL。
  • 修复云端显示“跟随全局”但未授权客户端仍能通过专业模式或一键连接写出用户覆盖,以及云身份切换、旧缓存和离线无缓存时可能回退或残留另一套本机规则的问题。
  • 修复 TUN 模式无法采集 Mihomo warning/error 原始日志、控制器日志可能以完整长行进入首页,以及仅本地临时端口变化造成重复刷屏的问题。
  • 修复地区自动选点验证失败后没有恢复 selector,旧后台回滚覆盖较新的手动选择,以及允许全局降级时没有重新考虑健康候选的问题。
  • 修复桌面打包使用 out/** 时可能把先前 Worker 干构建留下的脚本、source map 或调试目录压入 ASAR 的问题;安装包现在只接受 out/main、out/preload、out/renderer,发布校验同时检查真实 ASAR 文件清单。

改进

  • 后台用户管理新增“自行配置”授权;只有管理员明确授权的用户,才能在专业模式显式保存订阅和规则并成为单独配置。撤销授权不会误删既有配置,重置为跟随全局也不会撤销以后再次自定义的权利。
  • 配置冲突以 D1 最后成功提交的操作为准:管理员最后重置则跟随最新全局值,获授权客户端之后再次显式保存则重新建立用户覆盖;一键连接只改变本机运行状态,不上传订阅或规则。
  • 已绑定云身份但当前配置尚未同步时,保存和启动均明确失败,不再静默形成仅本机分叉;云端订阅、规则和来源保持身份绑定,切换用户不会交叉继承。
  • 首页继续只显示简洁连接警告;导出的诊断文件保留经脱敏的目标与端口、TCP/UDP、匹配规则、进程、代理链和底层 dial 错误,超长行同时保留头尾根因。
  • 节点双站点探测全部失败时,导出诊断会额外保留 gstatic-204、cloudflare-204、Mihomo delay/provider healthcheck 路径和受控底层错误类别;首页仍只显示一句节点检测失败,同根因在短时间内合并计数。
  • 更新失败重开后首页会给出一次简洁、可操作的提示;更新前正在运行的代理仅在成功或安全恢复后按原意图恢复,原本停止的状态不会被擅自启动。
完整更新日志
v1.7.6

版本 1.7.6

修复

  • 修复后台显示用户“跟随全局”,但客户端专业模式仍展示并保存另一套本机规则、后台又无法得知本地改动的问题。
  • 修复客户端页面显示本机规则、Mihomo 实际优先使用云端规则造成的可见状态与真实运行状态不一致。
  • 修复后台将真实已登记用户重置为跟随全局时,特定数据库返回形态可能误报“unknown user”的问题。

改进

  • 专业模式保存订阅或规则时,客户端通过当前设备签名写入云端;成功后该用户立即成为单独配置,后台用户管理同步显示真实归属。
  • 后台改回跟随全局后,客户端在下一次自动或手动同步时采用最新全局值;客户端之后再次保存则作为更晚操作重新建立单独配置。
  • 设置页在订阅标签中直接显示“跟随全局”“单独配置”或“仅本机”,并保持专业模式的可编辑能力;上传失败时不提前落盘冲突值。
  • 云端响应新增 configSource,后台、客户端快照与 Mihomo 运行时使用同一个有效配置来源。
完整更新日志
v1.7.4

版本 1.7.4

修复

  • 修复更新下载走 GitHub CDN 直连时,连接持续有少量数据但速度极低,因没有抛出普通网络错误而无法切换到已经可用的本地代理的问题。
  • 自动换路只在直连首次尝试、本地代理已经可用且线路持续停滞或预计剩余时间异常长时触发;代理线路和第二次有界尝试不会被低速检测反复取消。

改进

  • 小白模式和专业模式复用现有更新组件显示“线路不稳定,已自动切换重试”,同时保留进度、已传输字节和速度,不增加额外设置项。
  • 更新网络日志记录脱敏后的目标线路和有限错误代码;证书、HTTP、签名与完整性错误继续直接失败,不被换路掩盖。
  • 新增 GitHub CDN 2 MB 有界预检与统一远端发布校验器。发布校验通过当前已验证路由执行低速中止、重试和断点续传,并核对精确 11 个资产、三个 latest*.yml、远端大小、完整 SHA256 清单及本地/远端清单一致性。
  • 根目录项目规则明确禁止无依据清空代理变量、写死代理端口、用临时直连或可能泄露凭据的进程命令行替代受控发布流程。
完整更新日志
v1.7.3

版本 1.7.3

新增

  • 自动模式默认优先日本节点,并在同一地区内按双站点探测健康度与延迟排序;选中后通过当前代理出口校验实际地区。
  • 后台全局配置和逐用户客户端配置新增优先地区与不可用处理,可选择日本、香港、台湾、新加坡、美国、韩国或最低延迟,并支持自动跨区回退或严格地区。
  • 日本节点均不可用且允许回退时,客户端继续选择其他健康节点,并通过界面或系统通知说明回退地区。

改进

  • 小白模式启动、专业模式切回自动、运行启动、健康恢复和订阅更新统一使用同一套地区选点策略;专业模式手动节点保持原有控制权。
  • 既有数据库与旧客户端缓存自动得到“日本优先 + 自动切换”默认策略,用户升级后无需清理设置。
完整更新日志
v1.7.2

版本 1.7.2

修复

  • 修复已安装的 1.7.0 下载更新后,点击“安装”只退出主程序、未完成静默安装的问题。新的受控提权启动器会将短时、用户与 Windows 会话绑定的安装交接显式传给安装器;旧客户端无法传递该参数时,安装器只会在当前用户的规范 LocalAppData\Temp 中恢复一份通过所有身份、会话、目标程序、时效与文件所有者校验的交接记录。
  • 将公开更新元数据中的 isAdminRightsRequired 固定为 true 并加入发布校验,使旧版 electron-updater 使用确定的提权路径;用户取消授权、启动器早退或交接失败时不会把失败误报为成功。
  • 补齐生产 NSIS 模板所需的 FileFunc.nsh 引入,并以真实 electron-builder 编译覆盖命令行交接解析,避免仅在隔离夹具可用、正式安装器无法编译的差异。
  • 为 Codex 到 OpenAI 边缘的长 TCP 连接增加规则感知 DoH、TCP keep-alive 与精确的无响应连接恢复。恢复只删除满足进程、域名、协议、流量与时长条件的一条连接,随后刷新 DNS 缓存;不切换节点、不改变手动/自动选择,也不影响其他应用流量。

改进

  • 更新旋转提示移到操作按钮紧左侧;手动检查在 IPC 往返完成前就立即显示检查动画。
  • 后台用户管理不再展示冗长随机用户 ID;定向通知编辑器移除重复的启用/停用控件,仅保留级别与持续时间,并收紧资料、设备与操作区的对齐和留白。
完整更新日志
v1.7.1

版本 1.7.1

新增

  • 定向通知改为独立透明桌面窗口。标准版与无桌宠版使用主显示器工作区右下位置;桌宠在底边时通知显示在上方,在左右边时显示在屏幕内侧,并根据实际桌宠位置和工作区边界持续重新布局。
  • 用户列表新增最近上报的客户端版本与上报时间。1.7.1 起内部通道和无桌宠构建分别报告为 -IN 与 -NO,便于区分手动安装的 Team Build;该字段仍只是最近认证请求的记录,不表示实时在线。
  • 后台通知改为持续时间模型:默认 10 分钟、最小 5 分钟、5 分钟步进、最长 7 天。Worker 使用服务器时钟生成到期时间,并记录通知保存审计以支持安全重试。

改进

  • 远程配置保持每 3 分钟常规拉取;主窗口恢复/聚焦、托盘重新打开主窗口和网络恢复时额外立即同步,12 秒内合并重复触发。通知和用户资料因此可更快出现,但不宣称为服务端实时推送。
  • 后台用户资料编辑收紧为对齐的输入与保存行,通知编辑使用紧凑的持续时间步进器;每次新的保存请求明确重新计时,重复使用同一请求 ID 则返回原结果。
  • 通知卡片补齐真实小窗口的尺寸约束、非拖拽交互和确认按钮布局,长文本可在卡片内滚动;当前设备确认后仅隐藏该设备的当前修订,新修订仍可再送达。
  • README、项目主页、Worker 接口说明和安全演示截图更新到 1.7.1;不将手动私有安装误写为自动更新验证。

后台与兼容

  • /api/config 在设备认证后记录随请求签名的 appVersion 并刷新设备心跳;流量上报和激活流程同样保留版本,后台择最近有版本的设备记录展示。
  • 旧的通知绝对到期字段不再接受写入。通知审计表随用户合并迁移当前有效通知的持续时间;生产部署前必须先应用新增 D1 迁移。
完整更新日志
v1.7.0

版本 1.7.0

修复

  • 修复应用已下载一个更新后停止继续检查、远端随后发布更高版本时必须重启应用才能发现的问题;“已下载”状态继续参与周期检查,同版或更旧版本保留原包,更高版本会替换下载目标。
  • 修复点击“安装”可能直接交接已经落后的安装包的问题;安装前会先检查远端版本,只在已下载版本仍是最新时继续,发现新版或检查失败时阻止旧包安装并保留可恢复状态。
  • 修复更新检查在启动早期固定使用空代理地址、Mihomo 稍后就绪后仍无法切换本地代理的问题;每次路由选择都会重新读取当前运行时代理,并在可恢复传输故障时按本地代理与直连路径有界回退。
  • 修复自动更新检查的每次中间重试都进入诊断、#< CLIXML 声明占用日志,以及规则集标签被误显示为失败站点的问题;自动中间重试保持安静,用户主动检查最终失败只记录一次,连接警告优先显示实际目标。
  • 修复 Windows 计划任务因普通用户权限无法写入时,每次启动都重复记录同步失败的问题;受管兼容任务可继续沿用,用户主动启用可回退到当前用户登录启动项,高权限或不受管任务仍不会被接管。

改进

  • 小白模式右下角与专业模式设置页的检查、下载、安装旋转指示统一移到整个更新组件左侧,不再放入按钮;动画继续尊重系统“减少动态效果”设置。
  • 设置页“检查”改用与“保存”相同的主按钮样式;专业模式首页右上运行状态增加语义边框,运行中、失败和停止分别使用成功、危险和中性色。

后台管理

  • 流量后台新增用户名编辑。修改以稳定用户 ID 为主体,使用 requestId 保证幂等并记录审计;旧名称与新名称都映射到同一用户,已属于其他用户的名称会被拒绝。
  • 签名远程配置新增权威用户资料。客户端仅在远端用户 ID 与当前已验证身份一致时更新本地显示名,不改变设备 ID、流量归属、订阅或 Mihomo 运行状态。
  • 后台新增逐用户纯文本通知,支持提示/警告、启停、到期、设备确认和按修订重发。消息中的 HTML 标签只会原样显示,不支持链接字段、命令或富内容,清除后停止下发,不能用于远程执行客户端操作。
  • 用户合并同步处理名称别名、通知与设备确认;目标已有通知时保持目标版本,目标为空时迁移来源通知,避免旧确认错误抑制目标消息。

更新兼容

  • 将 1.6.8 及更早客户端的一次性静默更新桥唯一目标迁移到 1.7.0;源版本上限仍为 1.6.8,产品身份、发布者、安装路径、停止状态与 --updated 入口校验保持不变。
  • 1.6.9 及以后版本、普通新装、运行中目标、部分交接和无效交接仍不能使用旧桥,必须走绑定 Windows 用户、会话、目标进程和短时 nonce 的认证交接。
  • Team Build 的私有订阅继续只存在于本机 team-builds/ 交付包和用户设置中;内部通道公开更新包保持空内置订阅,不清空已保存设置,也不会在用户主动重置应用数据后重新提供私有默认值。

验证门禁

  • 更新协调器须覆盖已下载版本刷新、1.6.9 到更新版本的切换、同版保留、自动失败静默、用户失败单次记录、周期刷新与安装前新鲜度门;更新网络须覆盖动态代理、直连回退和不可降级的安全错误。
  • 诊断、计划任务、更新组件、按钮层级、状态边框、管理员改名、名称别名、客户端资料同步、通知下发/确认/修订/到期/清除、用户合并和 1.6.8 更新桥均须具备回归覆盖。
  • 生产 Worker 上线前须对 D1 依次执行远端 check、dry-run、显式 apply 和再次 check,数据库复核通过后才可部署并验证管理端与签名客户端接口。
  • 桌面端发布须完成仓库卫生、Mihomo 固定分发、桌面端与 Worker 测试及类型检查、lint、Prettier、生产构建、Windows 私有三包与公开三通道打包、订阅反向校验、安装器冒烟、11 项公开资产、GitHub Actions 和远端 latest*.yml 哈希复核。
完整更新日志
v1.6.10

版本 1.6.10

修复

  • 修复 1.6.9 在中文 Windows 上读取缺失的 ProxyServer、ProxyOverride 时,将 reg.exe 本地码页错误输出按 UTF-8 解码成乱码并误判为致命错误的问题;现在通过完整注册表项的结构化结果判断可选值是否存在,真实访问拒绝仍会严格传播。
  • 修复代理启用失败后 Mihomo 被回滚停止、自动修复再次删除可选代理值并触发同一错误的循环;正常停止或回滚产生的 SIGTERM 不再记录为 “mihomo exited after ready”。
  • 修复高权限修复将裸 powershell.exe 解析到 YouYu 安装目录、导致提升助手启动失败却误报“需要管理员权限”的问题;系统 PowerShell 绑定到可信绝对路径,提升助手提前退出会报告真实退出状态。
  • 修复完整修复已安全停止核心、但后续 WinHTTP、DNS 或缓存清理失败时不再恢复运行的问题;只要关键代理禁用阶段成功,就会按仍有效的用户意图重新启动,恢复失败时聚合保留全部原因。
  • 修复小白模式左下七击专业模式入口被错误卡遮挡的问题;错误与更新提示改为右下统一通知栈,隐藏入口移出顺序焦点,错误、更新状态补齐原子化读屏语义。
  • 专业模式诊断不再直接展示原始 reg.exe 命令和无法解码的乱码,改为清晰的系统代理错误摘要;完整脱敏信息继续保留在诊断导出中。

更新兼容

  • 将仅面向旧客户端的一次性静默更新桥精确迁移到 1.6.10,使仍停留在 1.6.8 及更早版本的客户端可以跳过故障版本直接更新;源版本上限保持 1.6.8,1.6.9 及以后版本仍必须使用认证交接。
  • 兼容桥继续只接受 --updated、完整缺失的交接环境、已停止且产品身份与版本均通过验证的目标;部分交接、无效交接、运行中目标和普通新装保持拒绝。
完整更新日志
v1.6.9

版本 1.6.9

修复

  • 彻底统一渲染器与表单控件的系统字体、字重、字号和行高,修复专业模式首页“运行中”以及节点页“全部测速”“测速”、测试页“测全部”“重测”等含“测”操作的字形基线偏移;按钮文字使用一致的 inline-flex 居中契约,不再依赖单字形补丁。
  • 修复专业模式左下角版本号因组件宽度不足出现省略号的问题;完整版本号保持可见,版本组件与侧栏左边、底边继续使用同一外侧间距。
  • 设置页“规则来源”和“后台刷新”改用与应用一致的自定义选择器,并补齐键盘、焦点和 ARIA 语义;“同步”“修复”“导出”“检查”补齐悬停反馈,修复与检查分别使用低风险红色和次级紫色层级。
  • 小白模式与专业模式点击“安装更新”后立即显示轻量旋转进度标识和静默覆盖安装提示;状态在渲染器提交与主进程快照之间也保持连续,并尊重减少动态效果的系统偏好。
  • 修复并发测速、节点切换、订阅刷新、启动/停止/修复和更新检查之间的旧结果回写、重复执行与取消竞态;停止操作会真正中止仍在运行的子任务,过期操作不能覆盖较新的用户意图。
  • 修复桌宠位置保存、窗口恢复、桌宠创建/贴边和退出清理等异步后台入口未接住 Promise 拒绝的问题,降低临时磁盘、权限、杀毒软件或窗口加载失败造成主进程异常退出的风险。

改进

  • 将主进程运行意图、节点健康、订阅刷新、更新流程和“最新操作”分别收敛到专用协调器;减少重复轮询、无效状态广播和跨功能相互覆盖,并让重试、恢复与关闭顺序可测试。
  • 拆分渲染器页面动作、生命周期 hooks 与样式模块,保留共用页面头、面板和设计变量;首页、节点、测试、桌宠与设置页不再依赖单文件中的大范围偶然级联。
  • Mihomo 完整订阅只保留代理、代理提供者、代理组、规则、规则提供者与子规则等客户端路由能力;本地监听端口、控制器、DNS、TUN、嗅探、隧道和 TLS 等运行时边界始终由 YouYu 管理。
  • 为 HTTP proxy provider、rule provider 和健康检查组增加下载大小、刷新频率、探测间隔与超时上限;异常首尾空格代理名不会成为失效直连目标,而会选择下一可用节点或回退到受管 provider。
  • 强化流量采集、待上报检查点、幂等重试、节点统计和配置存储的原子性与有界保留;Worker 增加持久化上报去重、过期清理、结构化脱敏遥测和管理页资源拆分。
  • 仓库校验同时覆盖已跟踪与未忽略的未跟踪文件,阻止 .env、私钥、私有订阅和意外构建产物进入提交;补齐换行规则、忽略规则、Mihomo 固定分发校验和独立构建脚本。

安全

  • Windows 更新安装改用带随机 nonce、目标用户 SID、会话、进程与过期时间的认证交接;安装器只等待精确安装路径的进程且不再跨用户强制结束进程,交接仅在文件写入完成后原子消费。
  • 为已发布但尚未生成认证交接的 1.6.8 及更早客户端提供仅限 1.6.9 安装器的一次性兼容桥:只接受 --updated 静默更新、完整缺失的交接环境、已停止且身份与版本受验证的目标;部分或无效交接、运行中目标及 1.6.9+ 源版本全部拒绝降级。
  • Windows 开机任务绑定当前标准用户 SID,并严格校验唯一主体、登录触发器、精确可执行路径和 --hidden 参数;卸载只删除重新读取后仍符合所有权契约的 YouYu 任务,更新卸载阶段不误删。
  • 加固高权限子进程、命名管道、Windows Job Object、系统代理所有权恢复、IPC 参数 schema、渲染器导航和 CSP 边界,避免跨用户控制、句柄继承、任意导航和订阅配置扩大本地权限面。
  • Worker 管理令牌先做常量时间验证,合法令牌不再访问失败限流存储,历史失败也不能锁死合法管理员;所有 JSON 写入均实施媒体类型、长度和精确 schema 限制。
  • Windows 发布新增正式 Authenticode 身份门禁、打包后签名/来源复核和 SHA256SUMS.txt;公开 Release 固定为 11 个资产,清单恰好覆盖其余 10 个文件。没有生产证书时构建保持诚实的未签名状态,不使用自签名证书冒充正式发布者。
完整更新日志
v1.6.8

版本 1.6.8

修复

  • 修复渲染器同时使用系统字体、等宽字体和多档非标准字重,导致中文、英文、数字及“测”相关文字基线不稳的问题;界面统一使用 system-ui, sans-serif,表单控件继承同一字体,字重收敛为系统实际支持的 700。
  • 修复专业模式首页“运行中”与同区域按钮字号、行高不一致的问题;页头操作统一为 16px 字号、20px 行高、700 字重和 112×40px 几何规格。
  • 修复测试页表头、状态、服务信息和“重测”使用 11px 小字或单位行高造成的对齐问题;小号文字统一为 12px / 16px,“重测”高度提高到 24px。

改进

  • 测试表表头与数据行共用同一八列网格,并补齐 rowgroup、columnheader 和 cell 语义;首页运行状态使用非打断式读屏播报。
  • 诊断日志、出口 IP 和耗时不再单独使用等宽字体,避免中英文混排时落入不一致的后备字形。
  • Electron 官方缓存与 Mihomo 对应源码归档支持完整哈希验证后的本机复用;缓存缺失时使用有界重试,降低发布流程被单次 GitHub 连接抖动中断的概率。

安全

  • Electron 更新至 43.2.0,纳入当前稳定版运行时的安全修复与兼容性更新。
  • 内置 Mihomo 更新至官方 v1.19.28 Windows amd64 with_gvisor 构建,并同步维护来源、版本与摘要校验信息。
完整更新日志
v1.6.7

版本 1.6.7

修复

  • 修复流量后台在排序、刷新、选择用户和令牌验证时表格或页面宽度跳动的问题;用户表改用固定九列契约,页面预留滚动条空间,令牌验证改为不参与文档流的页头浮层。
  • 修复专业模式首页“运行中”与“返回小白”几何不一致、主次操作层级不清,以及桌宠预览容器缺少统一边界的问题。

改进

  • 流量后台重构为全宽用户工作区、稳定双栏配置区、全宽流量明细和异常区域,并统一中性画布、白色面板、细边框、40px 控件、状态色与焦点态;桌面、窄屏与移动端分别使用数据表、单栏配置和紧凑用户卡片,同时保留全部字段与排序能力。
  • 令牌浮层的未提交草稿不再参与后台请求,管理页禁止边缘自动注入统计脚本;按钮加载态、按下态和选择用户不再改变组件尺寸、位置或页面滚动。
  • 节点页“全部测速”和测试页“测全部”恢复主操作层级;桌宠预览的状态卡、主预览和说明区域补齐与其他专业页面一致的 1px 细边框。
完整更新日志
v1.6.6

版本 1.6.6

修复

  • 修复专业模式各页右上操作尺寸与层级不一致的问题;节点页和设置页移除重复返回按钮,页头操作统一为 112×40px、16px 字号和一致的悬停表面。
  • 修复诊断日志长期运行时重复信息挤占关键上下文和单条异常无限膨胀的问题;日志限制为 200 个逻辑条目,同类信息在两分钟内合并计数,单条异常限制为 4096 字符。

改进

  • 流量后台重构用户工作台、详情上下文、全局配置、流量和异常视图;新增带预览与确认的用户合并流程,并在同一事务中迁移设备、流量、异常和配置。
  • 客户端使用注册表中持久化的随机设备标识复用逻辑设备,不采集硬件指纹;用户合并、流量上报和配置保存增加并发与幂等保护。
  • 规则配置收敛为“智能规则”和“机场规则”,旧“本地规则”和“全局代理”迁移为“智能规则”,同时保留旧客户端协议解析兼容性。
完整更新日志
v1.6.5

版本 1.6.5

修复

  • 修复 Steam 商店、Steam 联机与 Steam 云同步同时探测时,弱节点偶发 TLS 握手超时被过度放大的问题;三项 Steam 检查改为串行,商店改用轻量探测页,仅对 DNS、TCP、TLS 等瞬时故障重试一次,并区分解析、连接、握手与证书失败。
  • 修复节点全部测速期间所有节点主按钮被禁用的问题;测速中仍可切换节点,单节点测速和订阅更新仍保持禁用,且旧测速快照不会覆盖新选择。
  • 修复测试页“测全部”启动后无法停止的问题;运行中按钮切换为“停止”,会取消当前 curl 进程并阻止后续项目启动。
  • 修复专业模式首页“运行数据”与“诊断”标题纵向基线不一致,以及首页、节点、测试、设置页右上操作区高度和顶部边界不一致的问题。
  • 修复点击静默安装后更新卡立即消失、窗口紧接着退出,用户无法确认安装是否已开始的问题;现在会显示无需操作的自动安装提示,保留 2 秒后再启动安装器,交接失败时恢复可重试按钮。

改进

  • Steam 域名使用跟随当前分流规则的 Cloudflare / Google DoH 策略,DNS 缓存切换为 ARC;节点确认切换后先关闭旧连接,再刷新 Mihomo DNS 缓存。
  • 借鉴 SteamCommunity 302 的域名定向、轻量健康检查与分阶段诊断思路,但不引入根证书、Hosts 劫持、80/443 端口占用或 WinDivert,避免与 YouYu 现有 Mihomo 架构和安全边界冲突。
  • 新增共享 WorkspaceHeader 与 DashboardPanel 结构,统一页头 40px 操作轨、12px 内容间距和首页面板标题节奏,按钮宽度仍按各自文案与用途保留差异。
完整更新日志
v1.6.4

版本 1.6.4

修复

  • 修复 Windows 任务计划程序在导出的任务 XML 中省略默认 RunLevel、任务 Enabled 或 Settings 容器时,被客户端误判为旧任务并尝试覆盖写入,最终显示“同步开机自启失败:无法写入 Windows 计划任务”的问题。符合应用路径、--hidden 参数、登录触发器和普通交互用户边界的现有任务现在直接沿用。
  • 修复专业模式设置页虽然视觉间距接近,但仍由“订阅 + 三行设置 + 两行页脚”三套嵌套布局控制,形成明显的 2+4 分组感和不连续行节奏的问题;六行现在由同一父网格和同一组列线控制。

改进

  • 专业模式左下角版本号改为连续点击 7 次才进入重新登记,且不再暴露悬停、按压或“重新登记”无障碍文案;版本号保持普通版本信息语义。
  • 版本号使用侧栏宽度、分隔线、组件宽度和内边距共同计算底部留白,使其外侧左距与下距在默认及宽窗口下精确一致。
  • 设置页统一为六个 64px 父轨道、五处 8px 间距和一套三列网格;输入框、状态条及按钮保留原有尺寸并在各自轨道内底对齐。
  • 开机任务复用检查继续拒绝高权限运行级别、服务账户、管理员组、内置管理员、非交互登录和显式附加权限,避免放宽 Windows 默认字段兼容时越过普通用户安全边界。
完整更新日志
v1.6.3

版本 1.6.3

修复

  • 修复设置页六行组件被上下两组布局和弹性留白分隔、实际间距在 8px 至 28px 之间跳变的问题;订阅、规则、后台刷新、TUN、诊断日志和软件更新现在统一使用 16px 垂直间距,同时保留原有行高、列宽和控件尺寸。
  • 修复测试页单独覆盖页面宽度、标题轨道和内容间距,导致切换页面时“测试”标题与下方组件向上跳动的问题;测试页现在与其他专业模式页面共用相同的页头和内容起点。
  • 修复右睡状态整体镜像时三个 Z 字形也被左右翻转的问题;右睡仍沿用已经校正的位置、方向和动画轨迹,只在字符内部抵消镜像,使每个字形保持正常朝向。

改进

  • 从连通性测试中移除 GitHub 目标,测试总数由 16 项调整为 15 项;GitHub 自动更新与安装包下载能力不受影响。
  • 首页综合状态继续使用既有成功率规则:低于 60% 为“不良”、60% 至低于 85% 为“一般”、85% 及以上为“优秀”。对应 15 项结果分别为 0~8 项、9~12 项和 13~15 项可用。
  • 节点健康缓存版本升级,更新后不再读取旧版当日 16 项测试缓存,避免首页在首次完成 15 项测试前沿用旧口径。
完整更新日志
v1.6.2

版本 1.6.2

修复

  • 修复设置页“诊断日志”和“软件更新”默认行高不一致,以及“导出”和“检查”使用单独小号轻字、背景不一致的问题;两行现在共享 54px 行高、46px 按钮高度、18px 字号、700 字重和次级按钮表面。
  • 修复应用内更新仍打开交互式安装向导的问题;下载完成后由同一更新入口静默安装,并在成功后强制启动新版本。Windows 按计算机安装所需的系统授权仍由系统安全提示负责。
  • 修复桌宠虽然设置 skipTaskbar,但仍是普通无 owner 顶层窗口,导致资源管理器或任务栏重建后偶发出现独立预览框的问题;桌宠现在同时使用工具窗口、不可激活和重复任务栏排除策略。
  • 修复桌宠覆盖同屏全屏视频或游戏的问题;只检测桌宠所在物理显示器的真正全屏顶层窗口,进入时立即隐藏并停止鼠标交互,异屏不受影响,退出后双采样稳定恢复。
  • 修复右睡 ZZZ 在父级镜像后又进行一次反向补偿,导致轨迹不符合左右自然镜像的问题。

改进

  • 全屏探测采用构建期生成的 7.5KB x64 本地辅助程序,运行副本使用内容哈希命名并在启动前校验完整性;它会忽略桌面、任务栏、最小化、DWM 隐藏、子窗口和工具窗口,失败时保持用户原本的桌宠显示意图并使用退避重试。
  • 将用户主动显示/隐藏桌宠与全屏临时抑制拆分,避免退出全屏时错误恢复用户已经主动隐藏的桌宠。
完整更新日志
v1.6.1

版本 1.6.1

修复

  • 修复后台已有姓名无法再次登记并稳定返回 409 registration conflict 的问题;输入已有姓名会复用该用户的云端配置、累计用量和当日用量,同一安装环境重复登记保持原设备标识。
  • 修复切换用户时旧用户的待上报流量、本地累计、今日用量和节点统计可能延续到新用户的问题;现在切换前必须结清旧用户,切换后清空身份相关本地数据并以目标用户云端累计量和当日用量重新建立基线。
  • 修复重新登记遇到临时网络错误时会用待验证身份覆盖当前有效用户的问题;云端激活前失败完整保留原用户,新身份与云端累计/当日双基线使用单次原子本地写入,激活成功后的代理收尾、配置同步或重启异常不再伪装成切换失败,而是保留新身份并写入诊断。
  • 修复专业模式左侧当前页面在悬停时被普通浅色 hover 覆盖、出现严重泛白和白字低对比的问题;选中项悬停现在保持品牌紫并轻微加深。
  • 修复设置页底部“导出”和“检查”字号、字重不一致的问题;两个动作统一为 16px 低字重规格。
  • 修复诊断行与软件更新行左侧文字相差 2px、更新行 64px 视觉偏重的问题;更新行默认收紧为 54px,并与诊断行保持同列线和 8px 节奏级差。

改进

  • 专业模式左下角版本号改为隐藏的“重新登记”入口;进入后只显示居中的登记界面,可取消返回,成功后切换当前用户。
  • Worker 激活响应直接返回目标用户的云端累计量和北京时间当日用量;客户端立即采用该结果,并只叠加基线之后尚未确认的本地增量。
  • 私有手动分发目录由 local-subscription-builds/<version>/ 简化为扁平 team-builds/;每次本地三包构建成功后自动整体刷新,只保留当前版本的 -in、-no 两个 EXE。
  • 手动分发目录不再保留 .blockmap。该文件仅供 electron-updater 差分下载使用,公开更新资产与 release-archive/ 仍按原规则保留。
  • 仓库卫生校验同时拒绝新的 team-builds/ 和遗留私有目录,即使绕过 .gitignore 也不能提交私有安装包。
完整更新日志
v1.6.0

版本 1.6.0

修复

  • 修复专业模式设置页加入诊断导出后行列节奏断裂、按钮权重过重和状态内容挤压的问题;诊断工具现在使用独立整行,三行主设置与右侧动作保持统一间距和边缘。
  • 修复后台登记、远程配置同步和流量上报在 Mihomo 已运行时始终复用本地代理,导致本地代理本身异常时无法尝试可用直连的问题。
  • 修复 Node/Electron 网络错误只显示 fetch failed、丢失嵌套 DNS 或连接错误码的问题;诊断日志现在保留脱敏后的错误类型,便于区分 DNS、超时和拒绝连接。
  • 修复更新保底只覆盖 latest*.yml、安装包或 .blockmap 下载失败后不会换路的问题;元数据检查和安装包下载现在分别执行连接保底。

改进

  • 诊断栏统一容纳常见问题提示、当前会话日志条数和低权重“导出”动作;在 900×600 下覆盖无异常、长错误、0/200 条日志、导出中和更新下载状态,页面不产生滚动或错位。
  • 诊断日志保存对话框默认打开用户“下载”文件夹,仍允许用户自行改名或选择其他位置。
  • 后台通信使用不继承系统代理的应用内独立会话:先直连 Cloudflare Worker,只有可恢复的传输故障或临时网关故障才尝试正在运行的本地 Mihomo;鉴权、限流、无效响应和用户取消不会换路。
  • Cloudflare Worker 增加由 Cloudflare 托管 DNS 与证书的 youyu-api.fishknowsss.com 生产自定义域名,客户端不再把 workers.dev 作为唯一后台入口。
  • 直连与本地代理共用一次总超时预算,并为第二条线路预留时间;重试复用同一请求体、报告 ID、设备种子和签名,最终诊断只记录两条线路的脱敏结果。
  • 启用 Electron 内置解析器、Happy Eyeballs 和 secure DNS,并配置 DNSPod、阿里云与 Cloudflare 四个 DoH 入口;解析保底只作用于 YouYu,不修改 Windows DNS 或 Hosts,也不接受被污染的系统解析结果。
  • 自动更新改用 GitHub releases/latest/download 的稳定通道入口,标准版、内部通道版和无桌宠版仍分别读取 latest.yml、latest-in.yml 和 latest-no.yml。检查和后台下载都先直连,连接失败时刷新应用内 DNS,并在本地 Mihomo 可用时换路重试。
  • 诊断状态和软件更新状态增加常驻读屏播报区域;禁用按钮不再出现可点击的悬停反馈。

安全与边界

  • 不写入固定 GitHub 或 Cloudflare IP,不修改系统 Hosts,不关闭 TLS 证书校验,也不执行系统级 DNS 重置。
  • 生产自定义域名与旧 workers.dev 入口指向同一 Cloudflare Worker,并非跨服务商镜像;新的保底不能绕过域名、SNI 或整个 Cloudflare 网络被完全封锁的情况。
  • 本地交付继续只留存带私有订阅的 -in、-no 双包;公开三个更新通道全部使用空内置订阅构建。
完整更新日志
v1.5.11

版本 1.5.11

修复

  • 修复托盘“网络修复”子菜单同时提供“重启内核并重启软件”和“重型网络修复”、操作边界不清晰的问题;现在合并为单一“网络修复”入口。
  • 修复专业模式设置页在运行状态异常但仍保留有效运行意图时无法恢复 Mihomo 的问题;修复完成后会按修复前的运行意图决定是否启动新内核。
  • 修复 Windows 原生网络命令失败时可能未被识别,以及 Microsoft Store 回环豁免未在写入后复核的问题。
  • 修复设置页修复状态与使用登记状态中的圆环动画计时正常、画面却保持静止的问题。
  • 修复设置页的“已同步”“已保存”“已修复”等成功状态进入首页诊断区域的问题;这些提示现在只在设置页短暂显示。

改进

  • 将网络修复拆为安全阶段:先关闭并回读确认 WinINet 代理,再停止 Mihomo,随后清理代理字符串、WinHTTP 代理、DNS 缓存和 Mihomo 易失缓存,并修复 Microsoft Store 回环豁免。
  • 托盘“网络修复”完成清理后不会在旧进程中间启动一次内核,而是直接退出并重启 YouYu,再由新进程启动使用新端口的 Mihomo。
  • 专业模式设置页“修复”不会重启 YouYu;原本运行时会使用新端口重启 Mihomo,原本停止时保持停止,异常状态下仍有有效运行意图时可以恢复运行。
  • 修复期间暂停可能重新拉起内核或改写状态的后台任务,并对系统代理启用结果增加回读确认。
  • 不执行 Winsock、TCP/IP 或 DHCP 重置,避免破坏 VPN、虚拟网卡和静态 IP 配置,也避免引入必须重启 Windows 的修复步骤。
  • 专业模式设置页新增当前会话诊断日志条数和“导出”按钮,可生成经过脱敏的 UTF-8 文本,便于排查疑难与罕见问题。
  • 诊断导出最多包含当前会话 200 条记录,采用字段白名单并对日志文本脱敏,不写入完整订阅、凭据等敏感设置。
  • 设置页诊断行会根据 lastError 以红色显示“常见问题类型 · 建议操作”,并在修复前为系统代理、DNS、内核、网络连接或订阅问题执行对应的低风险预处理。
  • 针对性预处理的单项失败会记录诊断并继续确定性的完整安全修复链;不会按错误关键词增加 Winsock、TCP/IP、DHCP 等高风险分支,成功修复后清除旧错误提示。
  • 本地交付只把带私有订阅的 -in、-no 安装包及对应 .blockmap 留存在 local-subscription-builds/<version>/;公开三个更新通道仍全部使用空内置订阅构建,私有双包不上传。
完整更新日志
v1.5.10

版本 1.5.10

修复

  • 修复完整订阅中的 proxy-groups[*].url 和 proxy-providers.*.health-check.url 可能保留常见 HTTP 204 探测地址,导致 Mihomo 统一延迟测速出现第二次请求超时与诊断警告的问题。
  • 修复在线订阅与缓存回退生成路径行为不一致的隐患;两条路径现在都会在写入运行时配置前完成相同规范化。

改进

  • 将 http://www.gstatic.com/generate_204 转换为对应 HTTPS 地址,将 http://1.1.1.1/generate_204 转换为 Cloudflare HTTPS 204 地址。
  • 对规范化后的订阅健康检查及 YouYu 自建健康检查统一要求返回 204,避免异常页面被误判为节点可用。
  • 仅处理健康检查字段中的已知明文地址,保留 provider 订阅下载地址和自定义 HTTPS 健康检查配置。
完整更新日志
v1.5.9

版本 1.5.9

安全

  • 净化 Git 历史中的 Wrangler 本地状态、历史内部安装包、构建缓存和 Python 字节码,避免本地数据库、内部构建内容与生成文件继续通过旧提交传播。
  • 增加仓库卫生校验,CI 会阻止 .wrangler、本地订阅、发布产物、缓存、临时环境文件和常见凭据形态进入仓库。
  • 覆盖安装只处理当前安装目录对应的 YouYu 进程,并在强制关闭前验证和恢复由 YouYu 实际接管的系统代理,降低误关其他安装与残留无效代理的风险。
  • 公开标准版、内部更新通道版和无桌宠通道版统一使用空内置订阅构建;私有订阅只允许存在于本地忽略文件和本地交付产物中。

修复

  • 修复停止代理后,旧的健康检查、后台刷新或恢复任务可能重新拉起 Mihomo 的竞态。
  • 修复退出、重启、更新安装和异常清理之间的状态交接,确保清理失败时可以恢复运行,安装器启动失败时保留已下载更新供重试。
  • 修复用户或设备身份切换时,流量队列、远程配置缓存和远程订阅可能沿用旧身份的问题。
  • 修复设备失效后远程订阅未及时清除的问题;失效设备现在会停止代理并清理对应远程状态。
  • 修复 Mihomo 进程退出状态未完整传递、关闭过程中重复操作,以及启动任务校验不足的问题。
  • 修复系统代理所有权判断与恢复边界,避免清理并非由 YouYu 设置的代理。
  • 修复流量持久化、上报确认、重试与运行时身份切换中的一致性问题。
  • 修复 Worker 激活与登记流程的并发幂等、限流原子性和失败回滚问题。

改进

  • 将运行意图、应用重启、启动任务、远程订阅、流量登记和身份交接拆分为职责清晰的模块,并补齐跨模块测试。
  • Worker 对 JSON 请求体、配置条目数量与长度设置明确上限,已识别但无效的配置字段会被拒绝,而不是静默忽略。
  • 新增可审计的 D1 迁移工具,支持远端/本地 check、dry-run 和显式 apply,写入前校验核心表、列、主键、唯一约束和索引。
  • 统一 Windows 构建模式与三通道发布编排,降低标准版、内部更新通道版和无桌宠通道版互相污染的风险。
  • 扩充 GitHub Actions 发布门禁,加入仓库卫生、Worker、版本标签和公开包订阅校验。
  • 完善 README、发布流程、安全策略、历史净化记录和版本发布说明。
完整更新日志