#!/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