#!/bin/bash # Variables # check if FILE_NAME is set if [ -z "$FILE_NAME" ]; then echo "Error: FILE_NAME is not set." >&2 exit 1 fi SERVER_FILE="https://git.ivanch.me/ivanch/server-scripts/raw/branch/main/$FILE_NAME" SERVER_OK=1 # Check if the server file exists curl -s --head $SERVER_FILE | head -n 1 | grep -E "HTTP/[12] [23].." > /dev/null if [ $? -ne 0 ]; then echo "Error: $SERVER_FILE not found." >&2 SERVER_OK=0 fi if [ $SERVER_OK -eq 1 ]; then echo "Running auto-update..." # Compare the local and server files sha256sum to check if an update is needed LOCAL_SHA256=$(sha256sum $FILE_NAME | awk '{print $1}') SERVER_SHA256=$(curl -s $SERVER_FILE | sha256sum | awk '{print $1}') if [ "$LOCAL_SHA256" != "$SERVER_SHA256" ]; then echo "Updating $FILE_NAME..." curl -s -o $FILE_NAME $SERVER_FILE echo "$FILE_NAME updated." chmod +x $FILE_NAME echo "Permissions set up." echo "Running updated $FILE_NAME..." ./$FILE_NAME exit 0 else echo "$FILE_NAME is up to date.." fi fi