wip3
This commit is contained in:
+68
-19
@@ -1,31 +1,80 @@
|
||||
#!/usr/bin/env bash
|
||||
##makedesc: Install openvpn v2.6.3 (src)
|
||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
||||
|
||||
# https://openvpn.net/community-downloads/
|
||||
# https://openvpn.net/community-resources/installing-openvpn/
|
||||
set -eo pipefail
|
||||
|
||||
[ "$1" ] && OVPNVER="$1" || OVPNVER='2.6.3'
|
||||
installed() { command -v "$1" >/dev/null 2>&1; }
|
||||
|
||||
title "Installing openvpn v${OVPNVER} (src)..."
|
||||
require() {
|
||||
local missing=()
|
||||
for pkg in "$@"; do
|
||||
installed "$pkg" || missing+=("$pkg")
|
||||
done
|
||||
if [ ${#missing[@]} -gt 0 ]; then
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if installed brew; then
|
||||
brew install "${missing[@]}"
|
||||
else
|
||||
echo "ERROR: Missing: ${missing[*]}. Install manually or use brew." >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
sudo apt install -y "${missing[@]}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
require libssl-dev \
|
||||
liblzo2-dev \
|
||||
libpam0g-dev
|
||||
download() {
|
||||
if installed wget; then
|
||||
wget -q --show-progress "$1" -O "$2"
|
||||
else
|
||||
curl -fsSL "$1" -o "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
mkdir -p "$HOME/install/"
|
||||
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz" && \
|
||||
unpack_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/" && \
|
||||
cd "$HOME/install/openvpn-${OVPNVER}" && \
|
||||
sudo ./configure && \
|
||||
sudo make && \
|
||||
sudo make install &&
|
||||
apt_install network-manager-openvpn \
|
||||
network-manager-openvpn-gnome
|
||||
unpack_targz() {
|
||||
tar -xzvf "$1" -C "$2"
|
||||
}
|
||||
|
||||
install() {
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if installed brew; then
|
||||
brew install openvpn
|
||||
else
|
||||
echo "ERROR: Install Homebrew first." >&2
|
||||
exit 1
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
[ $? = 0 ] && {
|
||||
echo
|
||||
success "openvpn installed!"
|
||||
echo "==============================================="
|
||||
echo "Installing openvpn"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
# https://openvpn.net/community-downloads/
|
||||
# https://openvpn.net/community-resources/installing-openvpn/
|
||||
|
||||
OVPNVER='2.6.3'
|
||||
|
||||
require libssl-dev liblzo2-dev libpam0g-dev
|
||||
|
||||
mkdir -p "$HOME/install/"
|
||||
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz"
|
||||
unpack_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/"
|
||||
cd "$HOME/install/openvpn-${OVPNVER}"
|
||||
sudo ./configure
|
||||
sudo make
|
||||
sudo make install
|
||||
sudo apt install -y network-manager-openvpn network-manager-openvpn-gnome
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
openvpn --version
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
*) install ;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user