Releases
v0.1.13
Compare
Sorry, something went wrong.
No results found
一. 基础功能优化和 Bug 修复
智能清理进入页面自动开扫(与「软件」/「空间」体验拉齐) :点击侧边栏切入「智能清理」且当前处于待机无结果状态(.idle)时自动开始扫描;已扫描出结果、清理完成刚展示释放摘要(.cleaned)或扫出 0 项时保持原状不打断,主动点过「取消」后本次打开期间切走再切回也不再强行重扫。
清理设置新增独立开关 :在清理设置弹窗的「扫描行为」卡片中新增 「进入清理页时自动扫描」 开关(默认开启,持久化记忆),不想每次自动扫描时可随时关闭。
大幅减少白耗电与无谓画面重绘 :
主界面健康度光环改用 GPU 原生 .phaseAnimator 呼吸动效,小波形图(MiniWaveformLine、DualSparklineView)去掉轮询重绘,降低日常 CPU 刷新开销;
风扇图标在转速 rpm <= 0 静止时彻底停止转动画图(运转时按 20 FPS 旋转),头部未旋转图标与未激活模块徽章静止时不空转;
去掉空间/面板里的随机占位假进程列表,改为共享 AppIconLookupCache(NSCache)复用应用图标,减少反复查找与内存占用。
修好窗口/事件监听器泄漏与后台空转 :
「屏幕清洁遮罩」每次启动前先清理上一次的键盘监听器,避免多次开启后监听叠加;
「实时活动连接窗口」关闭或隐藏时自动停止后台刷新定时器,并接入系统休眠前统一暂停、唤醒后仅在窗口可见时恢复刷新;
菜单栏弹窗关闭时同步重置网络详情子页面导航状态。
修好卡顿、管道阻塞死锁与逻辑小 Bug :
系统诊断弹窗不再在界面渲染 body 时同步阻塞采集数据,改为打开后再异步采集,并修好 SIP 状态、tmutil 快照、system_profiler 等系统命令的管道读取顺序避免偶发卡死;
网络监控首次测速完成前显示 -- 与 测量中…(不再先亮假初始数字),物理网卡主 DNS 优先级上移,为 nettop / lsof / ping 加上单飞防重入与限频;
应用卸载增加「扫描中/卸载中」互斥防连点保护;空间分析换用线程安全取消锁(ScanCancellationBox)。
清理、OTA 自动更新与命令安全全面加固 :
系统清理 :白名单补全 Safari 容器缓存、Xcode/Archives、.cocoapods/cache、.gradle/caches,不再跳过 app 包内可清缓存,容量统计优先按磁盘实际占用计算,同时拿掉扫盘末段多余的 2.5 秒人为等待;同时加入 软链接防逃逸校验 ——遇到符号链接只删链接本身,绝不顺着软链接去统计或删外部真实目录;
OTA 应用内更新 :下载与解压目录迁至 0700 权限的用户私有缓存 ~/Library/Caches/com.rabbit.syspulse/OTAUpdate,替换安装前强制 codesign --verify --deep --strict 校验并核对 com.rabbit.syspulse 签名标识,正确管理取消下载时的 URLSession,并修好带 _Test 测试后缀版本号的新旧大小比较逻辑;
提权与构建安全 :公网 IP 接口全面升级 HTTPS,Info.plist 中 ATS 从 NSAllowsArbitraryLoads 收紧为 NSAllowsLocalNetworking;补全多处特权命令 Shell 单引号与 AppleScript 参数转义、修复 Fan Helper 管道死锁;清理源码中的本地开发机路径残留,默认打包切换为 release 模式。
二. 菜单栏动态兔子健康卡片与真实系统版本修复
菜单栏健康卡片升级「动态矢量兔子动画」 :
替换掉原来 15pt 的旋转小太阳,换成左侧全高 72×72pt 视口的原生动态矢量兔子动画(MenuBarHealthRabbitView),增大健康度展示区;
根据 4 档健康状态(很好 / 良好 / 一般 / 需要留意)切换对应光晕、双圈声呐涟漪与星芒/光球特效。
「百天开机也不乱换行」双行等宽硬件胶囊 :
右侧规格标签重构为两行等宽对齐布局:第一行显示 [芯片型号] · [逻辑核数] · [内存容量],第二行显示 [macOS 版本] · [已运行时间],搭配等宽数字(.monospacedDigit())与自适应缩放,就算连续开机 100 天以上也不会空间不够或左右错位换行。
修好系统版本读取偏差 :
统一优先读取系统 /System/Library/CoreServices/SystemVersion.plist(兜底 sysctl kern.osproductversion / kern.osversion),保留完整三段版本号与 Build 号,彻底修复菜单栏健康卡片、主界面状态总览、系统诊断弹窗、版本号栏及 --self-test 显示版本号不准或被截断的问题。
三、PS Portal 串流画质增强插件(v0.1.2 → v0.1.3)
待机也能唤醒并找出来 :Portal 放在一边待机时,Wi-Fi 会进入深度省电休眠,以前扫网经常扫不到。现在改成 两段式无线 DTIM 唤醒 :先向已记录的 PS5 / Portal IP 发 ICMP + TCP(9295/443/80)+ UDP(5353/9302)唤醒包并全网并发扫描(等待 450ms);如果待机 Portal 还没醒来入表,自动补发第 2 轮 ICMP + TCP 9295/443 唤醒包并再等 500ms(总计约 950ms 窗口),大幅提升待机状态下的检出率。
硬件号段全覆盖,同时不误认电视音响 :从以前只匹配 2 个 Portal OUI 扩展为 全量 46 个 Sony Interactive Entertainment(SIE 互动娱乐)游戏硬件号段 + 全量 142 个索尼 OUI 号段 ,结合 PlayStation DDP(UDP 9302)、设备自报主机名含 portal、历史保存 IP 四信号联合判定;同时自动排除索尼 BRAVIA 电视、回音壁/音响、Xperia 手机、相机、投影仪等非掌机设备。
特权中继目录与文件安全加固 (0.1.13_Test1 起):portal_engine 把原先放在 /tmp 下的 PID_FILE 与 STATE_FILE 迁入 root 属主的 /Library/Application Support/SysPulse/,配合 O_NOFOLLOW、lstat 属主与权限校验防止软链接顶替;运行日志改写到 ~/Library/Logs/SysPulse/psportal.log,并修复父进程日志句柄泄漏与 restoreNetworkDirect() 管道读取顺序问题。
四. 局域网 ARP 嗅探插件(v0.1.1 → v0.1.2)
内置官方 5.4 万条 IEEE OUI 厂商库 + 随机 MAC 识别 :
打包内置完整 ieee_oui.tsv(涵盖 MA-L / MA-M / MA-S 共 54,466 条权威记录),按 36 位 → 28 位 → 24 位 最长前缀精准匹配;自动识别手机/电脑开启「私有无线局域网(随机 MAC)」的情况并如实标注,彻底告别以前硬编码 OUI 表导致的大面积乱认厂商问题。
四协议设备主动自报探测 :
扫描局域网时主动通过 路由器 DNS PTR、mDNS/Bonjour、SSDP/UPnP XML、NetBIOS 四种协议询问设备真实名称与型号,自报信息优先显示;同时内置如 Shenzhen Zhangyue → iReader(掌阅电纸书,匹配书本图标)等品牌识别映射。
界面内「自定义厂商」+ 全局「厂商规则」 :
点开任意设备行的编辑框,可直接修改「设备名」与「自定义厂商」,还能勾选 「同步将所有同类厂商设备统一映射为此厂商名称」 一键生效;
点击工具栏 「厂商规则」 按钮可集中增删「原厂商关键词」或「MAC 前缀(如 d0:da:24:5)→ 目标厂商」规则,写进本地配置文件长期保留,修改或删除后列表实时刷新无需重新扫网。
列表视觉与版本号同步 :
取消编辑设备后刺眼的「自定义」小胶囊标签;
「厂商 / 接口」列文字过长时自动平滑左右往返滚动显示完整内容;
局域网 ARP 嗅探卡片与详情页版本号同步更新为 v0.1.2 ,统一规范设备 MAC 档案持久化键名。
You can’t perform that action at this time.