Crates.io | ncopds |
lib.rs | ncopds |
version | 0.1.0 |
source | src |
created_at | 2024-09-18 23:07:47.096713 |
updated_at | 2024-09-18 23:07:47.096713 |
description | A TUI program for navigating OPDS catalogs. |
homepage | |
repository | https://github.com/rostyhn/ncopds |
max_upload_size | |
id | 1379703 |
size | 240,862 |
ncopds
is a TUI program for navigating OPDS directories, written in Rust with cursive. By setting up a configuration file, any number of OPDS directories can be visited. From the main interface, users can get a preview of the books available on the catalog and download them directly to a directory of their choice. OPDS search is also supported.
The interface is designed to be responsive, using multiple threads to manage the data coming in from the OPDS server and drive the UI. Locally, ncopds
allows users to manage their downloads directory through a set of basic operations, allowing them to rename and delete files. Downloaded books are opened using your system's preferred handler for .pdfs / .epubs. ncopds
does not store metadatain sqlite databases or clutter up your downloads directory in any way, unlike other ebook managers.
Servers requiring authentication are supported. ncopds
does not store your passwords anywhere. Instead, it relies on your system's keyring to store passwords.
This is still alpha software. Please feel free to submit bugs using the issue tracker and improve upon what you see here.
There are several menus at the top of the screen. Clicking ncopds
at the top of the screen shows you a help menu with information similar to this README.
View
allows you to add / change connections to OPDS catalogs. When you add a new connection to ncopds
, it will appear at the bottom of the View
menu. Clicking it will render the contents of that catalog in the main view which you can then browse and download to your heart's content.
Edit
lets you change information about a connection, including its name, URL and login credentials. These features are alternatives to directly editing the config file that is located at $HOME/.config/ncopds/config.toml
.
The only field that is required for ncopds
to work is the download_directory
field. If you want to add a connection manually, you can write them in this way:
[servers.{NICKNAME_FOR_YOUR_SERVER}]
base_url = "https://example.com/opds" (MUST BE FIRST OPDS PAGE, NOT JUST THE DOMAIN)
username = "rostyhn" (OPTIONAL)
You cannot store a password inside the configuration file. If you include a username inside a connection, ncopds
will ask you for the password the next time you run it.
You can also edit the cursive theme by editing the theme file located at $HOME/.config/ncopds/theme.toml
. More documentation on the options is available here. Otherwise, ncopds
will just use your default terminal colors.
There are some hotkeys available.
Key | Action | Context |
---|---|---|
o | Opens a file | Only when viewing local directory |
d | Deletes a file | Only when viewing local directory |
r | Renames a file | Only when viewing local directory |
/ | Search catalog | Both online and in local directories; only if online directory supports it |
? | Open help screen | Anywhere |