# 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: ```bash cargo install --path . ``` ### From a git repository You can also install it directly from a git repository: ```bash cargo install --git ``` ## 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: ```toml # 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`: ```bash jamdl "https://music.apple.com/us/album/some-album/123456789" ```