INSTALL_KOBO

Installing kb_exfiltrator on Kobo

Prerequisites

  1. NickelMenu installed on your Kobo (usually comes with KOReader)
  2. SSH access to your Kobo
  3. Kobo connected to WiFi

Installation

1. Copy files to Kobo

# Copy the binary
scp kb_exfiltrator-kobo-arm root@192.168.88.110:/usr/local/bin/kb_exfiltrator

# Copy the wrapper script
scp sync_highlights.sh root@192.168.88.110:/usr/local/bin/sync_highlights.sh

# Copy NickelMenu config
scp nickel_menu_config root@192.168.88.110:/mnt/onboard/.adds/nm/kb_exfiltrator

2. Set permissions via SSH

ssh root@192.168.88.110

chmod +x /usr/local/bin/kb_exfiltrator
chmod +x /usr/local/bin/sync_highlights.sh

3. Update the endpoint URL

Edit the script on the Kobo to use your server’s IP/hostname:

vi /usr/local/bin/sync_highlights.sh
# Change: ENDPOINT="http://192.168.88.69:42070/api/highlights"
# To your actual server URL

4. Restart Kobo

The NickelMenu config is read on boot, so restart your Kobo:

reboot

Usage

After rebooting, you’ll see “Sync Highlights” in:

  • Main menu (press the top-left Kobo icon)
  • Reader menu (while reading a book)

Tap it to sync your highlights to your server!

Logs

Check sync logs at: /mnt/onboard/.adds/kb_exfiltrator.log

Manual Usage (via SSH)

ssh root@192.168.88.110
/usr/local/bin/kb_exfiltrator /mnt/onboard/.kobo/KoboReader.sqlite http://yourserver:42070/api/highlights

Troubleshooting

  • Check /mnt/onboard/.adds/nm/kb_exfiltrator exists
  • Restart Kobo
  • Check NickelMenu is installed

Sync fails

  • Check log: cat /mnt/onboard/.adds/kb_exfiltrator.log
  • Verify WiFi is connected
  • Test manually via SSH
  • Verify server is running: curl http://192.168.88.69:42070/

”No route to host”

  • Kobo WiFi disconnected
  • Server IP changed
  • Edit /usr/local/bin/sync_highlights.sh with correct IP

Wesley Ray · blog · git · resume