1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh
name="wg-test"
version="1.0"
help_message=$(/usr/bin/cat <<-EOF
Check if Wireguard connection is on and working
Usage: wg-test
Options:
-h, --help print this message and exit
-v, --version print version number and exit
EOF
)
. /usr/local/lib/myminiparse.sh
printf_stderr() {
(>&2 /usr/bin/printf "%s\n" "$1")
}
if [ $(wg-status | wc -l) -le 1 ]; then
printf_stderr "${name}: Wireguard is not running"
exit 1
fi
# NOTE: assume that Wireguard configurations use 10.0.0.0/24, just like pretty
# much all upstream documentation
if ! pingable 10.0.0.1; then
printf_stderr "Wireguard server is not reachable; try checking..."
printf_stderr " - if the server is running"
printf_stderr " - if the server can ping peers"
printf_stderr " - if the server firewall is blocking connections"
exit 1
fi
exit 0