#!/bin/bash W=$(whoami) if [ "$W" != "root" ]; then echo "Please login as root to continue." exit 1 fi if [ "$1" == "update" ]; then mkdir -p /go cd /go wget -N -r -np -nd -q -R "index.html*" https://download.gopanel.org/update/ chmod +x -R /go cd /panel rm -rf admin.tar.gz wget https://download.gopanel.org/admin.tar.gz -q -t 1 -T 10 --no-check-certificate rm -rf /panel/admin tar -xzf admin.tar.gz /go/update exit 1 fi if [[ $@ = *"--force"* ]]; then rm -rf /panel fi mkdir -p /panel mkdir -p /panel/db if [ "$1" == "lite" ]; then echo "" > /panel/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 dpkg --configure -a DEBIAN_FRONTEND='noninteractive' apt -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' update DEBIAN_FRONTEND='noninteractive' apt -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' upgrade DEBIAN_FRONTEND='noninteractive' apt -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade DEBIAN_FRONTEND='noninteractive' apt -y install software-properties-common DEBIAN_FRONTEND='noninteractive' apt -y autoremove -y DEBIAN_FRONTEND='noninteractive' apt -y clean DEBIAN_FRONTEND='noninteractive' apt -y autoclean echo -ne "Working... Please be patient" echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install ca-certificates &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install wget &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install tar &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install gzip &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install rsync &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install net-tools &> /dev/null echo -ne "." DEBIAN_FRONTEND='noninteractive' apt -y install sudo &> /dev/null fi if command -v zypper &> /dev/null; then zypper refresh zypper -n update echo -ne "Working... Please be patient" echo -ne "." zypper -n install ca-certificates &> /dev/null echo -ne "." zypper -n install wget &> /dev/null echo -ne "." zypper -n install tar &> /dev/null echo -ne "." zypper -n install gzip &> /dev/null echo -ne "." zypper -n install rsync &> /dev/null echo -ne "." zypper -n install net-tools &> /dev/null echo -ne "." zypper -n install sudo &> /dev/null fi if command -v pacman &> /dev/null; then echo -ne "Working... Please be patient" echo -ne "." pacman --noconfirm -S ca-certificates &> /dev/null echo -ne "." pacman --noconfirm -S wget &> /dev/null echo -ne "." pacman --noconfirm -S tar &> /dev/null echo -ne "." pacman --noconfirm -S gzip &> /dev/null echo -ne "." pacman --noconfirm -S rsync &> /dev/null echo -ne "." pacman --noconfirm -S net-tools &> /dev/null echo -ne "." pacman --noconfirm -S sudo &> /dev/null fi if command -v pkg &> /dev/null; then pkg -y update pkg -y upgrade echo -ne "Working... Please be patient" echo -ne "." pkg -y install ca-certificates &> /dev/null echo -ne "." pkg -y install wget &> /dev/null echo -ne "." pkg -y install tar &> /dev/null echo -ne "." pkg -y install gzip &> /dev/null echo -ne "." pkg -y install rsync &> /dev/null echo -ne "." pkg -y install net-tools &> /dev/null echo -ne "." pkg -y install sudo &> /dev/null fi echo "" if [ -d "/panel/admin" ]; 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 /panel rm -rf admin.tar.gz SiteArray=('download.gopanel.org' 'mirror.gopanel.org') SiteArray=($(shuf -e "${SiteArray[@]}")) for Site in ${SiteArray[@]} do echo "Mirror (Dashboard): $Site" wget $Site/admin.tar.gz -q -t 1 -T 20 --no-check-certificate && break done if [ -f "admin.tar.gz" ]; then if gzip -t admin.tar.gz; then rm -rf /panel/admin tar -xzf admin.tar.gz rm -rf admin.tar.gz else echo "Go Panel Download failed." exit 1 fi else /go/resolver echo "Go Panel Download failed. Try Again" exit 1 fi cd / rm -rf go.tar.gz SiteArray=('download.gopanel.org' 'mirror.gopanel.org') SiteArray=($(shuf -e "${SiteArray[@]}")) for Site in ${SiteArray[@]} do echo "Mirror (GO): $Site" wget $Site/go.tar.gz -q -t 1 -T 20 --no-check-certificate && break done if [ -f "go.tar.gz" ]; then if gzip -t go.tar.gz; then rm -rf go tar -xzf go.tar.gz rm -rf go.tar.gz else echo "Go Panel Download failed." exit 1 fi else echo "Go Panel Download failed." exit 1 fi TimeStamp=$(date +'%s') echo "$TimeStamp" > /panel/db/elapsed.db /go/setup &