A shell script to download music using SCDL for soudcloud and gamdl for apple music
Find a file
Chaos Rogers 7eaff29e6d feat: force mp3 downloads with scdl
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-09-09 14:00:59 +01:00
src feat: force mp3 downloads with scdl 2025-09-09 14:00:59 +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 feat: load settings from a configuration file 2025-08-17 14:16:24 +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"