#!/usr/bin/env bash VERS='3.8.145-04232023' MMFOLDER="/opt/idssys/mediamanager" MMSRV=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) UPDATESERVICES=bazarr,jackett,lidarr,ombi,radarr,sonarr BETA_SERVICES=" " IFS=, UPDATE_SERVICES=(${UPDATESERVICES}) unset IFS noheader=' check noup update update-organizr ' logfile=${MMFOLDER}/logs/logfile outputlogfile=${MMFOLDER}/logs/outputs.check.log [ ! -f ${logfile} ] && touch $logfile [ ! -f ${outputlogfile} ] && touch $outputlogfile declare -A MM_SERVICES MM_SERVICES['openvpn']='OpenVPN (TorGuard VPN Tunnel)' MM_SERVICES['wireguard']='WireGuard (TorGuard VPN Tunnel)' MM_SERVICES['lidarr']='Lidarr (Music Manager)' MM_SERVICES['radarr']='Radarr (Movie Manager)' MM_SERVICES['radarr3d']='Radarr3D (3D Movie Manager)' MM_SERVICES['sonarr']='Sonarr (TV Show Manager)' MM_SERVICES['bazarr']='Bazarr (Subtitle Manager)' MM_SERVICES['jackett']='Jackett (Torrent Indexing Manager)' MM_SERVICES['qbittorrent']='qBittorrent (Torrent Downloader)' MM_SERVICES['snap.tautulli.tautulli']='Tautulli (Plex Stats)' MM_SERVICES['ombi']='Ombi (Download Requester)' declare -A MM_SERVICE_PORTS MM_SERVICE_PORTS['ombi']='5000' MM_SERVICE_PORTS['radarr']='5555' MM_SERVICE_PORTS['radarr3d']='5556' MM_SERVICE_PORTS['sonarr']='5656' MM_SERVICE_PORTS['qbittorrent']='5858' MM_SERVICE_PORTS['snap.tautulli.tautulli']='8181' MM_SERVICE_PORTS['lidarr']='8686' MM_SERVICE_PORTS['jackett']='9117' MM_SERVICE_PORTS['bazarr']='6767' declare -A MM_SERVICE_CFG MM_SERVICE_CFG['ombi']='/etc/Ombi' MM_SERVICE_CFG['radarr']='/home/user/.config/Radarr' MM_SERVICE_CFG['radarr3d']='/home/user/.config/Radarr3D' MM_SERVICE_CFG['sonarr']='/home/user/.config/Sonarr' MM_SERVICE_CFG['qbittorrent']='/home/user/.config/qBittorrent' MM_SERVICE_CFG['snap.tautulli.tautulli']='/root/snap/tautulli' MM_SERVICE_CFG['lidarr']='/home/user/.config/Lidarr' MM_SERVICE_CFG['jackett']='/home/user/.config/Jackett' MM_SERVICE_CFG['bazarr']='' declare -A MM_UPDATE_REPO #MM_UPDATE_REPO['ombi']='Ombi-app' MM_UPDATE_REPO['ombi']='systemd' MM_UPDATE_REPO['radarr']='radarr' #MM_UPDATE_REPO['sonarr']='sonarr' MM_UPDATE_REPO['sonarr']='systemd' MM_UPDATE_REPO['lidarr']='lidarr' MM_UPDATE_REPO['jackett']='jackett' MM_UPDATE_REPO['bazarr']='morpheus65535' declare -A MM_UPDATE_REPO_GREP MM_UPDATE_REPO_GREP['ombi']='linux-x64' MM_UPDATE_REPO_GREP['radarr']='linux-core-x64' MM_UPDATE_REPO_GREP['sonarr']='linux-core-x64' MM_UPDATE_REPO_GREP['lidarr']='linux-core-x64' MM_UPDATE_REPO_GREP['jackett']='LinuxAMDx64' MM_UPDATE_REPO_GREP['bazarr']='zip' if [ "${VPN_INTERFACE}" = "tun0" ]; then #openvpn VPN_START=(/bin/systemctl start openvpn) VPN_STOP=(/bin/systemctl stop openvpn) else #default wireguard VPN_START=(sudo /usr/bin/wg-quick up ${VPN_INTERFACE}) VPN_STOP=(sudo /usr/bin/wg-quick down ${VPN_INTERFACE}) fi DEBUGLOGSTOP(){ chktmend=`date +%s` chktm=$((chktmend-chktmstart)) echo "$(date) - ${mmsv} Runtime: ${chktm}s" >> $logfile } MMUPDATECHECK(){ if curl -m 15 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then cd ${MMFOLDER} if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then touch ${MMFOLDER}/update.available fi else /bin/rm -f ${MMFOLDER}/update.available fi } SENDNOTICE(){ [ "${EMAIL_NOTICE}" != "" ] && echo -e "${2}\n\n$(date)" | mail -s "${1}" ${EMAIL_NOTICE} [ "${PUSHOVER_APP_TOKEN}" != "" ] && PUSH_TO_MOBILE "${2} $(date)" "${1}" ${3} } uptime_minutes() { set `uptime -p` local minutes=0 shift while [ -n "$1" ]; do case $2 in day*) ((minutes+=$1*1440));; hour*) ((minutes+=$1*60));; minute*) ((minutes+=$1));; esac shift shift done echo $minutes }