Update init.sh

This commit is contained in:
Bkeenke 2024-04-29 09:59:24 +03:00 committed by GitHub
parent d593b6122b
commit 7c2d4db10f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

139
init.sh
View File

@ -1,33 +1,116 @@
#!/bin/bash #!/usr/bin/env bash
DEBIAN_FRONTEND=noninteractive apt-get update set -e
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
DEBIAN_FRONTEND=noninteractive apt-get install build-essential curl make git wget qrencode python-3 python3-pip -y
mkdir -p /opt/go colorized_echo() {
cd /opt/go local color=$1
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz local text=$2
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
sleep 2
source /etc/profile
# if the go version does not show, then update the session
#Install amnezia-go case $color in
git clone https://github.com/amnezia-vpn/amneziawg-go.git /opt/amnezia-go "red")
cd /opt/amnezia-go printf "\e[91m${text}\e[0m\n";;
sleep 1 "green")
source /etc/profile printf "\e[92m${text}\e[0m\n";;
sleep 1 "yellow")
make printf "\e[93m${text}\e[0m\n";;
#copy to amneziawg-go "blue")
cp /opt/amnezia-go/amneziawg-go /usr/bin/amneziawg-go printf "\e[94m${text}\e[0m\n";;
"magenta")
printf "\e[95m${text}\e[0m\n";;
"cyan")
printf "\e[96m${text}\e[0m\n";;
*)
echo "${text}"
;;
esac
}
#Install amnezia-tools installing() {
git clone https://github.com/amnezia-vpn/amneziawg-tools.git /opt/amnezia-tools check_running_as_root
cd /opt/amnezia-tools/src detect_os
make detect_and_update_package_manager
make install install_package
install_go
install_awg
install_awg_tools
}
check_running_as_root() {
if [ "$(id -u)" != "0" ]; then
colorized_echo red "This command must be run as root."
exit 1
fi
}
detect_os() {
# Detect the operating system
if [ -f /etc/lsb-release ]; then
OS=$(lsb_release -si)
elif [ -f /etc/os-release ]; then
OS=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
elif [ -f /etc/redhat-release ]; then
OS=$(cat /etc/redhat-release | awk '{print $1}')
elif [ -f /etc/arch-release ]; then
OS="Arch"
else
colorized_echo red "Unsupported operating system"
exit 1
fi
}
detect_and_update_package_manager() {
colorized_echo blue "Updating package manager"
if [[ "$OS" == "Ubuntu"* ]] || [[ "$OS" == "Debian"* ]]; then
PKG_MANAGER="apt-get"
$PKG_MANAGER update
else
colorized_echo red "Unsupported operating system"
exit 1
fi
}
install_package () {
if [ -z $PKG_MANAGER ]; then
detect_and_update_package_manager
fi
colorized_echo blue "Installing Package"
if [[ "$OS" == "Ubuntu"* ]] || [[ "$OS" == "Debian"* ]]; then
$PKG_MANAGER -y install build-essential \
curl \
make \
git \
wget \
qrencode \
python3 \
python3-pip
else
colorized_echo red "Unsupported operating system"
exit 1
fi
}
#Install PyQt6
pip3 install PyQt6 install_go() {
mkdir -p /opt/go
cd /opt/go
curl -O https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source ~/.profile
if go version >/dev/null 2>&1; then
echo "Golang installed"
else
colorized_echo red "golang not found"
exit 1
fi
}
install_awg() {
}
install_awg_tools() {
}
case "$1" in
install)
shift; installing "$@";;
*)
usage;;
esac