29 lines
811 B
Bash
Executable File
29 lines
811 B
Bash
Executable File
#! /usr/bin/env bash
|
|
set -e
|
|
|
|
# Check if we have permission to run `wg`
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
# Re-launch this script as root
|
|
exec sudo "$0" "$@"
|
|
exit $?
|
|
fi
|
|
|
|
# List all interfaces (space delimited)
|
|
interfaces=$(wg show interfaces)
|
|
|
|
# Display info about each interface
|
|
for interface in $interfaces; do
|
|
echo "Interface: $interface"
|
|
echo " - Public Key: $(wg show $interface public-key)"
|
|
echo " - Listen Port: $(wg show $interface listen-port)"
|
|
echo " - Peers: $(wg show $interface peers | wc -l)"
|
|
echo " - Routes:"
|
|
ip route | grep "dev $interface" | cut -d " " -f 1,8,9 | while read route; do
|
|
echo " - $route"
|
|
done
|
|
# ip -6 route | grep "dev $interface" | cut -d " " -f 1,8,9 | while read route; do
|
|
# echo " - $route"
|
|
# done
|
|
echo
|
|
done
|