2022-07-27 12:53:36 +00:00
|
|
|
#!/bin/bash
|
2019-10-14 10:27:28 +00:00
|
|
|
# PiVPN: list clients script
|
2022-07-27 12:53:36 +00:00
|
|
|
# Updated Script to include Expiration Dates and
|
|
|
|
# Clean up Escape Seq -- psgoundar
|
2019-10-14 10:27:28 +00:00
|
|
|
|
|
|
|
INDEX="/etc/openvpn/easy-rsa/pki/index.txt"
|
2022-07-27 12:53:36 +00:00
|
|
|
|
|
|
|
err() {
|
|
|
|
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $*" >&2
|
|
|
|
}
|
|
|
|
|
|
|
|
if [[ ! -f "${INDEX}" ]]; then
|
|
|
|
err "The file: ${INDEX} was not found!"
|
|
|
|
exit 1
|
2019-10-14 10:27:28 +00:00
|
|
|
fi
|
|
|
|
|
2020-10-01 11:23:31 +00:00
|
|
|
EASYRSA="/etc/openvpn/easy-rsa/easyrsa"
|
2022-07-27 12:53:36 +00:00
|
|
|
|
|
|
|
if [[ ! -f "${EASYRSA}" ]]; then
|
|
|
|
err "The file: ${EASYRSA} was not found!"
|
|
|
|
exit 1
|
2020-10-01 11:23:31 +00:00
|
|
|
fi
|
|
|
|
|
2022-07-27 12:53:36 +00:00
|
|
|
"${EASYRSA}" update-db >> /dev/null 2>&1
|
2020-09-10 12:55:35 +00:00
|
|
|
|
2022-07-27 12:53:36 +00:00
|
|
|
printf ": NOTE : The first entry is your server, "
|
|
|
|
printf "which should always be valid!\n"
|
2020-03-29 02:36:55 +00:00
|
|
|
printf "\\n"
|
|
|
|
printf "\\e[1m::: Certificate Status List :::\\e[0m\\n"
|
2022-07-27 12:53:36 +00:00
|
|
|
|
2020-04-02 02:44:37 +00:00
|
|
|
{
|
2022-07-27 12:53:36 +00:00
|
|
|
printf "\\e[4mStatus\\e[0m \t \\e[4mName\\e[0m\\e[0m \t "
|
|
|
|
printf "\\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"
|
|
|
|
elif [[ "${STATUS}" == "R" ]]; then
|
|
|
|
printf "Revoked"
|
|
|
|
elif [[ "${STATUS}" == "E" ]]; then
|
|
|
|
printf "Expired"
|
2019-10-14 10:27:28 +00:00
|
|
|
else
|
2022-07-27 12:53:36 +00:00
|
|
|
printf "Unknown"
|
2019-10-14 10:27:28 +00:00
|
|
|
fi
|
2020-03-29 02:36:55 +00:00
|
|
|
|
2022-07-27 12:53:36 +00:00
|
|
|
printf " \t %s \t %s\\n" "$(echo -e "${NAME}")" "${EXPD}"
|
|
|
|
done < "${INDEX}"
|
|
|
|
|
|
|
|
printf "\\n"
|
2020-04-02 02:44:37 +00:00
|
|
|
} | column -t -s $'\t'
|