#!/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 0 fi fi function makeOVPNFunc { shift $SUDO /opt/pivpn/makeOVPN.sh "$@" exit 0 } function listClientsFunc { $SUDO /opt/pivpn/clientStat.sh exit 0 } function listOVPNFunc { $SUDO /opt/pivpn/listOVPN.sh exit 0 } 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 0 } function removeOVPNFunc { shift $SUDO /opt/pivpn/removeOVPN.sh "$@" exit 0 } function uninstallFunc { $SUDO /opt/pivpn/uninstall.sh exit 0 } function versionFunc { printf "\e[1mVersion 1.9\e[0m\n" } function update { shift $SUDO /opt/pivpn/update.sh "$@" exit 0 } function backup { $SUDO /opt/pivpn/backup.sh exit 0 } 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 "::: -c, clients List any connected clients to the server" 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!" echo "::: -up, update Updates PiVPN Scripts" echo "::: -bk, backup Backup Openvpn and ovpns dir" exit 0 } if [[ $# = 0 ]]; then helpFunc fi # Handle redirecting to specific functions based on arguments case "$1" in "-a" | "add" ) makeOVPNFunc "$@";; "-c" | "clients" ) listClientsFunc;; "-d" | "debug" ) debugFunc;; "-l" | "list" ) listOVPNFunc;; "-r" | "revoke" ) removeOVPNFunc "$@";; "-h" | "help" ) helpFunc;; "-u" | "uninstall" ) uninstallFunc;; "-v" ) versionFunc;; "-up"| "update" ) update "$@" ;; "-bk"| "backup" ) backup;; * ) helpFunc;; esac