49 lines
No EOL
1.3 KiB
Bash
49 lines
No EOL
1.3 KiB
Bash
#!/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 \"<link>\""
|
|
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"/*% |