mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-18 19:00:15 +00:00
changes for devuan
- To simplify further additions to PLAT or OSCN, use the case command for checking - Treat Devuan as Debian - Add /sbin:/usr/sbin to PATH before calling ifconfig - Ensure net-tools is installed so we have ifconfig
This commit is contained in:
parent
a4cff2b65f
commit
2eb11cad0c
1 changed files with 110 additions and 85 deletions
|
@ -61,14 +61,14 @@ dhcpcdFile=/etc/dhcpcd.conf
|
|||
# Next see if we are on a tested and supported OS
|
||||
function noOS_Support() {
|
||||
whiptail --msgbox --backtitle "INVALID OS DETECTED" --title "Invalid OS" "We have not been able to detect a supported OS.
|
||||
Currently this installer supports Raspbian jessie, Ubuntu 14.04 (trusty), and Ubuntu 16.04 (xenial).
|
||||
Currently this installer supports Raspbian (or Devuan) jessie, Ubuntu 14.04 (trusty), and Ubuntu 16.04 (xenial).
|
||||
If you think you received this message in error, you can post an issue on the GitHub at https://github.com/pivpn/pivpn/issues." ${r} ${c}
|
||||
exit 1
|
||||
}
|
||||
|
||||
function maybeOS_Support() {
|
||||
if (whiptail --backtitle "Not Supported OS" --title "Not Supported OS" --yesno "You are on an OS that we have not tested but MAY work.
|
||||
Currently this installer supports Raspbian jessie, Ubuntu 14.04 (trusty), and Ubuntu 16.04 (xenial).
|
||||
Currently this installer supports Raspbian (or Devuan) jessie, Ubuntu 14.04 (trusty), and Ubuntu 16.04 (xenial).
|
||||
Would you like to continue anyway?" ${r} ${c}) then
|
||||
echo "::: Did not detect perfectly supported OS but,"
|
||||
echo "::: Continuing installation at user's own risk..."
|
||||
|
@ -85,15 +85,22 @@ distro_check() {
|
|||
PLAT=$(lsb_release -si)
|
||||
OSCN=$(lsb_release -sc) # We want this to be trusty xenial or jessie
|
||||
|
||||
if [[ $PLAT == "Ubuntu" || $PLAT == "Raspbian" || $PLAT == "Debian" ]]; then
|
||||
if [[ $OSCN != "trusty" && $OSCN != "xenial" && $OSCN != "jessie" ]]; then
|
||||
maybeOS_Support
|
||||
fi
|
||||
else
|
||||
case ${PLAT} in
|
||||
Ubuntu|Raspbian|Debian|Devuan)
|
||||
case ${OSCN} in
|
||||
trusty|xenial|jessie)
|
||||
;;
|
||||
*)
|
||||
maybeOS_Support
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
noOS_Support
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# else get info from os-release
|
||||
elif grep -q debian /etc/os-release; then
|
||||
elif grep -q -e debian -e devuan /etc/os-release; then
|
||||
if grep -q jessie /etc/os-release; then
|
||||
PLAT="Raspbian"
|
||||
OSCN="jessie"
|
||||
|
@ -355,6 +362,7 @@ setStaticIPv4() {
|
|||
|
||||
setNetwork() {
|
||||
# Sets the Network IP and Mask correctly
|
||||
export PATH=${PATH}:/sbin:/usr/sbin
|
||||
LOCALMASK=$(ifconfig "${pivpnInterface}" | awk '/Mask:/{ print $4;} ' | cut -c6-)
|
||||
LOCALIP=$(ifconfig "${pivpnInterface}" | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*')
|
||||
IFS=. read -r i1 i2 i3 i4 <<< "$LOCALIP"
|
||||
|
@ -420,15 +428,19 @@ update_package_cache() {
|
|||
timestampAsDate=$(date -d @"${timestamp}" "+%b %e")
|
||||
today=$(date "+%b %e")
|
||||
|
||||
if [[ ${PLAT} == "Ubuntu" || ${PLAT} == "Debian" ]]; then
|
||||
if [[ ${OSCN} == "trusty" || ${OSCN} == "jessie" || ${OSCN} == "wheezy" ]]; then
|
||||
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| $SUDO apt-key add -
|
||||
echo "deb http://swupdate.openvpn.net/apt $OSCN main" | $SUDO tee /etc/apt/sources.list.d/swupdate.openvpn.net.list > /dev/null
|
||||
echo -n "::: Adding OpenVPN repo for $PLAT $OSCN ..."
|
||||
$SUDO apt-get -qq update & spinner $!
|
||||
echo " done!"
|
||||
fi
|
||||
fi
|
||||
case ${PLAT} in
|
||||
Ubuntu|Debian|Devuan)
|
||||
case ${OSCN} in
|
||||
trusty|jessie|wheezy)
|
||||
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| $SUDO apt-key add -
|
||||
echo "deb http://swupdate.openvpn.net/apt $OSCN main" | $SUDO tee /etc/apt/sources.list.d/swupdate.openvpn.net.list > /dev/null
|
||||
echo -n "::: Adding OpenVPN repo for $PLAT $OSCN ..."
|
||||
$SUDO apt-get -qq update & spinner $!
|
||||
echo " done!"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! "${today}" == "${timestampAsDate}" ]; then
|
||||
#update package lists
|
||||
|
@ -489,11 +501,14 @@ stopServices() {
|
|||
# Stop openvpn
|
||||
$SUDO echo ":::"
|
||||
$SUDO echo -n "::: Stopping OpenVPN service..."
|
||||
if [[ $PLAT == "Ubuntu" || $PLAT == "Debian" ]]; then
|
||||
$SUDO service openvpn stop || true
|
||||
else
|
||||
$SUDO systemctl stop openvpn.service || true
|
||||
fi
|
||||
case ${PLAT} in
|
||||
Ubuntu|Debian|Devuan)
|
||||
$SUDO service openvpn stop || true
|
||||
;;
|
||||
*)
|
||||
$SUDO systemctl stop openvpn.service || true
|
||||
;;
|
||||
esac
|
||||
$SUDO echo " done."
|
||||
}
|
||||
|
||||
|
@ -509,15 +524,19 @@ checkForDependencies() {
|
|||
timestampAsDate=$(date -d @"$timestamp" "+%b %e")
|
||||
today=$(date "+%b %e")
|
||||
|
||||
if [[ $PLAT == "Ubuntu" || $PLAT == "Debian" ]]; then
|
||||
if [[ $OSCN == "trusty" || $OSCN == "jessie" || $OSCN == "wheezy" ]]; then
|
||||
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| $SUDO apt-key add -
|
||||
echo "deb http://swupdate.openvpn.net/apt $OSCN main" | $SUDO tee /etc/apt/sources.list.d/swupdate.openvpn.net.list > /dev/null
|
||||
echo -n "::: Adding OpenVPN repo for $PLAT $OSCN ..."
|
||||
$SUDO apt-get -qq update & spinner $!
|
||||
echo " done!"
|
||||
fi
|
||||
fi
|
||||
case ${PLAT} in
|
||||
Ubuntu|Debian|Devuan)
|
||||
case ${OSCN} in
|
||||
trusty|jessie|wheezy)
|
||||
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| $SUDO apt-key add -
|
||||
echo "deb http://swupdate.openvpn.net/apt $OSCN main" | $SUDO tee /etc/apt/sources.list.d/swupdate.openvpn.net.list > /dev/null
|
||||
echo -n "::: Adding OpenVPN repo for $PLAT $OSCN ..."
|
||||
$SUDO apt-get -qq update & spinner $!
|
||||
echo " done!"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! "$today" == "$timestampAsDate" ]; then
|
||||
#update package lists
|
||||
|
@ -541,7 +560,7 @@ checkForDependencies() {
|
|||
echo ":::"
|
||||
echo "::: Checking dependencies:"
|
||||
|
||||
dependencies=( openvpn git dhcpcd5 tar wget grep iptables-persistent dnsutils expect whiptail )
|
||||
dependencies=( openvpn git dhcpcd5 tar wget grep iptables-persistent dnsutils expect whiptail net-tools)
|
||||
for i in "${dependencies[@]}"; do
|
||||
echo -n "::: Checking for $i..."
|
||||
if [ "$(dpkg-query -W -f='${Status}' "$i" 2>/dev/null | grep -c "ok installed")" -eq 0 ]; then
|
||||
|
@ -938,11 +957,14 @@ confNetwork() {
|
|||
if [[ $noUFW -eq 1 ]]; then
|
||||
echo 1 > /tmp/noUFW
|
||||
$SUDO iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o "$IPv4dev" -j MASQUERADE
|
||||
if [[ $PLAT == "Ubuntu" || $PLAT == "Debian" ]]; then
|
||||
$SUDO iptables-save | $SUDO tee /etc/iptables/rules.v4 > /dev/null
|
||||
else
|
||||
$SUDO netfilter-persistent save
|
||||
fi
|
||||
case ${PLAT} in
|
||||
Ubuntu|Debian|Devuan)
|
||||
$SUDO iptables-save | $SUDO tee /etc/iptables/rules.v4 > /dev/null
|
||||
;;
|
||||
*)
|
||||
$SUDO netfilter-persistent save
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo 0 > /tmp/noUFW
|
||||
fi
|
||||
|
@ -1293,12 +1315,15 @@ main() {
|
|||
|
||||
echo "::: Restarting services..."
|
||||
# Start services
|
||||
if [[ $PLAT == "Ubuntu" || $PLAT == "Debian" ]]; then
|
||||
$SUDO service openvpn start
|
||||
else
|
||||
$SUDO systemctl enable openvpn.service
|
||||
$SUDO systemctl start openvpn.service
|
||||
fi
|
||||
case ${PLAT} in
|
||||
Ubuntu|Debian|Devuan)
|
||||
$SUDO service openvpn start
|
||||
;;
|
||||
*)
|
||||
$SUDO systemctl enable openvpn.service
|
||||
$SUDO systemctl start openvpn.service
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "::: done."
|
||||
|
||||
|
|
Loading…
Reference in a new issue