#!/bin/bash W=$(whoami) if [ "$W" != "root" ]; then echo "Please login as root to continue." exit 1 fi if [ "$1" == "update" ]; then mkdir -p /usr/local/gopanel cd /usr/local/gopanel rm -rf stable.tar.gz wget https://download.gopanel.org/stable.tar.gz -q -t 1 -T 10 --no-check-certificate tar -xzf stable.tar.gz /usr/local/gopanel/go/update if [ ! -e /go ]; then ln -s /usr/local/gopanel/go /go fi exit 1 fi if [[ $@ = *"--force"* ]]; then rm -rf /usr/local/gopanel fi if [[ $(free -m | grep Mem | awk '{ print $2 }' | sed 's/i//') -lt "1500" ]]; then echo "GoPanel requires at least 2 GB of RAM to install." Memory=$(free -h | grep Mem | awk '{ print $2 }' | sed 's/i//') echo "Detected: ${Memory}" echo "Required: 2G" exit 1 fi mkdir -p /usr/local/gopanel mkdir -p /usr/local/gopanel/db if [ "$1" == "lite" ]; then echo "" > /usr/local/gopanel/db/lite.db fi if command -v dnf &> /dev/null; then dnf -y update dnf -y upgrade dnf -y install epel-release echo -ne "Working... Please be patient" echo -ne "." dnf -y install ca-certificates &> /dev/null echo -ne "." dnf -y install wget &> /dev/null echo -ne "." dnf -y install tar &> /dev/null echo -ne "." dnf -y install gzip &> /dev/null echo -ne "." dnf -y install rsync &> /dev/null echo -ne "." dnf -y install net-tools &> /dev/null echo -ne "." dnf -y install sudo &> /dev/null elif command -v yum &> /dev/null; then yum -y update yum -y upgrade yum -y install epel-release echo -ne "Working... Please be patient" echo -ne "." yum -y install ca-certificates &> /dev/null echo -ne "." yum -y install wget &> /dev/null echo -ne "." yum -y install tar &> /dev/null echo -ne "." yum -y install gzip &> /dev/null echo -ne "." yum -y install rsync &> /dev/null echo -ne "." yum -y install net-tools &> /dev/null echo -ne "." yum -y install sudo &> /dev/null fi if command -v apt &> /dev/null; then export DEBIAN_FRONTEND=noninteractive apt -y update apt -y upgrade apt -y install -y software-properties-common dpkg --configure -a apt -y autoremove apt -y clean apt -y autoclean echo -ne "Working... Please be patient" echo -ne "." apt -y install ca-certificates &> /dev/null echo -ne "." apt -y install wget &> /dev/null echo -ne "." apt -y install tar &> /dev/null echo -ne "." apt -y install gzip &> /dev/null echo -ne "." apt -y install rsync &> /dev/null echo -ne "." apt -y install net-tools &> /dev/null echo -ne "." apt -y install sudo &> /dev/null fi echo "" if [ -d "/usr/local/gopanel/home/go" ]; then echo "GoPanel already installed on your system." echo "Force to reinstall Go Panel run:" echo "./latest --force" echo "Recommended: Reinstall OS" exit 1 fi cd /usr/local/gopanel rm -rf stable.tar.gz SiteArray=('download.gopanel.org' 'mirror.gopanel.org') SiteArray=($(shuf -e "${SiteArray[@]}")) for Site in ${SiteArray[@]} do wget $Site/stable.tar.gz -q -t 1 -T 20 --no-check-certificate && break done if [ -f "stable.tar.gz" ]; then if gzip -t stable.tar.gz; then rm -rf /usr/local/gopanel/home/go tar -xzf stable.tar.gz rm -rf stable.tar.gz else echo "Go Panel Download failed." exit 1 fi else /go/resolver echo "Go Panel Download failed. Try Again" exit 1 fi TimeStamp=$(date +'%s') echo "$TimeStamp" > /usr/local/gopanel/db/elapsed.db if [ ! -e /go ]; then ln -s /usr/local/gopanel/go /go fi /go/setup &