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
-
libby
filters out all filetypes except ePUBs and PDFs. - By default,
libby
creates$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,
libby
opens 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.