Files
homelab-scripts/CyberChef Update Script.sh
2025-09-06 23:57:04 +00:00

38 lines
1.1 KiB
Bash

#!/bin/sh
# CyberChef web directory
CYBERCHEF_DIRECTORY="/var/www/public/cyberchef"
# download srouce code of latest releases page
CYBERCHEF_RELEASES_API=$(wget -O - https://api.github.com/repos/gchq/CyberChef/releases/latest)
# version
VERSION=$(echo ${CYBERCHEF_RELEASES_API} | jq -r .tag_name)
# get download url
DOWNLOAD_URL=$(echo ${CYBERCHEF_RELEASES_API} | jq -r .assets[].browser_download_url)
# get filename
FILENAME=$(echo ${CYBERCHEF_RELEASES_API} | jq -r .assets[].name)
# test if version is already downloaded
if [ $(ls ${CYBERCHEF_DIRECTORY}/*${VERSION}* | wc -l) -gt 0 ]; then
echo "Version is already downloaded"
exit
fi
# download file
wget -P ${CYBERCHEF_DIRECTORY} ${DOWNLOAD_URL}
# unzip file
unzip -d ${CYBERCHEF_DIRECTORY} -o ${CYBERCHEF_DIRECTORY}/${FILENAME}
# remove old index file
rm -f ${CYBERCHEF_DIRECTORY}/index.html
# HTML filename
HTML_FILENAME="${FILENAME/zip/html}"
# link new index file
ln -s ${CYBERCHEF_DIRECTORY}/${HTML_FILENAME} ${CYBERCHEF_DIRECTORY}/index.html
# move zip to archive folder
mv -f ${CYBERCHEF_DIRECTORY}/${FILENAME} ${CYBERCHEF_DIRECTORY}/.archive/