aboutsummaryrefslogtreecommitdiff
path: root/install_srv.sh
blob: b4da8b111c970b39050d35c7b9205829d7bf1653 (plain)
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
#!/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