/audiobook-dl

Audiobook CLI downloader

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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:

  • title
  • author
  • series
  • narrator

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:

  • Windows: C:\\Users\\$user\\AppData\\Local\\jo1gi\\audiobook-dl\\audiobook-dl.toml
  • Mac: /Users/$user/Library/Application Support/audiobook-dl/audiobook-dl.toml
  • Linux $XDG_CONFIG_DIR/audiobook-dl/audiobook-dl.toml

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:

Cryptocurrencies
  • Bitcoin: bc1qrh8hcnw0fd22y7rmljlmrztwrz2nd5tqckrt44
  • Bitcoin Cash: qp6rt9zx7tfyu9e4alxcn5yf4re5pfztvu8yx0rywh
  • Dash: XfgopGkj4BBpuzsUvrbj9jenXUZ6dXsr3J
  • Etherium: 0x8f5d2eb6d2a4d4615d2b9b1cfa28b4c5b9d18f9f
  • Litecoin: ltc1qfz2936a04m2h7t0srxftygjrq759auav7ndfd3
  • Monero: 853tLAbK5wQ93mdj884C31JGKBUEJCpM25gEjGGLnuVDc8PEDMJi6uC5Vcz9g37K2PeT8FY1bjEveUWqJXNPotFRLwLnn9a