dnk: add shm actions script
This commit is contained in:
parent
0a66845546
commit
a671ad7b41
51
shm_actions_script.sh
Executable file
51
shm_actions_script.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
EVENT="{{ event_name }}"
|
||||||
|
WG_MANAGER="/etc/wireguard/wg-manager.sh"
|
||||||
|
|
||||||
|
case $EVENT in
|
||||||
|
INIT)
|
||||||
|
SERVER_HOST="{{ server.settings.host_name }}"
|
||||||
|
if [ -z $SERVER_HOST ]; then
|
||||||
|
echo "ERROR: set variable 'host_name' to server settings"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
apt update
|
||||||
|
apt install -y \
|
||||||
|
wireguard \
|
||||||
|
wireguard-tools \
|
||||||
|
qrencode \
|
||||||
|
curl
|
||||||
|
cd /etc/wireguard
|
||||||
|
curl -s https://danuk.github.io/wg-manager/wg-manager.sh > $WG_MANAGER
|
||||||
|
chmod 700 $WG_MANAGER
|
||||||
|
$WG_MANAGER -i -s $SERVER_HOST
|
||||||
|
;;
|
||||||
|
CREATE)
|
||||||
|
SESSION_ID="{{ user.gen_session.id }}"
|
||||||
|
USER_CFG=$($WG_MANAGER -c "{{ us.id }}" -p)
|
||||||
|
|
||||||
|
if [ $? -ne 0]; then
|
||||||
|
echo "ERROR: can't create user"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -s -XPUT \
|
||||||
|
-H "session-id: $SESSION_ID" \
|
||||||
|
-H "Content-Type: text/plain" \
|
||||||
|
{{ config.api.url }}/shm/v1/storage/manage/vpn \
|
||||||
|
--data-binary $USER_CFG
|
||||||
|
echo "done"
|
||||||
|
;;
|
||||||
|
REMOVE)
|
||||||
|
$WG_MANAGER -c "{{ us.id }}" -d
|
||||||
|
echo "done"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown event: $EVENT. Exit."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user