From 11175a94504f54242f273be1d7b0b1d3d0d5735c Mon Sep 17 00:00:00 2001 From: Xavier Date: Mon, 12 Aug 2019 19:26:38 +0200 Subject: [PATCH 1/2] test --- README.md | 1 + openvpn-install.sh | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 615e8fb..0b477f3 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ If you want to customise your installation, you can export them or specify them - `DNS=1` - `COMPRESSION_ENABLED=n` - `CUSTOMIZE_ENC=n` +- `CREATE_CLIENT=y` - `CLIENT=clientname` - `PASS=1` diff --git a/openvpn-install.sh b/openvpn-install.sh index 0685a72..60c61b3 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -570,6 +570,7 @@ function installOpenVPN () { DNS=${DNS:-1} COMPRESSION_ENABLED=${COMPRESSION_ENABLED:-n} CUSTOMIZE_ENC=${CUSTOMIZE_ENC:-n} + CREATE_CLIENT=${CREATE_CLIENT:-n} CLIENT=${CLIENT:-client} PASS=${PASS:-1} CONTINUE=${CONTINUE:-y} @@ -945,8 +946,19 @@ if [[ $COMPRESSION_ENABLED == "y" ]]; then fi # Generate the custom client.ovpn - newClient - echo "If you want to add more clients, you simply need to run this script another time!" + until [[ $CREATE_CLIENT =~ (y|n) ]]; do + read -rp"Create a new client? [y/n]: " -e -i n CREATE_CLIENT + done + if [[ $CREATE_CLIENT == "y" ]];then + newClient + fi + +echo "" +echo "" +echo "" +echo "" +echo "If you want to add more clients, you simply need to run this script another time!" + } function newClient () { @@ -1106,7 +1118,9 @@ function removeUnbound () { function removeOpenVPN () { echo "" - read -rp "Do you really want to remove OpenVPN? [y/n]: " -e -i n REMOVE + until [[ $REMOVE =~ (y|n) ]]; do + read -rp "Do you really want to remove OpenVPN? [y/n]: " -e -i n REMOVE + done if [[ "$REMOVE" = 'y' ]]; then # Get OpenVPN port from the configuration PORT=$(grep '^port ' /etc/openvpn/server.conf | cut -d " " -f 2) From f9a7d1cf913d73cc4df4d24e283cbc736c6b834b Mon Sep 17 00:00:00 2001 From: Xavier Date: Tue, 13 Aug 2019 20:09:16 +0200 Subject: [PATCH 2/2] test --- openvpn-install.sh | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index 60c61b3..574db37 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -1045,23 +1045,26 @@ function newClient () { } function revokeClient () { - NUMBEROFCLIENTS=$(tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep -c "^V") - if [[ "$NUMBEROFCLIENTS" = '0' ]]; then + until [[ "$CLIENT" =~ ^[a-zA-Z0-9_]+$ ]]; do + NUMBEROFCLIENTS=$(tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep -c "^V") + if [[ "$NUMBEROFCLIENTS" = '0' ]]; then + echo "" + echo "You have no existing clients!" + exit 1 + fi + echo "" - echo "You have no existing clients!" - exit 1 - fi + echo "Select the existing client certificate you want to revoke" + tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | nl -s ') ' + if [[ "$NUMBEROFCLIENTS" = '1' ]]; then + read -rp "Select one client [1]: " CLIENTNUMBER + else + read -rp "Select one client [1-$NUMBEROFCLIENTS]: " CLIENTNUMBER + fi - echo "" - echo "Select the existing client certificate you want to revoke" - tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | nl -s ') ' - if [[ "$NUMBEROFCLIENTS" = '1' ]]; then - read -rp "Select one client [1]: " CLIENTNUMBER - else - read -rp "Select one client [1-$NUMBEROFCLIENTS]: " CLIENTNUMBER - fi + CLIENT=$(tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | sed -n "$CLIENTNUMBER"p) + done - CLIENT=$(tail -n +2 /etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | sed -n "$CLIENTNUMBER"p) cd /etc/openvpn/easy-rsa/ ./easyrsa --batch revoke "$CLIENT" EASYRSA_CRL_DAYS=3650 ./easyrsa gen-crl