在网上看到某些内容时,有时我们想要把它保存在某个地方,以防范网页在未来不再能被访问。常见的需求有:
- 稍后读
- 提升可读性(提取正文内容,去掉广告)
- 永久存档(比如保存成文件放在网盘)
商业的解决方案 都不提供本地存档能力。比较如下:
解决方案 | 稍后读 | 可读性提升 | 云端永久存档 |
---|---|---|---|
有 | 有 | 有(高级账号功能) | |
Instapaper | 有 | 有 | 无 |
Raindrop | 有 | 有 | 有(高级账号功能) |
Cubox | 有 | 有 | 有(高级账号功能,但感觉不可靠) |
开源、自托管的服务,这里有列表收集:
我没有研究太多方案,但看到这个感觉靠谱:
- go-shiori/shiori:可以看到作者做了很多事情,还做了 Readability 相关的库。Golang 编写,搭配 SQLite 运行,非常好部署。但是在 Go 1.17 上无法编译,还没有尝试。另外一个问题是,2019 年后作者不再维护了。soulteary 打包 了一个小的 Docker 镜像(
docker pull soulteary/shiori
)
最后一类方案是本地工具,可以把网页保存下来,但没有本地读 / 云端存档能力:
- Y2Z/monolith:这个库可以把网页保存成没有外部依赖的单页 HTML。长期有人维护,而且看起来质量和效果很好。用 Rust 编写的。
- rhysd/monolith-of-web:这是个 Chrome 扩展,将 monolith 用 WASM 编译了,所以可以在浏览器中直接将网页保存成单页 HTML。