Continuous E-book Reading Across Devices with KOReader and Syncthing

Published: at 12:00 AM

The Quest for a Perfect E-book Sync Solution

I’ve been on a journey to find the ideal e-book reading setup for a while. Many commercial solutions lock you into their ecosystem, and you never truly own your data. I wanted something different: a fully offline, self-hosted system that gives me complete control over my e-books and reading data. After some experimentation, I’ve settled on a powerful combination: KOReader and Syncthing.

This setup allows you to seamlessly sync your books, reading progress, notes, and highlights across all your devices without relying on a central server you don’t control.

Why KOReader and Syncthing?

  • KOReader: A versatile, open-source document and image viewer for E Ink devices. It supports a wide range of formats and is highly customizable. Crucially, it saves reading progress and notes in plain text files, which is perfect for syncing.
  • Syncthing: A free, open-source, and peer-to-peer file synchronization application. It allows you to sync files between devices on a local network or over the internet, securely and privately.

The Setup

The core idea is to have a shared folder that Syncthing keeps in sync across your devices. KOReader on each device will then use this folder to store its data.

My Setup: Laptop as a “Main Server”

I use my laptop as a central hub for my e-books. This isn’t strictly necessary, but it gives me a single place to manage my library and see the status of all my synced devices.

Setting up Syncthing on Android

On Android, you have a couple of options for Syncthing clients:

  • Syncthing-fork: This is the one I recommend. It has a user-friendly interface and can discover other Syncthing devices on your local network automatically. This makes setup a breeze.
  • Syncthing-Lite: A lighter client, but it has a significant drawback. If your device doesn’t have a camera, you’ll need to manually type in the long and complex device ID to connect to other devices, which is prone to errors.

A Note on DRM

This solution only works for DRM-free e-books. If your e-books have Digital Rights Management (DRM), you will need to find a way to remove it before you can use them with this setup.

The Result: Seamless Syncing

With KOReader and Syncthing working together, you get:

  • Book Synchronization: Add an e-book to your synced folder on one device, and it appears on all others.
  • Progress Syncing: Read a few chapters on your e-reader, and when you open the book on your phone, you’ll be right where you left off.
  • Notes and Highlights Syncing: Any notes or highlights you make are also synced across all devices.

The Only Drawback

The biggest limitation of this setup is the lack of a native KOReader application for macOS. While there are workarounds, it’s not as seamless as on other platforms.

Conclusion

If you’re looking for a private, offline-first, and highly customizable e-book syncing solution that you control, the combination of KOReader and Syncthing is hard to beat. It takes a little bit of setup, but the result is a truly continuous reading experience that puts you back in control of your data.