Trove Help Trove home

KOReader

KOReader sync lets you push and pull reading progress between KOReader and Trove. Read a few chapters on your e-reader, push the progress, and it shows up in Trove. Pick up on another device, pull the latest position, and continue where you left off.

Trove matches books by file content hash, so the same physical file must exist in both places. In practice this means KOReader needs to have downloaded the book from Trove (typically via OPDS) so the file bytes match. A book sideloaded from a different source won't produce the same hash, and progress won't link up.

Step 1: Configure KOReader Sync in Trove

Go to Settings > Devices in Trove. You'll see the KOReader Settings section with an enable toggle, an API path, and username/password fields.

  1. Click Edit to unlock the credential fields
Trove Settings > Devices page showing KOReader Settings with Enable toggle, API Path, Username, and Password fields with an Edit button
  1. Enter a username and password for KOReader to authenticate with (these are KOReader-specific credentials, separate from your Trove login)
  2. Click Save
  3. Toggle Enable KOReader Sync on
  4. Copy the KOReader API Path shown (for example http://trove.example.com/api/koreader). You'll need this in KOReader.
KOReader Settings with sync enabled, API path populated, username and password filled in, and Save button
A user's permissions, with KOReader Sync ticked under Device Sync

Step 2: Set Up Sync in KOReader

Open a book in KOReader to access the tools menu.

  1. Tap the tools icon (wrench) in the top toolbar, then select Progress sync
KOReader tools menu showing Progress sync option
  1. Tap Custom sync server and enter the API path you copied from Trove
KOReader Custom sync server dialog with the Trove API URL entered
  1. Tap Register / Login, enter the username and password you set in Trove, and tap Login
KOReader login dialog with username and password fields and Login button
  1. You're connected. Use Push progress from this device now to send your current position to Trove, or Pull progress from other devices now to retrieve the latest position from Trove.
KOReader Progress sync menu showing Push and Pull options, along with auto-sync settings
  1. One important setting: tap Document matching method and make sure Binary is selected. This matches books by file content (the same method Trove uses), ensuring the right book gets the right progress.

KOReader Document matching method menu Binary option selected: "Only identical files will be kept in sync"

Viewing Synced Progress

KOReader progress appears on the book's detail page in Trove as KOReader Progress, a percentage in an orange badge.

Treasure Island's page showing KOReader Progress of 41.7%

Click the reset icon next to the KOReader progress to clear it in Trove. This does not affect the reading position stored on your KOReader device.

Troubleshooting

ProblemWhat to check
Login fails in KOReaderMake sure the username and password match exactly what you set in Trove's Devices settings. These are case-sensitive. Also verify the API path is reachable from your e-reader's network.
Progress not appearing in TroveTap Push progress from this device now in KOReader after reading. If auto-sync is off, progress doesn't send automatically.
Wrong book gets the progressMake sure Document matching method is set to Binary, not Filename. Binary matches by file content hash, which is what Trove expects.
Sideloaded book won't syncThe book file must be byte-identical to the one in Trove. Download it from Trove via OPDS to ensure the hashes match. A file from a different source (even the same title) will have a different hash.
API path not accessibleIf Trove is behind a reverse proxy, make sure /api/koreader/** paths are forwarded correctly. If using Docker, the API path shown in settings may use a container IP that isn't reachable from your e-reader's network. Use your external hostname or LAN IP instead.