jo1gi / audiobook-dl

Audiobook CLI downloader
GNU General Public License v3.0
191 stars 33 forks source link
audiobooks cli downloader

audiobook-dl

GitHub release GitHub top language License Donate using Ko-Fi

CLI tool for downloading audiobooks from online sources.

Supported Services

audiobook-dl currently supports downloading from the following sources:

More info

Installation

audiobook-dl can be installed from the repo itself or through pip.

To get the newest stable version with pip run:

pip install audiobook-dl

If you want to use the newest version (can be unstable) run:

pip install "git+https://github.com/jo1gi/audiobook-dl.git"

or

git clone https://github.com/jo1gi/audiobook-dl.git
cd audiobook-dl
python3 setup.py install

Some features require ffmpeg which can be installed through most package managers or from ffmpeg.org/download.html.

Authentication

Cookies

audiobook-dl uses Netscape cookie files for authentication in most cases. I use this extension to export my cookies from the browser.

Cookies can be placed in current dir as cookies.txt or be given with the --cookie argument.

Login

Some sources support authentication through login with username and password (and sometimes library). Use the --username and --password arguments or enter them through an interactive prompt.

Downloading audiobooks

audiobook-dl -c <cookie file> <url>

Most sites require you to provide the listening page not not just the information page

Arguments

Argument Value
url The url of the page where you listen to the audiobook
-c/--cookie Path to a Netscape cookie file
--combine Combine all output files into a single file (requires ffmpeg)
--cover Only download cover
-d/--debug Print debug information
-o/--output Output location
--remove-chars List of characters that will be removed from output path
--no-chapters Don't include chapters in output file
--output-format Output file format
--verbose-ffmpeg Show ffmpeg output in terminal
--username Username to source (Required when using login)
--password Password to source (Required when using login)
--library Specific library on service (Sometimes required when using login)

Output

By default, audiobook-dl saves all audiobooks to {title} relative to the current path. This can be changed with the --output argument. Path can be customized by audiobook with the following fields:

Not all fields are available for all audiobooks.

The file extension can be changed with the --output-format argument.

Configuration

audiobook-dl can be configured using a configuration file, which should be placed at:

Authentications

Source credentials can be provided in the configuration file:

[sources.yourcloudlibrary]
username = "yourusername"
password = "supersecretpassword"
library = "hometown"

Cookie files can be specified in a similar way:

[sources.everand]
cookie_file = "./everand_cookies.txt"

Paths are relative to the configuration directory.

Contributions

Issues, bug-reports, pull requests or ideas for features and improvements are very welcome.

Donations

If you like the project, please consider donating: