This is a plugin for running Syncthing on e-readers running KOReader. Syncthing is a peer-to-peer file synchronization program. This makes it possible to sync files between your e-reader and computer / phone automatically. The Syncthing instance on your e-reader can be managed directly in the KOReader menu.
The method of running Syncthing is originally based on The Anarcat's blog post.
- This plugin is provided as-is. Make frequent data backups and use it at your own risk!
- Some features are not working yet, such as global discovery service
- Kindle Oasis
- Kindle Scribe
- Kindle Voyage
- Kobo Clara BW
- Kobo Elipsa 2E
- Kobo Libra 2
- (Please send pull requests to add your tested device here!)
Note: If you own an Android e-reader, you should use Syncthing Fork instead. This plugin currently does not work on Android.
- Currently the plugin is only tested on a Kobo device. Maybe it will also work on Kindle and other Linux-based environments, but additional testing will be needed.
- You should have installed KOReader and will need to copy files to the device.
- You need to setup Syncthing on another device, which will be able to connect to your e-reader in your local Wi-Fi network.
- Download the latest ZIP from GitHub and extract the archive.
- Copy the folder
syncthing.kopluginto your KOReader installation, under thepluginsfolder. For Kobo devices, this is usually.adds/koreader/pluginsin the device storage. - Restart KOReader.
- The Syncthing menu will be available under the Tools tab in the file browser. Check Syncthing menu item to start the Syncthing server. Make sure the e-reader is also connected to Wi-Fi.
- On your other Syncthing device, add the e-reader by scanning the QR code or entering the device ID manually.
- Go to the Pending menu and accept the device.
- On your other Syncthing device, add the e-reader to a folder.
- Go to the Pending menu and accept the folder.
- Make sure that you set the path to under your user storage.
- For Kobo device, this should be a directory under
/mnt/onboard.
- View the Status menu to see sync status.
- For other options you will need to use the Syncthing GUI. Use Set GUI
Password menu item to set GUI password and go to
http://<ereader-ip>:8384on another device. Login with usernamesyncthingand your password. You can tap Syncthing Web GUI menu item to see network info.
-
Why would you want Syncthing on an e-reader?
It keeps my books and annotations continuously synchronized with my computer. For the privacy-conscious people, Syncthing does not require you to create a cloud account, and does not store your data in the cloud.
If you have multiple e-readers, it is also convenient to synchronize books between the e-readers.
If you have an Android e-reader, you can use the Android Syncthing Fork app for syncing. You can then use the KOReader app on Android. Using this plugin on Android is not supported.
-
How well does it work?
The synchronization itself usually works quite well on the e-reader side, but the connectivity is also affected by your other devices and the local network conditions. Having a Syncthing menu right in KOReader is the first step in making this accessible to the community.
- Syncthing binaries are included in the repository from the official
releases
- Using Linux ARM 32-bit binary
- Currently, global discovery and relay is not working. That means it will not be possible to sync devices over the internet.
- The Syncthing menu is still limited in functionality when it comes to managing devices and folders.
- Pull latest syncthing binary from official releases
- Allow adding device to folder from e-reader
- Properly accept three-way sharing
- Fix global discovery service functionality
- Implement conflict resolution for KOReader metadata file
