Skip to content

inkScroll 0.3.4

Choose a tag to compare

@BaiFeng940 BaiFeng940 released this 19 Oct 10:47

inkScroll 0.3.4

让 NAS 功能真正可用的最后一个 bug 修掉了。

症状

0.3.3 修好联网权限后,连接能到达 NAS,但列目录依然失败。

根因:飞牛 fnOS 拒绝带请求体的 PROPFIND

用 curl 逐项对比才发现:

请求 结果
PROPFIND 不带请求体 207 + 完整文件列表 ✅
PROPFIND 带 XML 请求体 400 Bad Request ❌

而"标准写法"正是发 <propfind><prop>...</prop></propfind> ——
也就是说任何标准 WebDAV 客户端在飞牛上都列不出目录。

400 这个错误码极具误导性:看起来像"请求格式错",实际极易被误判成
地址写错、权限不足、端口不对。这个坑绕了很久。

修复

RFC 4918 §9.1 规定:PROPFIND 不带请求体等价于 allprop,是合法的。
所以改成默认发空体,仅当服务器明确回 400/415 时才回退到带体写法,
兼容那些反过来要求必须带体的严格实现。

端到端验证(真机 + 公网隧道,非局域网)

用 chmlfrp 隧道 https://8.162.5.68:64815 连家里的 NAS:

步骤 结果
列根目录 207,正确列出 /111/
图片尺寸嗅探(Range) 2559×1439
下载整张 4.7MB 图片 271ms(约 17 MB/s)
App 内导入为在线库 成功,显示「111 / 1 页」
打开阅读 图片正常渲染

至此「不在家也能看 NAS 漫画、且不装额外软件」的完整链路跑通。

飞牛用户配置要点

  1. 别用管理员账号 —— fnOS 的 WebDAV 对管理员返回 401(认证阶段就拒绝),
    请单独建一个普通账号
  2. 该账号需要有可见文件夹,否则根目录返回 404(不是权限错误,是没内容可映射)
  3. 远程访问推荐 chmlfrp / frp 之类的 TCP 隧道:
    • 端口类型选 TCP(不是 HTTP/HTTPS),这样 TLS 端到端保留
    • 本地端口填 5006(WebDAV HTTPS),不是 5666(网页端口)
    • 数据加密/压缩都关掉(TLS 已经加密;JPEG 压不动)
  4. 双层 NAT / 运营商 CGNAT 都不用管,隧道直接绕过

下载

架构 适用机型
inkscroll-0.3.4-arm64-v8a.apk 绝大多数现代手机(推荐)
inkscroll-0.3.4-armeabi-v7a.apk 较老的 32 位设备
inkscroll-0.3.4-x86_64.apk 模拟器

若装过旧版本,可能因签名不同无法覆盖安装,请先卸载。

Full Changelog: v0.3.3...v0.3.4