From a671ad7b412e69329642497f4bc57a0c39b8ef19 Mon Sep 17 00:00:00 2001 From: Daniil Firsov Date: Mon, 7 Nov 2022 12:23:30 +0300 Subject: [PATCH] dnk: add shm actions script --- shm_actions_script.sh | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 shm_actions_script.sh diff --git a/shm_actions_script.sh b/shm_actions_script.sh new file mode 100755 index 0000000..0c5399c --- /dev/null +++ b/shm_actions_script.sh @@ -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 + +