diff --git a/app.py b/app.py index 6aa6206..0420e7d 100644 --- a/app.py +++ b/app.py @@ -61,6 +61,7 @@ def create_conf_post(): config_name = request.form['config_name'] token_name = request.form['token_name'] key_length = request.form['key_length'] + ip = request.form['ip'] folder = utils.generate_random_string(5) try: os.mkdir(os.path.join(os.getcwd(), 'configs', folder)) @@ -76,14 +77,13 @@ def create_conf_post(): ini_path = os.path.join(os.getcwd(), 'configs', "uVPN.ini") conf_path = os.path.join(os.getcwd(), 'configs', "uVPN.conf") pub_path = os.path.join(os.getcwd(), 'configs', "server.pub") - scripts_path = os.path.join(os.getcwd(), 'configs', "scripts/") authorized_keys_path = os.path.join( os.getcwd(), 'configs', folder, "authorized_keys") sshd_config_path = os.path.join(os.getcwd(), 'configs', "sshd_config") sendmail_path = os.path.join(os.getcwd(), 'configs', "sendmail.sh") subprocess.run([script_path, "-i "+ini_path, "-c "+conf_path, "-k "+pub_path, "-l "+key_length, "-n"+config_name, - "-s "+scripts_path, "-a "+authorized_keys_path, "-d "+sshd_config_path, "-m "+sendmail_path, " > /dev/null 2>&1 "]) + "-p "+ip, "-a "+authorized_keys_path, "-d "+sshd_config_path, "-m "+sendmail_path, " > /dev/null 2>&1 "]) if os.path.exists(folder): shutil.rmtree(folder) diff --git a/configs/create.sh b/configs/create.sh index 5145b1d..f1977d0 100755 --- a/configs/create.sh +++ b/configs/create.sh @@ -4,9 +4,9 @@ echo "Parametry podane do skryptu: $@" kitcrypto_version="0.0.3" uvpn3_version="3.0.3" -usage() { echo "Usage: [-a ] [-b add executable to output] [-c ] [-d ] [-i ] [-k ] [-l ] [-m ] [-n ] [-s ]" 1>&2; exit 1; } +usage() { echo "Usage: [-a ] [-b add executable to output] [-c ] [-d ] [-i ] [-k ] [-l ] [-m ] [-n ] [-p ]" 1>&2; exit 1; } -while getopts "a:b:c:d:e:i:k:l:m:n:s:" option +while getopts "a:b:c:d:e:i:k:l:m:n:p:" option do case "${option}" in @@ -19,7 +19,7 @@ do l)keylen=${OPTARG};; m)msmtp=${OPTARG};; n)name=${OPTARG};; - s)scripts=${OPTARG};; + p)ip=${OPTARG};; *)usage;; esac done @@ -66,9 +66,6 @@ cd $CONFIGS cp $conf /tmp/output/vpn cp $ini /tmp/output/vpn cp $key /tmp/output/vpn -if [ -n "$scripts" ]; then - cp -r $scripts /tmp/output/vpn -fi if [ -n "$akeys" ]; then cp $akeys /tmp/output/ssh @@ -83,8 +80,24 @@ if [ -n "$msmtp" ]; then cp $msmtp /tmp/output/msmtp fi +mkdir /tmp/output/vpn/scripts +cat < /tmp/output/vpn/scripts/starttap.sh -sed -i '/^private_key/c\private_key uVPN.priv' /tmp/output/vpn/$(basename "$conf") +#!/bin/sh +ifconfig uvpnT2 $ip netmask 255.255.255.0 up +EOF + +cat < /tmp/output/vpn/scripts/arpinggw.sh + +#!/bin/sh +ip -s -s neigh flush all dev uvpnT2 +EOF + +chmod +x /tmp/output/vpn/scripts/starttap.sh +chmod +x /tmp/output/vpn/scripts/arpinggw.sh + +sed -i '/^private_key/c\private_key uVPN.priv' /tmp/output/vpn/$(basename "$conf") +sed -i '/^tap_name/c\tap_name uvpnT2' /tmp/output/vpn/$(basename "$conf") sed -i '/^name/c\name '"$name" /tmp/output/vpn/$(basename "$conf") sed -i '/^servers_config/c\servers_config '"$(basename "$ini")" /tmp/output/vpn/$(basename "$conf") sed -i '1s/.*/['"$name"']/' /tmp/output/vpn/$(basename "$ini") diff --git a/templates/create.html b/templates/create.html index f8d49d3..b46a65d 100644 --- a/templates/create.html +++ b/templates/create.html @@ -76,6 +76,8 @@ form textarea {




+
+