diff --git a/70-vpn-active b/70-vpn-active new file mode 100755 index 0000000..b430390 --- /dev/null +++ b/70-vpn-active @@ -0,0 +1,19 @@ +#!/bin/bash +export LANG='en_US.UTF-8' + +echo "" +echo "Active OVPN clienst:" +mapfile -t common < <(sudo tail -n +4 /var/log/openvpn/openvpn-status.log | ssed -R 's/\s+/_/g ; s/,/ /g' | grep ^CLIENT_LIST| sort | awk '{print $2}') +mapfile -t virtual < <(sudo tail -n +4 /var/log/openvpn/openvpn-status.log | ssed -R 's/\s+/_/g ; s/,/ /g' | grep ^CLIENT_LIST| sort | awk '{print $4}') +mapfile -t sent < <(sudo tail -n +4 /var/log/openvpn/openvpn-status.log | ssed -R 's/\s+/_/g ; s/,/ /g' | grep ^CLIENT_LIST| sort | awk '{print $6}') +mapfile -t received < <(sudo tail -n +4 /var/log/openvpn/openvpn-status.log | ssed -R 's/\s+/_/g ; s/,/ /g' | grep ^CLIENT_LIST| sort | awk '{print $5}') +mapfile -t connected < <(sudo tail -n +4 /var/log/openvpn/openvpn-status.log | ssed -R 's/\s+/_/g ; s/,/ /g; s/(Mon_|Tue_|Wed_|Sat_|Thu_|Sat_|Sun_)//g ; s/:[0-9][0-9]_/_/g' | grep ^CLIENT_LIST| sort | awk '{print $7}') +out2="Common Name,Virtual Address,Connected Since,▼,▲\n" +for k in "${!common[@]}"; do + if [ "${common[k]}" != "UNDEF" ]; then + rec=$((${received[k]}/1024/1024))Mb + sen=$((${sent[k]}/1024/1024))Mb + out2+=${common[k]},${virtual[k]},${connected[k]},${rec},${sen}"\n" + fi +done +printf "$out2" | column -ts ',' | sed 's/_/ /g' diff --git a/70-vpn-keys b/70-vpn-keys new file mode 100755 index 0000000..af6be92 --- /dev/null +++ b/70-vpn-keys @@ -0,0 +1,15 @@ +#!/bin/bash + +CONFIG_DIR=/etc/openvpn/ca +echo "" +echo "List of OVPN keys:" + mapfile -t keys < <(sudo cat ${CONFIG_DIR}/pki/index.txt |grep ^V | grep -v server | grep -oh /CN=[[:alnum:]]* | sed -e 's/\/CN=//g') +out="Name, Expires\n" +for i in "${!keys[@]}"; do + IFS=" " read name <<< ${keys[i]} + out+="${name}," + out+=$(sudo cat ${CONFIG_DIR}/pki/issued/${name}.crt | grep ^' Not After :' | sed -e 's/ Not After :// ; s/ GMT//g ; s/:[0-9][0-9] / /') + out+="\n" +done +printf "$out" | column -ts $',' +echo "" diff --git a/README.md b/README.md index 246617e..302a13f 100755 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ It just Messange Of The Day for linux ssh and terminal. - Needed for working module 60-docker * lxd - Needed for working module 60-lxd + * ssed + - Needed for working module 70-vpn-active + # Screenshot ![screen](screenshot/screen.png) @@ -30,3 +33,9 @@ sudo chown root:root * sudo cp * /etc/update-motd.d/ sudo update-motd ``` + +# Update 08.09.2021 +* Added module for track Openvpn keys (i use easyrsa for generating keys) and active connections + +#P.S. +*In folder with openvpn config (`/etc/openvpn/`) locating directory with Certifiration Autority. Some files reading directly from CA (`/etc/openvpn/ca/pki/`) \ No newline at end of file diff --git a/screenshot/screen.png b/screenshot/screen.png old mode 100755 new mode 100644 index 42d728a..1ceb4ec Binary files a/screenshot/screen.png and b/screenshot/screen.png differ