#!/bin/bash # Must be root to use this tool if [[ ! $EUID -eq 0 ]];then if [[ $(dpkg-query -s sudo) ]];then export SUDO="sudo" else echo "::: Please install sudo or run this as root." exit 1 fi fi function makeOVPNFunc { shift $SUDO /opt/pivpn/makeOVPN.sh "$@" exit 1 } function listOVPNFunc { $SUDO /opt/pivpn/listOVPN.sh exit 1 } function debugFunc { echo "::: Generating Debug Output" $SUDO /opt/pivpn/pivpnDebug.sh | tee /tmp/debug.txt echo "::: " echo "::: Debug output completed above." echo "::: Copy saved to /tmp/debug.txt" echo "::: " exit 1 } function removeOVPNFunc { $SUDO /opt/pivpn/removeOVPN.sh exit 1 } function uninstallFunc { $SUDO /opt/pivpn/uninstall.sh exit 1 } function versionFunc { printf "\e[1mVersion 1.6\e[0m\n" } function helpFunc { echo "::: Control all PiVPN specific functions!" echo ":::" echo "::: Usage: pivpn [option]" echo ":::" echo "::: Commands:" echo "::: -a, add [nopass] Create a client ovpn profile, optional nopass" echo "::: -d, debug Start a debugging session if having trouble" echo "::: -l, list List all valid and revoked certificates" echo "::: -r, revoke Revoke a client ovpn profile" echo "::: -h, help Show this help dialog" echo "::: -u, uninstall Uninstall PiVPN from your system!" exit 1 } if [[ $# = 0 ]]; then helpFunc fi # Handle redirecting to specific functions based on arguments case "$1" in "-a" | "add" ) makeOVPNFunc "$@";; "-d" | "debug" ) debugFunc;; "-l" | "list" ) listOVPNFunc;; "-r" | "revoke" ) removeOVPNFunc;; "-h" | "help" ) helpFunc;; "-u" | "uninstall" ) uninstallFunc;; "-v" ) versionFunc;; * ) helpFunc;; esac