Skip to content

inkScroll 0.2.0 — 从 NAS 在线看漫画

Choose a tag to compare

@BaiFeng940 BaiFeng940 released this 18 Oct 12:52
· 37 commits to main since this release

inkScroll 0.2.0

本次最大的变化:可以直接连 NAS 在线看漫画了。

新功能 · 从 NAS 导入(WebDAV)

支持 飞牛 OS / 群晖 / 威联通 / Alist / Nextcloud 等所有支持 WebDAV 的服务。

  1. 在 NAS 上开启 WebDAV(飞牛 OS:设置 → 文件服务 → WebDAV,默认端口 5005,路径 /dav)
  2. App 里 导入 → 从 NAS 导入(WebDAV) → 填 http://192.168.1.10:5005/dav + 账号密码
  3. 列出目录 → 进入放图片的文件夹 → 点导入

核心设计:只列目录,不整本下载

时机 行为
导入时 只发一次 PROPFIND,不下载任何图片,第一页立即可见
翻页时 拉当前页 + 后台预取前后各 2 页
缓存 拉下来的页落盘,第二次看就是本地文件,断网也能看已缓存的
嗅探 用 Range 只取前 64KB 算图片尺寸,不必为宽高拉整张图

修掉的两个真 bug(都是实测才发现)

  1. 点开 NAS 导入直接红屏 — _loadRaw() 空存储时返回 const [],而 all() 会对它 sort,抛 Cannot modify an unmodifiable list
  2. 导入时报 PathNotFoundException — WebDAV 导入不往书目录复制文件,写 document.json.tmp 时目录还不存在

其它改进

  • 错误提示从 6 秒延长到 12 秒并可手动关闭(之前一闪而过根本看不到原因)
  • 只新增 http + xml 两个纯 Dart 依赖,不引任何原生插件
  • 新增 tool/webdav_probe.dart:连不上 NAS 时可在电脑上逐项诊断
  • 新增 tool/webdav_test_server.dart:没有 NAS 也能跑通整条链路
  • 测试从 39 个增加到 65 个

下载

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

注意

  • 想跑满 120Hz,仍需在系统设置里为 inkScroll 手动开启高刷新率(Android 与国产 ROM 的限制)
  • release APK 仍使用 Flutter 模板的 debug 签名,仅供测试,不可用于正式分发
  • NAS 密码做的是 XOR + Base64 混淆而非加密;建议在 NAS 上单独建一个只读 WebDAV 账号