mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-18 19:00:15 +00:00
5d2761b94b
This commit allows PiVPN scripts to display certificates with common names like "José" better. Prior to this commit, names like "José" would be shown as "Jos\xC3\xA9".
42 lines
1.4 KiB
Bash
Executable file
42 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# PiVPN: list clients script
|
|
# Updated Script to include Expiration Dates and Clean up Escape Seq -- psgoundar
|
|
|
|
INDEX="/etc/openvpn/easy-rsa/pki/index.txt"
|
|
if [ ! -f "${INDEX}" ]; then
|
|
echo "The file: $INDEX was not found!"
|
|
exit 1
|
|
fi
|
|
|
|
EASYRSA="/etc/openvpn/easy-rsa/easyrsa"
|
|
if [ ! -f "${EASYRSA}" ]; then
|
|
echo "The file: $EASYRSA was not found!"
|
|
exit 1
|
|
fi
|
|
|
|
$EASYRSA update-db >> /dev/null 2>1
|
|
|
|
printf ": NOTE : The first entry should always be your valid server!\n"
|
|
printf "\\n"
|
|
printf "\\e[1m::: Certificate Status List :::\\e[0m\\n"
|
|
{
|
|
printf "\\e[4mStatus\\e[0m \t \\e[4mName\\e[0m\\e[0m \t \\e[4mExpiration\\e[0m\\n"
|
|
|
|
while read -r line || [ -n "$line" ]; do
|
|
STATUS=$(echo "$line" | awk '{print $1}')
|
|
NAME=$(echo "$line" | awk -FCN= '{print $2}')
|
|
EXPD=$(echo "$line" | awk '{if (length($2) == 15) print $2; else print "20"$2}' | cut -b 1-8 | date +"%b %d %Y" -f -)
|
|
|
|
if [ "${STATUS}" == "V" ]; then
|
|
printf "Valid \t %s \t %s\\n" "$(echo -e "$NAME")" "$EXPD"
|
|
elif [ "${STATUS}" == "R" ]; then
|
|
printf "Revoked \t %s \t %s\\n" "$(echo -e "$NAME")" "$EXPD"
|
|
elif [ "${STATUS}" == "E" ]; then
|
|
printf "Expired \t %s \t %s\\n" "$(echo -e "$NAME")" "$EXPD"
|
|
else
|
|
printf "Unknown \t %s \t %s\\n" "$(echo -e "$NAME")" "$EXPD"
|
|
fi
|
|
|
|
done <${INDEX}
|
|
printf "\\n"
|
|
} | column -t -s $'\t'
|