RemoteLibrary overlays a cloud-storage library onto KOReader's local file browser, so you can see and open books that haven't been downloaded yet — as if they were already on the device.
- Transparent overlay — remote folders and files appear inside the normal
FileChooserview, tagged[Cloud]. - On-demand downloads — tap a
[Cloud]file to download and open it; folders materialize as you navigate into them. - Built on
cloudstorage— reuses KOReader's own cloud storage plugin, so any provider it supports (WebDAV, FTP, Dropbox, …) works here. - Cached remote map — the directory tree is scanned once and cached to
remotelibrary_map.luafor instant, offline browsing. A WebDAV target uses a single-request fast scan when the server allows it, falling back to a per-folder scan otherwise. [Refresh Cloud]action entry — a pinned row in the file browser that triggers a rescan without leaving the folder view.- Metadata-safe — patches KOReader's book info and cover lookups so proxy files never trigger a network fetch just to render a list.
See docs/ARCHITECTURE.md for how the overlay is implemented, and CONTEXT.md for the domain vocabulary (remote map, proxy, fast/slow scan, action entry).
Copy this folder into your KOReader plugins directory:
koreader/plugins/RemoteLibrary.koplugin/- Enable KOReader's Cloud storage plugin and add a provider (WebDAV, FTP, …).
- Open KOReader's Tools menu → Remote Library → Settings → Cloudstorage directory, and pick the provider/folder to overlay.
- From the Remote Library menu, tap Reload to scan the remote directory and build the map. Use the file browser's
[Refresh Cloud]entry any time you want to rescan without opening the menu.
Stored in KOReader's settings directory:
| File | Purpose |
|---|---|
remotelibrary.lua |
The configured cloudstorage directory. |
remotelibrary_map.lua |
The cached remote directory tree. |
Unit tests run against a checked-out KOReader tree:
./run_tests.sh <path_to_koreader_root>End-to-end tests exercise a real WebDAV server and are not wired into CI:
./run_e2e_tests.sh <path_to_koreader_root>MIT — see LICENSE.