From 27174ec5406ee7ac87f5b2d04ad5e71e3dc4e72b Mon Sep 17 00:00:00 2001 From: AnilAntari <86964331+AnilAntari@users.noreply.github.com> Date: Fri, 6 Oct 2023 20:25:22 +0300 Subject: [PATCH] Add files via upload --- README.md | 3 ++- openvpn-install.sh | 38 +++++++++++++++++++++++++++++++++----- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fba65c8..eb0c6de 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![Lint](https://github.com/angristan/openvpn-install/workflows/Lint/badge.svg) [![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/angristan) -OpenVPN installer for Debian, Ubuntu, Fedora, CentOS, Arch Linux, Oracle Linux, Rocky Linux and AlmaLinux. +OpenVPN installer for Debian, Ubuntu, Fedora, CentOS, Arch Linux, Oracle Linux, Rocky Linux, ALT Linux and AlmaLinux. This script will let you setup your own secure VPN server in just a few seconds. @@ -120,6 +120,7 @@ The script supports these Linux distributions: | AlmaLinux 8 | ✅ | | Amazon Linux 2 | ✅ | | Arch Linux | ✅ | +| ALT Linux | ✅ | | CentOS 7 | ✅ 🤖 | | CentOS Stream >= 8 | ✅ 🤖 | | Debian >= 10 | ✅ 🤖 | diff --git a/openvpn-install.sh b/openvpn-install.sh index c47e08f..5f6c75e 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -1,7 +1,7 @@ #!/bin/bash # shellcheck disable=SC1091,SC2164,SC2034,SC1072,SC1073,SC1009 -# Secure OpenVPN server installer for Debian, Ubuntu, CentOS, Amazon Linux 2, Fedora, Oracle Linux 8, Arch Linux, Rocky Linux and AlmaLinux. +# Secure OpenVPN server installer for Debian, Ubuntu, CentOS, Amazon Linux 2, Fedora, Oracle Linux 8, Arch Linux, ALT Linux, Rocky Linux and AlmaLinux. # https://github.com/angristan/openvpn-install function isRoot() { @@ -84,6 +84,10 @@ function checkOS() { exit 1 fi fi + if [[ $ID == "altlinux" ]]; then + OS="altlinux" + echo $OS + fi elif [[ -e /etc/arch-release ]]; then OS=arch else @@ -108,7 +112,7 @@ function installUnbound() { # If Unbound isn't installed, install it if [[ ! -e /etc/unbound/unbound.conf ]]; then - if [[ $OS =~ (debian|ubuntu) ]]; then + if [[ $OS =~ (debian|ubuntu|altlinux) ]]; then apt-get install -y unbound # Configuration @@ -137,10 +141,17 @@ prefetch: yes' >>/etc/unbound/unbound.conf sed -i 's|# access-control: 127.0.0.0/8 allow|access-control: 10.8.0.1/24 allow|' /etc/unbound/unbound.conf sed -i 's|# hide-identity: no|hide-identity: yes|' /etc/unbound/unbound.conf sed -i 's|# hide-version: no|hide-version: yes|' /etc/unbound/unbound.conf - sed -i 's|# use-caps-for-id: no|use-caps-for-id: yes|' /etc/unbound/unbound.conf + sed -i 's|# use-caps-for-id: no|use-caps-for-id: yes|' elif [[ $OS == "arch" ]]; then pacman -Syu --noconfirm unbound + # Configuration + echo 'interface: 10.8.0.1 +access-control: 10.8.0.1/24 allow +hide-identity: yes +hide-version: yes +use-caps-for-id: yes +prefetch: yes' >>/etc/unbound/unbound.conf # Get root servers list curl -o /etc/unbound/root.hints https://www.internic.net/domain/named.cache @@ -687,6 +698,8 @@ function installOpenVPN() { yum install -y openvpn iptables openssl wget ca-certificates curl elif [[ $OS == 'fedora' ]]; then dnf install -y openvpn iptables openssl wget ca-certificates curl policycoreutils-python-utils + elif [[ $OS == 'altlinux' ]]; then + apt-get install -y openvpn wget easy-rsa openssl ca-certificates elif [[ $OS == 'arch' ]]; then # Install required dependencies and upgrade the system pacman --needed --noconfirm -Syu openvpn iptables openssl wget ca-certificates curl @@ -936,6 +949,18 @@ verb 3" >>/etc/openvpn/server.conf systemctl daemon-reload systemctl enable openvpn-server@server systemctl restart openvpn-server@server + + # For altlinux + elif [[ $OS == "altlinux" ]]; then + echo '#!/bin/bash + # Startup file for OpenVPN + openvpn /etc/openvpn/server.conf & + # Load tun module + /sbin/modprobe tun >/dev/null 2>&1 + sleep 1s' >> /etc/openvpn/openvpn-startup + systemctl enable openvpn + systemctl start openvpn + elif [[ $OS == "ubuntu" ]] && [[ $VERSION_ID == "16.04" ]]; then # On Ubuntu 16.04, we use the package from the OpenVPN repo # This package uses a sysvinit service @@ -1205,7 +1230,7 @@ function removeUnbound() { # Stop Unbound systemctl stop unbound - if [[ $OS =~ (debian|ubuntu) ]]; then + if [[ $OS =~ (debian|ubuntu|altlinux) ]]; then apt-get remove --purge -y unbound elif [[ $OS == 'arch' ]]; then pacman --noconfirm -R unbound @@ -1243,6 +1268,9 @@ function removeOpenVPN() { elif [[ $OS == "ubuntu" ]] && [[ $VERSION_ID == "16.04" ]]; then systemctl disable openvpn systemctl stop openvpn + elif [[ $OS == "altlinux" ]]; then + systemctl disable openvpn + systemctl stop openvpn else systemctl disable openvpn@server systemctl stop openvpn@server @@ -1268,7 +1296,7 @@ function removeOpenVPN() { fi fi - if [[ $OS =~ (debian|ubuntu) ]]; then + if [[ $OS =~ (debian|ubuntu|altlinux) ]]; then apt-get remove --purge -y openvpn if [[ -e /etc/apt/sources.list.d/openvpn.list ]]; then rm /etc/apt/sources.list.d/openvpn.list