Skip to content

墨读 0.6.8 · Windows / Android / Linux x64 / Linux arm64 / macOS Intel / macOS Silicon / 鸿蒙 / 鸿蒙自签 / iOS

Choose a tag to compare

@RoutineMiku RoutineMiku released this 07 Nov 15:29
· 42 commits to main since this release

这一版修了什么(0.6.8)

「目录正常、正文却是一屏 {"code":1,"data":{"content":"9qfnc..."}} 密文」

根因是引擎把 JS 正文规则里的 result 传成了空字符串:

  • @js:yuluNovelContent(java, source, result, baseUrl) 里第一行就 JSON.parse(result),
    拿到 '' 直接抛 Unexpected end of JSON input,规则静默失败,回退成「整页文本」——
    于是接口返回的加密 JSON 被当成正文显示出来。
  • 现在把原始响应体同时作为 html 和 result 交给规则。雨鹿这类 AES 协议的源恢复正常
    (第 312 章 122 段,开头就是「此时天色已经暗了下来。」)。
  • 另外加了一道兜底:正文如果仍是 JSON 信封,先把 data.content 当 base64 试着还原明文;
    解不出就明确提示「这个源的正文是加密接口(返回 JSON 密文)」,不再显示密文。

换源卡顿 / 切换不丝滑

  • 书源自带的 header 之前完全没生效(代码只读了 headers 复数对象)。Legado 里
    header 是单数字段、还可以是 @js: 脚本,靠 Referer / 签名头才给数据的站因此一律
    返回空列表 —— 换源搜不到书、正文抓不到都有这个原因。现在统一解析并缓存 60 秒。
  • 脚本书源(带 jsLib)执行规则走同步请求,一次把主线程钉住 0.8~1.6 秒。现在和普通源
    分开排队:普通源并发 10,脚本书源默认不搜,面板底部放一个「还有 N 个脚本书源没试 / 试一下」,
    想试才跑。
  • 搜索失败也进缓存(10 分钟):两千多个源里死源占多数,第二次打开换源不用陪它们再等超时。
  • 换源点下去先收面板,改为顶部小字「正在切到 xxx…」;目录加 10 分钟缓存,换回上次用过的源几乎瞬时。

实测(48 个源、588 章那本书):

指标 修复前 修复后
换源期间主线程最长阻塞 1693ms 82ms
一轮换源总耗时 16.2s 9.9s
章节正文 JSON 密文 122 段正常正文

Linux / macOS 运行时包补齐

  • 前几版只重出了 Windows / Android / 鸿蒙 / iOS,Linux 与 macOS 的包一直是 0.6.3 的旧代码。
    这一版四个包全部重出(同一份 src/ + ui/,Electron 45.1.0):
    MoRead-linux-x64、MoRead-linux-arm64、MoRead-mac-x64、MoRead-mac-arm64。
  • 包内校验:resources/app/package.json 为 0.6.8,ui/engine.js 的 md5 与本机源码一致;
    Linux 的 moread / install.sh 权限位 0755;macOS 的 framework 14 条符号链接原样保留。
  • 顺手修了 README 下载表的一个老 bug:平台名里带连字符(linux-x64、mac-arm64)的行
    从来匹配不上更新规则,所以这四行的链接一直停在 0.6.3 —— 与「有没有出包」无关。

同一份 ui/,一套代码跑遍各端。版本 0.6.8(Android versionCode 608)。

平台 文件 怎么用
Windows x64 MoRead-windows-0.6.8.zip 解压,双击 墨读.exe。免安装、不写注册表,数据跟着程序走
Android 7+ MoRead-android-0.6.8.apk 直接安装(与桌面共用同一套阅读与书源逻辑)
Linux x64 MoRead-linux-x64-0.6.8.tar.gz tar xzf … 后跑 ./moread,或 ./install.sh 装桌面图标
Linux arm64 MoRead-linux-arm64-0.6.8.tar.gz 同上,树莓派 / ARM 小主机
macOS Intel MoRead-mac-x64-0.6.8.zip 解压得到 MoRead.app。未签名:首次打开要右键 → 打开,或 xattr -dr com.apple.quarantine MoRead.app
macOS Apple Silicon MoRead-mac-arm64-0.6.8.zip 同上
鸿蒙 NEXT MoRead-harmony-0.6.8.hap 未签名,用 DevEco「自动签名」或自己的证书签
鸿蒙(自签) MoRead-harmony-0.6.8-signed.hap SDK 自带 OpenHarmony 测试 CA 签的,开发板 / 模拟器可 hdc install
iOS 15+ MoRead-0.6.8-unsigned.ipa 未签名,Sideloadly / AltStore 填自己 Apple ID 重签(免费账号 7 天到期)
网页 / iPad PWA — https://routinemiku.github.io/MoRead-Windows/

说明

  • 只有 Windows、Android 是每期实测的;Linux / macOS / 鸿蒙 / iOS 未做真机验证(手上没这些设备)。编译、签名、包结构都验过,实机反馈欢迎开 issue。
  • Linux 包内 moread 的可执行位已写成 0755(Windows 打 tar 会按 NTFS ACL 写成 0666,脚本里重算了 tar 头校验和);macOS 包保留了 framework 的 14 条符号链接(先解压再压缩会把 Versions/Current 变成 1 字节文件)。
  • 鸿蒙零售机只认华为签发证书,唯一免费路径是 DevEco 自动签名(绑自己账号 + 设备 UDID)。
  • iOS 的 ipa 由 GitHub Actions 的 macOS runner 编译(.github/workflows/ios-ipa.yml),未签名,需要自己重签。