Skip to content

SysPulse v0.1.9

Choose a tag to compare

@Rabbit-Spec Rabbit-Spec released this 10 Nov 13:04
· 7 commits to main since this release

本版本将 PS Portal 串流画质增强 彻底重构为纯原生 Mach-O BPF 引擎,不再依赖 Python 或 Xcode Command Line Tools,并修复了校验和字节序与重复索要管理员密码的问题。

✨ 核心更新

  • PS Portal 原生 C BPF 引擎(免 Python / 免 Xcode CLT)

    • 内置原生编译的 portal_engine 二进制,移除运行时对 /usr/bin/python3 及 xcode-select 的依赖;局域网设备扫描同步改为原生并发 ping + 系统 arp 表读取。
    • 中继阶段通过用户态 BPF 双向转发 Portal ↔ PS5 流量,并临时关闭内核 IPCTL_SENDREDIRECTS 与 IPCTL_FORWARDING;结束或中断时自动复原系统网络参数并发送 5 次反向 ARP 帧恢复点对点直连。
    • 新增 --stop 与 --check-privilege 控制参数,支持停止监听时优雅恢复路由并退出后台特权进程。
  • 协议注入准确性与协商状态判定升级

    • 修复修改 LaunchSpec 握手包后重算 UDP / IPv4 校验和缺少 htons() 字节序转换的问题。
    • 引入 PS5 回包 Protobuf 状态解析,跟踪 BANG(Key Accepted)、串流启动及连续 3 次高码率质量回报(对应 65 / 100 / 200 Mbps 目标阈值),并区分确认成功、未达 3 次确认阈值(UNCONFIRMED)与未捕获握手(NOT APPLIED)。
    • 支持对重复握手序列去重记录与 120 秒单调时钟协商倒计时,避免旧会话误判。

🐛 问题修复

  • 修复每次启动画质增强都需要重复输入管理员密码
    • 此前写入 /etc/sudoers.d/syspulse_portal 的通配规则不符合 sudoers 绝对路径语法,导致免密通道未生效。
    • 现由 portal_engine --install-sudoers 在提权时对可执行文件绝对路径进行合法转义,并经 /usr/sbin/visudo -cf 校验通过后原子写入 /etc/sudoers.d/syspulse_portal(0440)。重装本版本并首次授权一次后,后续启动与停止均可静默免密执行。