aboutsummaryrefslogtreecommitdiff
path: root/install_srv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install_srv.sh')
-rwxr-xr-xinstall_srv.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/install_srv.sh b/install_srv.sh
new file mode 100755
index 0000000..b4da8b1
--- /dev/null
+++ b/install_srv.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+ROOT="/home/neodarz/vpn_auto"
+CLIENT_CONF_FILE="$ROOT/client_config_archlinux.sh.sample"
+
+function genUrandom
+{
+ DATA="-"
+ while [[ $DATA =~ .*-.* ]]; do
+ DATA=$(< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-17};echo;)
+ done
+ echo $DATA
+}
+
+VPN_PSK_KEY=$(genUrandom)
+VPN_USER=$(genUrandom)
+VPN_PASS=$(genUrandom)
+
+rm $ROOT/server_install.sh
+cp $ROOT/server_install.sh.sample $ROOT/server_install.sh
+sed -i "s/vpn_psk_key/$VPN_PSK_KEY/g" $ROOT/server_install.sh
+sed -i "s/vpn_user/$VPN_USER/g" $ROOT/server_install.sh
+sed -i "s/vpn_pass/$VPN_PASS/g" $ROOT/server_install.sh
+
+echo "Creating a new server..."
+SERVER_ID=$(echo $(scw create --commercial-type=VC1S 5fc9990a-d274-49b8-afac-42af22b42a71) | cut -d'-' -f1)
+echo "Starting the server $(scw start $SERVER_ID)..."
+
+cat $ROOT/server_install.sh | scw exec --wait $SERVER_ID "cat > /root/server_install.sh && chmod +x /root/server_install.sh && sh /root/server_install.sh"
+
+scw ps -a > /dev/null
+
+SERVER_IP=$(scw inspect $SERVER_ID | jq '.[0].public_ip.address' | cut -d'"' -f2)
+
+rm $ROOT/client_config.sh
+cp $CLIENT_CONF_FILE $ROOT/client_config.sh
+sed -i "s/vpn_ip/$SERVER_IP/g" $ROOT/client_config.sh
+sed -i "s/vpn_psk_key/$VPN_PSK_KEY/g" $ROOT/client_config.sh
+sed -i "s/vpn_user/$VPN_USER/g" $ROOT/client_config.sh
+sed -i "s/vpn_pass/$VPN_PASS/g" $ROOT/client_config.sh
+
+sudo sh $ROOT/client_config.sh
+
+rm $ROOT/server_install.sh
+rm $ROOT/client_config.sh