#!/bin/bash
apt update
apt install -y curl jq file unzip
if [ ! -d /mnt/server/ ]; then
mkdir -p /mnt/server/
fi
cd /mnt/server/
LATEST_JSON=$(curl --silent "https://api.github.com/repos/Dav-Edward/TachyonsCE/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/Dav-Edward/TachyonsCE/releases")
MATCH=TachyonsCE
if [ "$(echo ${LATEST_JSON} | jq -r '.message')" != "Not Found" ] && [[ -z "${VERSION}" || "${VERSION}" == "latest" ]]; then
echo -e "grabbing latest version"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
elif [ "$(echo ${LATEST_JSON} | jq -r '.message')" == "Not Found" ]; then
echo -e "grabbing latest pre-release"
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})
else
echo -e "grabbing version $VERSION"
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
if [ ! -z "${DOWNLOAD_URL}" ]; then
if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then
echo -e "link is valid. setting download link to ${DOWNLOAD_URL}"
DOWNLOAD_LINK=${DOWNLOAD_URL}
else
echo -e "link is invalid closing out"
exit 2
fi
fi
curl --progress-bar -sSL -o ${DOWNLOAD_URL##*/} ${DOWNLOAD_URL}
FILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2)
if [ "$FILETYPE" == "gzip" ]; then
tar xzvf ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "Zip" ]; then
unzip -o ${DOWNLOAD_LINK##*/}
elif [ "$FILETYPE" == "XZ" ]; then
tar xvf ${DOWNLOAD_LINK##*/}
else
echo -e "unknown filetype. Exeting"
exit 2
fi
mv ./server/* ./
rm -rf server/ JRE/ client/ *.zip
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"