A complete, private reading progress synchronization solution for KOReader on Kindle, Kobo, Android, and other e-readers, powered by a serverless Cloudflare Worker backend (Hono + Cloudflare D1) and a non-intrusive KOReader Lua plugin.
Pair your Kindle or KOReader device in seconds without typing passwords on an e-ink keyboard:
- On your E-Reader: Tap Tools → Sink → Pair Device (Phone/PC) to display a 6-character code (e.g.,
K9X 2P4). - On your Phone or PC: Open your Sink web dashboard and enter the code.
- Done: Your device connects automatically and starts syncing reading progress.
backend/- Cloudflare Worker implementation using TypeScript, Hono, and Cloudflare D1. Includes 1-click deploy setup, pairing endpoints, and automated tests.sink.koplugin/- KOReader user plugin with seamless code pairing, non-intrusive Wi-Fi management, and silent background synchronization.
Click the button below to deploy the backend to Cloudflare Workers:
Deploy via the button above, or run locally:
cd backend
npm install
npm test # Run Vitest test suite
npm run dev # Start local development server- Copy the
sink.kopluginfolder to your device'skoreader/plugins/directory. - Restart KOReader.
- Open the top menu → Tools → Sink → Pair Device (Phone/PC).
- Open your Worker URL on your phone or PC, enter the 6-character code and choose a 4-digit PIN, and tap Connect E-Reader.
- Your device is now connected and reading progress will sync automatically!
GNU Affero General Public License v3.0 (AGPL-3.0). See COPYING for details.