Feat: support Linux Mint
This commit is contained in:
parent
cf06d39805
commit
95615a293c
2 changed files with 33 additions and 5 deletions
|
@ -1,5 +1,5 @@
|
||||||
## wireguard-install
|
## wireguard-install
|
||||||
WireGuard [road warrior](http://en.wikipedia.org/wiki/Road_warrior_%28computing%29) installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora.
|
WireGuard [road warrior](http://en.wikipedia.org/wiki/Road_warrior_%28computing%29) installer for Ubuntu, Linux Mint, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora.
|
||||||
|
|
||||||
This script will let you set up your own VPN server in no more than a minute, even if you haven't used WireGuard before. It has been designed to be as unobtrusive and universal as possible.
|
This script will let you set up your own VPN server in no more than a minute, even if you haven't used WireGuard before. It has been designed to be as unobtrusive and universal as possible.
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,10 @@ fi
|
||||||
|
|
||||||
# Detect OS
|
# Detect OS
|
||||||
# $os_version variables aren't always in use, but are kept here for convenience
|
# $os_version variables aren't always in use, but are kept here for convenience
|
||||||
if grep -qs "ubuntu" /etc/os-release; then
|
if [[ -e /etc/linuxmint/info ]]; then
|
||||||
|
os="linuxmint"
|
||||||
|
os_version=$(grep 'RELEASE=' /etc/linuxmint/info | cut -d '=' -f 2 | cut -d '.' -f 1)
|
||||||
|
elif grep -qs "ubuntu" /etc/os-release; then
|
||||||
os="ubuntu"
|
os="ubuntu"
|
||||||
os_version=$(grep 'VERSION_ID' /etc/os-release | cut -d '"' -f 2 | tr -d '.')
|
os_version=$(grep 'VERSION_ID' /etc/os-release | cut -d '"' -f 2 | tr -d '.')
|
||||||
elif [[ -e /etc/debian_version ]]; then
|
elif [[ -e /etc/debian_version ]]; then
|
||||||
|
@ -36,7 +39,13 @@ elif [[ -e /etc/fedora-release ]]; then
|
||||||
os_version=$(grep -oE '[0-9]+' /etc/fedora-release | head -1)
|
os_version=$(grep -oE '[0-9]+' /etc/fedora-release | head -1)
|
||||||
else
|
else
|
||||||
echo "This installer seems to be running on an unsupported distribution.
|
echo "This installer seems to be running on an unsupported distribution.
|
||||||
Supported distros are Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora."
|
Supported distros are Ubuntu, Linux Mint, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$os" == "linuxmint" && "$os_version" -lt 19 ]]; then
|
||||||
|
echo "Linux Mint 19 or higher is required to use this installer.
|
||||||
|
This version of Linux Mint is too old and unsupported."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -262,7 +271,7 @@ if [[ ! -e /etc/wireguard/wg0.conf ]]; then
|
||||||
if [[ "$boringtun_updates" =~ ^[yY]$ ]]; then
|
if [[ "$boringtun_updates" =~ ^[yY]$ ]]; then
|
||||||
if [[ "$os" == "centos" || "$os" == "fedora" ]]; then
|
if [[ "$os" == "centos" || "$os" == "fedora" ]]; then
|
||||||
cron="cronie"
|
cron="cronie"
|
||||||
elif [[ "$os" == "debian" || "$os" == "ubuntu" ]]; then
|
elif [[ "$os" == "debian" || "$os" == "ubuntu" || "$os" == "linuxmint" ]]; then
|
||||||
cron="cron"
|
cron="cron"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -276,7 +285,7 @@ if [[ ! -e /etc/wireguard/wg0.conf ]]; then
|
||||||
# We don't want to silently enable firewalld, so we give a subtle warning
|
# We don't want to silently enable firewalld, so we give a subtle warning
|
||||||
# If the user continues, firewalld will be installed and enabled during setup
|
# If the user continues, firewalld will be installed and enabled during setup
|
||||||
echo "firewalld, which is required to manage routing tables, will also be installed."
|
echo "firewalld, which is required to manage routing tables, will also be installed."
|
||||||
elif [[ "$os" == "debian" || "$os" == "ubuntu" ]]; then
|
elif [[ "$os" == "debian" || "$os" == "ubuntu" || "$os" == "linuxmint" ]]; then
|
||||||
# iptables is way less invasive than firewalld so no warning is given
|
# iptables is way less invasive than firewalld so no warning is given
|
||||||
firewall="iptables"
|
firewall="iptables"
|
||||||
fi
|
fi
|
||||||
|
@ -289,6 +298,10 @@ if [[ ! -e /etc/wireguard/wg0.conf ]]; then
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y wireguard qrencode $firewall
|
apt-get install -y wireguard qrencode $firewall
|
||||||
|
elif [[ "$os" == "linuxmint" ]]; then
|
||||||
|
# Linux Mint
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y wireguard qrencode $firewall
|
||||||
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
||||||
# Debian 11 or higher
|
# Debian 11 or higher
|
||||||
apt-get update
|
apt-get update
|
||||||
|
@ -335,6 +348,11 @@ if [[ ! -e /etc/wireguard/wg0.conf ]]; then
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y qrencode ca-certificates $cron $firewall
|
apt-get install -y qrencode ca-certificates $cron $firewall
|
||||||
apt-get install -y wireguard-tools --no-install-recommends
|
apt-get install -y wireguard-tools --no-install-recommends
|
||||||
|
elif [[ "$os" == "linuxmint" ]]; then
|
||||||
|
# Linux Mint
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y qrencode ca-certificates $cron $firewall
|
||||||
|
apt-get install -y wireguard-tools --no-install-recommends
|
||||||
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
||||||
# Debian 11 or higher
|
# Debian 11 or higher
|
||||||
apt-get update
|
apt-get update
|
||||||
|
@ -502,6 +520,8 @@ EOF
|
||||||
echo "Installation was finished, but the WireGuard kernel module could not load."
|
echo "Installation was finished, but the WireGuard kernel module could not load."
|
||||||
if [[ "$os" == "ubuntu" && "$os_version" -eq 1804 ]]; then
|
if [[ "$os" == "ubuntu" && "$os_version" -eq 1804 ]]; then
|
||||||
echo 'Upgrade the kernel and headers with "apt-get install linux-generic" and restart.'
|
echo 'Upgrade the kernel and headers with "apt-get install linux-generic" and restart.'
|
||||||
|
elif [[ "$os" == "linuxmint" && "$os_version" -eq 19 ]]; then
|
||||||
|
echo 'Upgrade the kernel and headers with "apt-get install linux-generic" and restart.'
|
||||||
elif [[ "$os" == "debian" && "$os_version" -eq 10 ]]; then
|
elif [[ "$os" == "debian" && "$os_version" -eq 10 ]]; then
|
||||||
echo "Upgrade the kernel with \"apt-get install linux-image-$architecture\" and restart."
|
echo "Upgrade the kernel with \"apt-get install linux-image-$architecture\" and restart."
|
||||||
elif [[ "$os" == "centos" && "$os_version" -le 8 ]]; then
|
elif [[ "$os" == "centos" && "$os_version" -le 8 ]]; then
|
||||||
|
@ -627,6 +647,10 @@ else
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
rm -rf /etc/wireguard/
|
rm -rf /etc/wireguard/
|
||||||
apt-get remove --purge -y wireguard wireguard-tools
|
apt-get remove --purge -y wireguard wireguard-tools
|
||||||
|
elif [[ "$os" == "linuxmint" ]]; then
|
||||||
|
# Linux Mint
|
||||||
|
rm -rf /etc/wireguard/
|
||||||
|
apt-get remove --purge -y wireguard wireguard-tools
|
||||||
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
||||||
# Debian 11 or higher
|
# Debian 11 or higher
|
||||||
rm -rf /etc/wireguard/
|
rm -rf /etc/wireguard/
|
||||||
|
@ -654,6 +678,10 @@ else
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
rm -rf /etc/wireguard/
|
rm -rf /etc/wireguard/
|
||||||
apt-get remove --purge -y wireguard-tools
|
apt-get remove --purge -y wireguard-tools
|
||||||
|
elif [[ "$os" == "linuxmint" ]]; then
|
||||||
|
# Linux Mint
|
||||||
|
rm -rf /etc/wireguard/
|
||||||
|
apt-get remove --purge -y wireguard-tools
|
||||||
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
elif [[ "$os" == "debian" && "$os_version" -ge 11 ]]; then
|
||||||
# Debian 11 or higher
|
# Debian 11 or higher
|
||||||
rm -rf /etc/wireguard/
|
rm -rf /etc/wireguard/
|
||||||
|
|
Loading…
Add table
Reference in a new issue