scripts/apps/spotify/wine/soggfy.sh
2023-08-22 00:13:18 +07:00

61 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/bash
if (( $EUID == 0 )); then
echo "Do not run this script as root."
exit
fi
[[ -z "${WINEPREFIX}" ]]; WINEPREFIX="$HOME/.wine"
[[ -z "${WINE}" ]]; WINE="wine"
pfx_arch=$(grep '#arch' "$WINEPREFIX/system.reg" | cut -d "=" -f2)
echo "Wine binary: $WINE"
echo "Detected wineprefix: $WINEPREFIX ($pfx_arch)"
download_ffmpeg() {
if [[ pfx_arch == "win64" ]]; then
repo_url="https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest"
else
repo_url="https://api.github.com/repos/sudo-nautilus/FFmpeg-Builds-Win32/releases/latest"
fi
asset_info=$(curl -s "$repo_url" | jq '.assets | first(.[] | select(.name | match("ffmpeg")))')
asset_name=$(echo $asset_info | jq -r '.name')
echo "Downloading $asset_name..."
curl -OL "$(echo $asset_info | jq -r '.browser_download_url')"
echo "Extracting.."
unzip -j $asset_name "${asset_name%.*}/bin/*" -d "./ffmpeg/"
rm $asset_name
}
download_soggfy() {
repo_url="https://api.github.com/repos/Rafiuth/Soggfy/releases/latest"
asset_info=$(curl -s "$repo_url" | jq '.assets[0]')
asset_name=$(echo $asset_info | jq -r '.name')
echo "Downloading $asset_name..."
curl -OL "$(echo $asset_info | jq -r '.browser_download_url')"
echo "Extracting.."
unzip -j $asset_name "${asset_name%.*}/*" -d "."
rm $asset_name
}
if [ ! -f ./Soggfy.js ]; then
echo "Soggfy not found, downloading..."
download_soggfy
fi
if [ ! -d "./ffmpeg/" ]; then
echo "FFmpeg not found, downloading..."
mkdir ./ffmpeg/
download_ffmpeg
fi
echo "Waiting for Spotify to start..."
until _=$(pidof Spotify.exe)
do
sleep 1
done
echo "Injecting..."
WINEPREFIX=$WINEPREFIX $WINE Injector.exe
echo "Done."