From 1182e98aed0ec0113ece9d345997c1559351595e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Alvergnat?= Date: Wed, 19 Jan 2022 15:57:19 +0100 Subject: [PATCH] add CLIENT_FILEPATH environment variable support This environment variable can be set to customize destination of .ovpn file to generate. If defined, it should contain the full path of the file to generate. --- openvpn-install.sh | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index 07dac57..dbc255b 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -1093,26 +1093,28 @@ function newClient() { echo "Client $CLIENT added." fi - # Home directory of the user, where the client configuration will be written - if [ -e "/home/${CLIENT}" ]; then - # if $1 is a user name - homeDir="/home/${CLIENT}" - CLIENT_OWNER="$CLIENT" - elif [ "${SUDO_USER}" ]; then - # if not, use SUDO_USER - if [ "${SUDO_USER}" == "root" ]; then - # If running sudo as root - homeDir="/root" + if [[ -z "$CLIENT_FILEPATH" ]]; then + # Home directory of the user, where the client configuration will be written + if [ -e "/home/${CLIENT}" ]; then + # if $1 is a user name + homeDir="/home/${CLIENT}" + CLIENT_OWNER="$CLIENT" + elif [ "${SUDO_USER}" ]; then + # if not, use SUDO_USER + if [ "${SUDO_USER}" == "root" ]; then + # If running sudo as root + homeDir="/root" + else + homeDir="/home/${SUDO_USER}" + fi + CLIENT_OWNER="$SUDO_USER" else - homeDir="/home/${SUDO_USER}" + # if not SUDO_USER, use /root + homeDir="/root" fi - CLIENT_OWNER="$SUDO_USER" - else - # if not SUDO_USER, use /root - homeDir="/root" - fi - CLIENT_FILEPATH="$homeDir/$CLIENT.ovpn" + CLIENT_FILEPATH="$homeDir/$CLIENT.ovpn" + fi # Determine if we use tls-auth or tls-crypt if grep -qs "^tls-crypt" /etc/openvpn/server.conf; then