plato-opds
A fetcher hook for the Plato document reader that syncs an e-reader with an OPDS catalogue.
Motivation
I wanted to be able to sync my e-reader with my calibre-web library so that any new books/documents I add are downloaded automatically.
This project makes no guarantees to be OPDS spec-compliant and your milage may vary.
Pre-built binaries can be found on the releases page.
Usage
- Download/build a
opds_fetcher
binary and create a folder in Plato's bin directory for it (usually/mnt/onboard/.adds/plato/bin/opds
) - Rename
Settings-sample.toml
toSettings.toml
and place it alongside the binary. Configure your servers and tweak settings how you like. - Add a hook to Plato's own
Settings.toml
that looks like the following:
[[libraries.hooks]]
path = "OPDS"
program = "bin/opds/opds_fetcher"
sort-method = "added"
first-column = "title-and-author"
second-column = "progress"
- Whenever the
OPDS
folder is opened, this hook will check if there are any books that haven't been downloaded and will fetch them if need be.
Building
The easiest way to build this project is to use cross to cross-compile with Docker. Once setup it's as simple as running:
cross build --release --target=arm-unknown-linux-gnueabihf
Building without Docker
After setting up the Linaro toolchain on your system you can compile the project with:
rustup target add arm-unknown-linux-gnueabihf
cargo build --release --target=arm-unknown-linux-gnueabihf
Acknowledgements
This hook is based on the work done for the built-in Plato article fetcher. The license of which is included below.
Plato -- Document reader for the Kobo e-ink devices.
Copyright (C) 2017 Bastien Dejean.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.