How to send an ebook over Wi-Fi with LibreSend

Run the first-party LibreSend Local app, choose one book in its localhost interface, and move it to a phone, Kobo or reader app without a cloud upload.

What LibreSend Local does

LibreSend Local is LibreLeaf's maintained device-transfer program. It runs on the computer that already has the EPUB, PDF or MOBI and opens a private control page at localhost. The page is the interface to the local program; it is not the public LibreLeaf website and it does not upload the selected book to LibreLeaf or another cloud service.

After a file is selected, the program exposes only that file at a random address on the current Wi-Fi network. It also creates a one-book OPDS catalogue for compatible reading apps. The address expires after 15 minutes, there is no folder browser, and closing the program removes the temporary copy. This is intended for a home or other trusted network, not public Wi-Fi or an internet-facing server.

Start the local web interface

  1. Install Node.js 22.13 or newer from the official Node.js site if it is not already installed.
  2. Open Terminal on macOS or Linux, or Windows Terminal on Windows, and run: npx --yes github:maxrobdev/libreleaf
  3. LibreSend prints a private localhost address and normally opens it in the default browser. If the browser does not open, copy the printed address into a browser on that same computer.
  4. Choose one EPUB, PDF or MOBI, or drop it onto the selection area. Wait until the page displays a receiving address and an OPDS address.

The first run downloads LibreSend's open-source package from its GitHub repository. The program then runs locally. Review the source and release history before running it if you administer the computer.

Receive the book

  1. Keep the computer and receiving device connected to the same trusted Wi-Fi. Do not use a guest network that prevents devices from seeing each other.
  2. For a phone or tablet, open the displayed address, download the file, then choose Apple Books, Kindle, KOReader or another installed reading app.
  3. For a Kobo, type the address into the Kobo browser and download the EPUB or PDF. Browser capability varies by model, so use Kobo's official USB process if the download is not accepted.
  4. For an OPDS-capable reading app, add the displayed OPDS address as a custom catalogue and download the single listed title.
  5. Use Remove book or Close LibreSend when finished. The receiving link also expires automatically after 15 minutes.

Security and troubleshooting

  • The localhost control page is bound to the computer only and includes a random control path. Other devices receive the book page, not the controls.
  • The LAN transfer uses local HTTP and is not encrypted. Anyone controlling an untrusted network may observe traffic, so use a trusted network only.
  • If the address does not open, check that both devices use the same Wi-Fi, disable client isolation or a guest network, and allow Node.js through the computer firewall for the local network only.
  • MOBI is accepted by LibreSend for local movement, but Amazon's current Send to Kindle list does not include MOBI. Convert a lawful, unprotected file to EPUB when the destination requires it.
  • For a permanent library rather than a 15-minute handoff, use an authenticated calibre Content server or LibreSend's separately documented encrypted self-hosted relay.