A shell script to download music using SCDL for soudcloud and gamdl for apple music
Find a file
2025-09-11 11:04:48 +01:00
src fix: handle SoundCloud URLs with query parameters 2025-09-11 11:00:52 +01:00
.gitignore added 2025-08-17 14:02:38 +01:00
Cargo.lock cargo lock 2025-08-17 14:26:12 +01:00
Cargo.toml with updates 2025-09-11 11:04:48 +01:00
config.toml feat: create default config on first run 2025-08-17 14:25:35 +01:00
LICENSE Initial commit 2025-07-30 23:20:51 +01:00
README.md Update README.md 2025-09-06 14:10:09 +01:00

jamdl

A command-line tool to download music from various sources like Apple Music, SoundCloud, and others supported by yt-dlp.

Description

jamdl is a wrapper around popular downloaders (gamdl, scdl, yt-dlp) that automates the process of downloading media and transferring it to a specified location, such as a local directory or a remote NAS via SCP.

Prerequisites

You must have the following command-line tools installed and available in your system's PATH:

  • gamdl (for Apple Music)
  • scdl (for SoundCloud)
  • yt-dlp (for other sources)

Installation

You can install jamdl using cargo:

From source

Clone this repository and install using cargo:

cargo install --path .

From a git repository

You can also install it directly from a git repository:

cargo install --git https://git.shed.gay/chaos/jamdl

Configuration

The first time you run jamdl, it will create a default configuration file at ~/.config/jamdl/config.toml.

You must edit this file to match your setup before you can use jamdl.

The configuration file looks like this:

# Default configuration for jamdl
# Please edit these values to match your setup.

nas_host = "localhost"
nas_user = "your_ssh_user"
nas_path = "/path/on/nas"
cookies_file = "/path/to/your/apple-music-cookies-file.txt"
  • nas_host: The hostname or IP address of your NAS. If set to "localhost", files will be copied locally instead of using SCP.
  • nas_user: The SSH username for your NAS.
  • nas_path: The destination path on your NAS or local filesystem.
  • cookies_file: The path to your Apple Music cookies file for gamdl.

Usage

Once configured, you can download media by passing a URL to jamdl:

jamdl "https://music.apple.com/us/album/some-album/123456789"