From 934aff8871cd3d1eb9077b6177007e98cbd2937e Mon Sep 17 00:00:00 2001 From: GizMoCuz Date: Wed, 8 Jul 2020 15:32:19 +0200 Subject: [PATCH] Add Index for Wireguard remove/qr commands --- scripts/wireguard/qrcodeCONF.sh | 15 ++++++++++----- scripts/wireguard/removeCONF.sh | 15 ++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/scripts/wireguard/qrcodeCONF.sh b/scripts/wireguard/qrcodeCONF.sh index 0420eb5..2927da9 100755 --- a/scripts/wireguard/qrcodeCONF.sh +++ b/scripts/wireguard/qrcodeCONF.sh @@ -33,17 +33,18 @@ if [ ! -s clients.txt ]; then exit 1 fi +LIST=($(awk '{print $1}' clients.txt)) if [ "${#CLIENTS_TO_SHOW[@]}" -eq 0 ]; then echo -e "::\e[4m Client list \e[0m::" - LIST=($(awk '{print $1}' clients.txt)) + len=${#LIST[@]} COUNTER=1 - while [ $COUNTER -le ${#LIST[@]} ]; do - echo "• ${LIST[(($COUNTER-1))]}" + while [ $COUNTER -le ${len} ]; do + printf "• [%0${#len}s] %s\r\n" ${COUNTER} ${LIST[(($COUNTER-1))]} ((COUNTER++)) done - read -r -p "Please enter the Name of the Client to show: " CLIENTS_TO_SHOW + read -r -p "Please enter the Index/Name of the Client to show: " CLIENTS_TO_SHOW if [ -z "${CLIENTS_TO_SHOW}" ]; then echo "::: You can not leave this blank!" @@ -52,6 +53,10 @@ if [ "${#CLIENTS_TO_SHOW[@]}" -eq 0 ]; then fi for CLIENT_NAME in "${CLIENTS_TO_SHOW[@]}"; do + re='^[0-9]+$' + if [[ ${CLIENT_NAME} =~ $re ]] ; then + CLIENT_NAME=${LIST[$(($CLIENT_NAME -1))]} + fi if grep -qw "${CLIENT_NAME}" clients.txt; then echo -e "::: Showing client \e[1m${CLIENT_NAME}\e[0m below" echo "=====================================================================" @@ -60,4 +65,4 @@ for CLIENT_NAME in "${CLIENTS_TO_SHOW[@]}"; do else echo -e "::: \e[1m${CLIENT_NAME}\e[0m does not exist" fi -done \ No newline at end of file +done diff --git a/scripts/wireguard/removeCONF.sh b/scripts/wireguard/removeCONF.sh index 345a670..7a72328 100755 --- a/scripts/wireguard/removeCONF.sh +++ b/scripts/wireguard/removeCONF.sh @@ -42,17 +42,17 @@ if [ ! -s configs/clients.txt ]; then exit 1 fi +LIST=($(awk '{print $1}' configs/clients.txt)) if [ "${#CLIENTS_TO_REMOVE[@]}" -eq 0 ]; then - echo -e "::\e[4m Client list \e[0m::" - LIST=($(awk '{print $1}' configs/clients.txt)) + len=${#LIST[@]} COUNTER=1 - while [ $COUNTER -le ${#LIST[@]} ]; do - echo "• ${LIST[(($COUNTER-1))]}" + while [ $COUNTER -le ${len} ]; do + printf "• [%0${#len}s] %s\r\n" ${COUNTER} ${LIST[(($COUNTER-1))]} ((COUNTER++)) done - read -r -p "Please enter the Name of the Client to be removed from the list above: " CLIENTS_TO_REMOVE + read -r -p "Please enter the Index/Name of the Client to be removed from the list above: " CLIENTS_TO_REMOVE if [ -z "${CLIENTS_TO_REMOVE}" ]; then echo "::: You can not leave this blank!" @@ -64,6 +64,11 @@ DELETED_COUNT=0 for CLIENT_NAME in "${CLIENTS_TO_REMOVE[@]}"; do + re='^[0-9]+$' + if [[ ${CLIENT_NAME} =~ $re ]] ; then + CLIENT_NAME=${LIST[$(($CLIENT_NAME -1))]} + fi + if ! grep -q "^${CLIENT_NAME} " configs/clients.txt; then echo -e "::: \e[1m${CLIENT_NAME}\e[0m does not exist" else