I wanted a way to browse my E-Book library hosted on self-hosted instance of kavita via a TUI interface and read the books using zathura, thus eliminating the need to download books from kavita web interface before being able to read them using zathura. I couldn't find a tool that offered a TUI interface to browser OPDS catalogs, so i decided to write one myself.
This project does not aim to implement the whole OPDS specification.
This project is hosted on
I consider this tool feature complete for my own use and any development would just be small improvements to the tool. But if things don't work as expected for you, feel free to open an issue, I'll try and fix / improve things. Please refer to the TODO section on this page to make sure you're not reporting already known issues. As always, pull requests are welcome, but please open an issue before you start working.
# clone the repository from radicle
rad clone rad:z4QBXcbUuZuJKkN57ysdWbr5iGGZK
# or clone the repository from github
git clone https://github.com/sreedev/opdstui
# cd into opdstui directory
cd opdstui
# (optional) switch to the latest version
git checkout v0.1.4
# run make to ensure that you're able to build the tool first
make
# copy the binary to /usr/local/bin
sudo make install
OPDS TUI Browser v0.1.4
Author: Sreedev Kodichath <[email protected]>
OPDS Feed TUI Browser
Usage: opdstui [-h] [-v] [-c=configfile] [-u=opdsurl] [-g]
Required arguments:
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show version number and exit.
-c=configfile, --config=configfile configuration file
-u=opdsurl, --url=opdsurl opds url
-g, --generate-conf generate & store configuration
opdstui -g -u="https://kavita.selfhosted.something/opds/not-accidentally-leaking-my-key-again/"
opdstui -u="https://kavita.selfhosted.something/opds/not-accidentally-leaking-my-key-again/"
opdstui
- [BUG] Graceful exit after zathura process has been kicked off
- [BUG] List Overflows the UI boundary
- [IMPROVE] Write Unit Tests
- [-] [FEAT] Add a Search Filter
- a. [x] [FEAT] Add Search UI
- b. [ ] [FEAT] Load Search Results Page
- c. [ ] [IMPROVE] Make Search Spec Parsing Global to Session not Per Page