-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathclientcontrol
More file actions
executable file
·54 lines (49 loc) · 1.19 KB
/
clientcontrol
File metadata and controls
executable file
·54 lines (49 loc) · 1.19 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env sh
print_usage() {
printf "Usage: script -u (unrevoke) <clientname> OR script -r (revoke) <clientname>"
}
restart() {
touch /etc/wireguard/restart
sleep 1
rm /etc/wireguard/restart
}
revoke() {
NAME=$1
if [ -e "/etc/wireguard/clients/$NAME.pub" ]; then
mv /etc/wireguard/clients/"$NAME".pub /etc/wireguard/clients/"$NAME"-REV.pub
restart
else
if [ "$CLIENTCONTROL_NO_LOGS" -eq 0 ]
then
printf '%s has not been created yet' "$NAME"
fi
exit 1
fi
}
unrevoke() {
NAME=$1
if [ -e "/etc/wireguard/clients/$NAME-REV.pub" ]; then
mv /etc/wireguard/clients/"$NAME"-REV.pub /etc/wireguard/clients/"$NAME".pub
restart
elif [ -e "/etc/wireguard/clients/$NAME.pub" ]; then
if [ "$CLIENTCONTROL_NO_LOGS" -eq 0 ]
then
printf '%s has not been revoked yet' "$NAME"
fi
exit 1
else
if [ "$CLIENTCONTROL_NO_LOGS" -eq 0 ]
then
printf '%s has not been created yet' "$NAME"
fi
exit 1
fi
}
while getopts 'u:r:' flag; do
case "${flag}" in
u) unrevoke "${OPTARG}" ;;
r) revoke "${OPTARG}" ;;
*) print_usage
exit 1 ;;
esac
done