diff --git a/jamdl.sh b/jamdl.sh new file mode 100644 index 0000000..65475df --- /dev/null +++ b/jamdl.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# ==== CONFIGURATION ==== +VIDEO_URL="$1" +NAS_HOST="(localaddress)" +NAS_USER="ssh_user" +NAS_PATH="/path/to/files/on/nas" +TEMP_DIR="/tmp/yt-nas-transfer" +COOKIES_FILE="/location/of/apple-music-cookies-file.txt" + +# ==== BASIC CHECK ==== +if [[ -z "$VIDEO_URL" ]]; then + echo "[ERROR] No URL provided. Usage: jamdl \"\"" + exit 1 +fi + +# Create temp directory +mkdir -p "$TEMP_DIR" +cd "$TEMP_DIR" || exit 1 + +# ==== DOWNLOAD SECTION ==== +if [[ "$VIDEO_URL" == *"music.apple.com"* ]]; then + echo "[INFO] Apple Music link detected. Using gamdl..." + if [[ -f "$COOKIES_FILE" ]]; then + gamdl --cookies-path "$COOKIES_FILE" "$VIDEO_URL" + else + echo "[WARN] cookies.txt not found at $COOKIES_FILE — running gamdl without it" + gamdl "$VIDEO_URL" + fi +elif [[ "$VIDEO_URL" == *"soundcloud.com"* ]]; then + echo "[INFO] Soundcloud link detected. Using scdl..." + scdl -l "$VIDEO_URL" +else + echo "[INFO] Non-Apple Music link. Using yt-dlp..." + yt-dlp -o "%(title)s.%(ext)s" "$VIDEO_URL" +fi + +# ==== TRANSFER IF FILES EXIST ==== +if compgen -G "$TEMP_DIR/*" > /dev/null; then + echo "[INFO] Transferring files to NAS..." + scp -r "$TEMP_DIR"/* "$NAS_USER@$NAS_HOST:$NAS_PATH" +else + echo "[WARN] No files found to transfer." +fi + + +# Cleanup +echo "[INFO] Cleaning up..." +rm -rf "$TEMP_DIR"/*% \ No newline at end of file