Skip to content

v1.4.9 — 桌面连不上可诊断 + Tailscale/内网 IPv6 放行 + 输入体验改进

Latest

Choose a tag to compare

@Gloridust Gloridust released this 28 Jul 16:05

桌面连不上,终于能查了(issue #124

有用户反馈「一直卡在桌面正在启动 / 重连中…」,但导出诊断里什么线索都没有。查下来发现是我们自己的锅:面板处理 WebSocket 连接时有三道校验(Host 白名单 / URL 解析 / 会话权限),任何一道不通过都是静默断开,不留任何日志。于是用户只看到「重连中」,我们也无从下手。

  • 三条拒绝路径全部留痕,写入对应实例日志 + 面板日志,导出诊断即可看到:
    • Host 被拒时回显实际收到的 Host / X-Forwarded-Host,并提示加 PANEL_ALLOWED_HOSTS
    • 会话失败细分为「没带 cookie / 会话过期 / 用户不存在 / 被禁用 / 无权限」——反代吞 Cookie 头是常见成因
  • 同一实例同一原因 60 秒只记一条,避免 2 秒一次的重连把日志刷爆

Tailscale / 内网 IPv6 现在能直接访问了

这两种此前会被直接 400 拒绝(实测确认):

  • Tailscale / Headscale 的 CGNAT 段 100.64.0.0/10
  • 内网 IPv6fc00::/7(ULA,含 Tailscale 的 fd7a::/48)与 fe80::/10(链路本地)—— 此前只放行 ::1,纯 IPv6 内网用户完全进不来

安全性与原有的 RFC1918 放行同理:校验的是 Host 头字面量,DNS-rebinding 攻击者的 Host 是自己的域名,匹配不上。

微信装不上时不再误导你去查网络

盘写满时 curl 以退出码 23(本地写失败)反复卡在同一字节,连进度文件都写不进去(面板显示无下载进度),此前的报错却提示「请检查网络」—— 真实案例里用户为此查了半天代理。现在下载前先 df 预检、失败后按退出码复查,直接报「磁盘空间不足」并给出清理指引。

输入体验(issue #125

  • 自动回车开关:转发输入条右侧新增 开关。关掉后只把文字填进应用输入框、不代发,方便先编辑再自己发(按钮文案随之变「填入」)。默认保持原有行为。
  • 功能键排:左侧 Fn 展开 Esc Tab 退格 Del ,这些键在 VNC 里常被浏览器吞掉,手机端更是没有。
  • 齿轮图标:旧图标路径混进了绝对指令,有两颗齿走形(右下最明显),已换成对称版本。
  • 子用户文案:「重启实例」按钮本就按权限隐藏,但提示文字没跟着改,子用户会照着找一个不存在的按钮,现改为提示联系管理员。

镜像:ghcr.io/gloridust/{woc-panel,wechat-on-cloud}:1.4.9gloridust/{woc-panel,wechat-on-cloud}:1.4.9(amd64 + arm64)。升级方式不变:面板「检查更新」一键升级,再「一键升级全部实例」。

如果你之前遇到过「桌面一直重连中」,升级后请重新复现一次并重新导出诊断包 —— 这次日志里会直接写明卡在哪一段。