libby
libby copied to clipboard
a simple CLI tool to quickly download books from Library Genesis (libgen)
libby
libby is a simple CLI tool to quickly download books from Library Genesis.
Demo

Installation
libby is available on the AUR as libby-git. If you have yay, you can install libby with:
yay -S libby-git
Or, to install it manually from this repo, run the following:
git clone https://github.com/carterprince/libby
sudo cp libby/libby /usr/bin/
Requirements
Necessary
When libby is installed from the AUR, there is no need to install these manually.
Optional
If you want the functionality these provide in libby, you have to install them yourself.
- mutt/neomutt (optional)
- rofi (optional)
- calibre (optional)
Usage
Run libby with no arguments for help:
Usage: libby [--rofi] [--mirror <num>] [--no-view] [--to-kindle] <query>
--rofi: use rofi to select a book (default is fzf)
--mirror <num>: use an alternative libgen mirror (default: 3)
--no-view: don't view the result
--to-kindle: convert file to .mobi and send to $KINDLE_EMAIL via mutt/neomutt (implies --no-view)
--to-usb: copy file to $USB via rsync (implies --no-view)
<query>: the query to search for
Things to consider
libbyfilters out all filetypes except ePUBs and PDFs.- By default,
libbycreates$HOME/books(lowercase 'b') if it does not already exist and saves all downloads there. This can be changed by adding
export LIBBY_OUTPUT_DIR="/foo/bar"
to your shell profile (.zprofile or .bash_profile).
- By default,
libbyopens the downloaded file withxdg-open. This command can be changed by adding
export LIBBY_VIEWER="foobar"
to your shell profile (.zprofile or .bash_profile).
Why I made this
Because everything else was too slow, tried to do too much, or no longer worked. The whole point of having a cli is it's faster and more convenient than navigating to the download manually in your browser.