inkwell 是一个轻量级、自托管的 RSS/Atom 阅读器,其核心设计理念是适配 Amazon Kindle 设备内置浏览器的性能限制。通过将动态内容预处理为静态 HTML,并针对电子墨水屏进行图像转码,inkwell 实现了在低算力设备上流畅的阅读体验。

该项目采用 Rust 编写,打包为单个二进制文件,无需复杂的运行时依赖。后台作业负责预先提取文章内容并处理嵌入式图像,确保用户点击链接时直接从本地磁盘获取已渲染好的字节流,从而大幅降低加载延迟。
核心特性
- Kindle 专属优化:生成的 HTML 页面经过精简,去除了冗余脚本和样式,适配电子墨水屏的黑白显示特性,提升翻页速度和可读性。
- 静态化预渲染:后台服务定期抓取订阅源,将文章正文提取并转换为静态 HTML 文件。图片会被自动转码为适合 Kindle 显示的格式和尺寸。
- 极简架构:基于 Rust 构建的单文件二进制程序,资源占用极低,易于部署在 NAS、树莓派或低功耗 VPS 上。
- 安全配对机制:提供可选的配对辅助工具,用于将新 Kindle 设备注册到认证网关,确保只有授权设备才能访问阅读服务。
- 标准协议支持:完整支持 RSS 和 Atom 订阅源,兼容 OPML 导入导出,方便用户迁移现有的订阅列表。
工作原理
- 订阅管理:用户通过管理界面添加 RSS/Atom 订阅源。
- 后台抓取:inkwell 的后台作业定期轮询订阅源,获取最新条目。
- 内容清洗与转码:提取文章正文,移除干扰元素,并将图片转码为 Kindle 友好的格式(如调整分辨率、灰度化处理)。
- 静态生成:将处理后的内容保存为静态 HTML 文件存储在本地磁盘。
- 终端阅读:用户在 Kindle 浏览器中访问 inkwell 服务地址,直接加载预生成的静态页面,实现秒开体验。
适用场景
- Kindle 重度用户:希望在 Kindle 上获得比原生“Send to Kindle”更实时、更丰富的 RSS 阅读体验。
- 低功耗服务器所有者:需要在树莓派或旧硬件上运行稳定的阅读服务。
- 隐私倡导者:倾向于自托管数据,避免使用第三方云端阅读服务。
inkwell 通过极致的工程优化,解决了 Kindle 浏览器在现代 Web 环境下表现不佳的问题,为电子墨水屏用户提供了一个高效、私密的自主信息获取渠道。