|
@@ -38,17 +38,23 @@ echo "The OS release is: $release"
|
|
|
os_version=""
|
|
|
os_version=$(grep -i version_id /etc/os-release | cut -d \" -f2 | cut -d . -f1)
|
|
|
|
|
|
-if [[ "${release}" == "centos" ]]; then
|
|
|
+if [[ "${release}" == "arch" ]]; then
|
|
|
+ echo "Your OS is Arch Linux"
|
|
|
+elif [[ "${release}" == "manjaro" ]]; then
|
|
|
+ echo "Your OS is Manjaro"
|
|
|
+elif [[ "${release}" == "armbian" ]]; then
|
|
|
+ echo "Your OS is Armbian"
|
|
|
+elif [[ "${release}" == "centos" ]]; then
|
|
|
if [[ ${os_version} -lt 8 ]]; then
|
|
|
echo -e "${red} Please use CentOS 8 or higher ${plain}\n" && exit 1
|
|
|
fi
|
|
|
elif [[ "${release}" == "ubuntu" ]]; then
|
|
|
if [[ ${os_version} -lt 20 ]]; then
|
|
|
- echo -e "${red}please use Ubuntu 20 or higher version! ${plain}\n" && exit 1
|
|
|
+ echo -e "${red} Please use Ubuntu 20 or higher version!${plain}\n" && exit 1
|
|
|
fi
|
|
|
elif [[ "${release}" == "fedora" ]]; then
|
|
|
if [[ ${os_version} -lt 36 ]]; then
|
|
|
- echo -e "${red}please use Fedora 36 or higher version! ${plain}\n" && exit 1
|
|
|
+ echo -e "${red} Please use Fedora 36 or higher version!${plain}\n" && exit 1
|
|
|
fi
|
|
|
elif [[ "${release}" == "debian" ]]; then
|
|
|
if [[ ${os_version} -lt 11 ]]; then
|
|
@@ -56,18 +62,31 @@ elif [[ "${release}" == "debian" ]]; then
|
|
|
fi
|
|
|
elif [[ "${release}" == "almalinux" ]]; then
|
|
|
if [[ ${os_version} -lt 9 ]]; then
|
|
|
- echo -e "${red} Please use Almalinux 9 or higher ${plain}\n" && exit 1
|
|
|
+ echo -e "${red} Please use AlmaLinux 9 or higher ${plain}\n" && exit 1
|
|
|
fi
|
|
|
elif [[ "${release}" == "rocky" ]]; then
|
|
|
if [[ ${os_version} -lt 9 ]]; then
|
|
|
- echo -e "${red} Please use Rockylinux 9 or higher ${plain}\n" && exit 1
|
|
|
+ echo -e "${red} Please use Rocky Linux 9 or higher ${plain}\n" && exit 1
|
|
|
fi
|
|
|
-elif [[ "${release}" == "arch" ]]; then
|
|
|
- echo "Your OS is ArchLinux"
|
|
|
-elif [[ "${release}" == "manjaro" ]]; then
|
|
|
- echo "Your OS is Manjaro"
|
|
|
-elif [[ "${release}" == "armbian" ]]; then
|
|
|
- echo "Your OS is Armbian"
|
|
|
+elif [[ "${release}" == "oracle" ]]; then
|
|
|
+ if [[ ${os_version} -lt 8 ]]; then
|
|
|
+ echo -e "${red} Please use Oracle Linux 8 or higher ${plain}\n" && exit 1
|
|
|
+ fi
|
|
|
+else
|
|
|
+ echo -e "${red}Your operating system is not supported by this script.${plain}\n"
|
|
|
+ echo "Please ensure you are using one of the following supported operating systems:"
|
|
|
+ echo "- Ubuntu 20.04+"
|
|
|
+ echo "- Debian 11+"
|
|
|
+ echo "- CentOS 8+"
|
|
|
+ echo "- Fedora 36+"
|
|
|
+ echo "- Arch Linux"
|
|
|
+ echo "- Manjaro"
|
|
|
+ echo "- Armbian"
|
|
|
+ echo "- AlmaLinux 9+"
|
|
|
+ echo "- Rocky Linux 9+"
|
|
|
+ echo "- Oracle Linux 8+"
|
|
|
+ exit 1
|
|
|
+
|
|
|
fi
|
|
|
|
|
|
# Declare Variables
|
|
@@ -394,15 +413,18 @@ enable_bbr() {
|
|
|
|
|
|
# Check the OS and install necessary packages
|
|
|
case "${release}" in
|
|
|
- ubuntu | debian)
|
|
|
+ ubuntu | debian | armbian)
|
|
|
apt-get update && apt-get install -yqq --no-install-recommends ca-certificates
|
|
|
;;
|
|
|
- centos | almalinux | rocky)
|
|
|
+ centos | almalinux | rocky | oracle)
|
|
|
yum -y update && yum -y install ca-certificates
|
|
|
;;
|
|
|
fedora)
|
|
|
dnf -y update && dnf -y install ca-certificates
|
|
|
;;
|
|
|
+ arch | manjaro)
|
|
|
+ pacman -Sy --noconfirm ca-certificates
|
|
|
+ ;;
|
|
|
*)
|
|
|
echo -e "${red}Unsupported operating system. Please check the script and install the necessary packages manually.${plain}\n"
|
|
|
exit 1
|
|
@@ -721,12 +743,15 @@ ssl_cert_issue() {
|
|
|
ubuntu | debian | armbian)
|
|
|
apt update && apt install socat -y
|
|
|
;;
|
|
|
- centos | almalinux | rocky)
|
|
|
+ centos | almalinux | rocky | oracle)
|
|
|
yum -y update && yum -y install socat
|
|
|
;;
|
|
|
fedora)
|
|
|
dnf -y update && dnf -y install socat
|
|
|
;;
|
|
|
+ arch | manjaro)
|
|
|
+ pacman -Sy --noconfirm socat
|
|
|
+ ;;
|
|
|
*)
|
|
|
echo -e "${red}Unsupported operating system. Please check the script and install the necessary packages manually.${plain}\n"
|
|
|
exit 1
|
|
@@ -1082,16 +1107,19 @@ install_iplimit() {
|
|
|
|
|
|
# Check the OS and install necessary packages
|
|
|
case "${release}" in
|
|
|
- ubuntu | debian)
|
|
|
+ ubuntu | debian | armbian)
|
|
|
apt update && apt install fail2ban -y
|
|
|
;;
|
|
|
- centos | almalinux | rocky)
|
|
|
+ centos | almalinux | rocky | oracle)
|
|
|
yum update -y && yum install epel-release -y
|
|
|
yum -y install fail2ban
|
|
|
;;
|
|
|
fedora)
|
|
|
dnf -y update && dnf -y install fail2ban
|
|
|
;;
|
|
|
+ arch | manjaro)
|
|
|
+ pacman -Syu --noconfirm fail2ban
|
|
|
+ ;;
|
|
|
*)
|
|
|
echo -e "${red}Unsupported operating system. Please check the script and install the necessary packages manually.${plain}\n"
|
|
|
exit 1
|
|
@@ -1158,12 +1186,12 @@ remove_iplimit() {
|
|
|
rm -rf /etc/fail2ban
|
|
|
systemctl stop fail2ban
|
|
|
case "${release}" in
|
|
|
- ubuntu | debian)
|
|
|
+ ubuntu | debian | armbian)
|
|
|
apt-get remove -y fail2ban
|
|
|
apt-get purge -y fail2ban -y
|
|
|
apt-get autoremove -y
|
|
|
;;
|
|
|
- centos | almalinux | rocky)
|
|
|
+ centos | almalinux | rocky | oracle)
|
|
|
yum remove fail2ban -y
|
|
|
yum autoremove -y
|
|
|
;;
|
|
@@ -1171,6 +1199,9 @@ remove_iplimit() {
|
|
|
dnf remove fail2ban -y
|
|
|
dnf autoremove -y
|
|
|
;;
|
|
|
+ arch | manjaro)
|
|
|
+ pacman -Rns --noconfirm fail2ban
|
|
|
+ ;;
|
|
|
*)
|
|
|
echo -e "${red}Unsupported operating system. Please uninstall Fail2ban manually.${plain}\n"
|
|
|
exit 1
|