From 61239e55fd79a8451568ffedb58c47fa283b9b18 Mon Sep 17 00:00:00 2001 From: Keith Irwin Date: Fri, 9 Sep 2022 21:56:25 -0600 Subject: [PATCH] Small fixes --- back/srv/dashboard/add | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/back/srv/dashboard/add b/back/srv/dashboard/add index 2933d3f..214ea24 100755 --- a/back/srv/dashboard/add +++ b/back/srv/dashboard/add @@ -29,7 +29,7 @@ ip="${1}" qs="$(<<<"${2}" tr '&' '\n' | sed 's/?//')" # Check hostname -hostname="$(<<<"${qs}" grep -oP 'name=(.*)' | xargs | tr -dc 'a-z0-9' | head -c10)" +hostname="$(<<<"${qs}" grep -oP 'name=(.*)' | sed 's/^name//' | xargs | tr -dc 'a-z0-9' | head -c10)" printf '%s requested new peer with hostname %s\n' "${ip}" "${hostname}" >>"${LOGFILE}" [[ ${#hostname} -ge 3 ]] || ( printf 'Rejecting hostname %s because it is too short.\n' "${hostname}" >>"${LOGFILE}" @@ -50,7 +50,7 @@ saved_token="$(grep "${ip}" "${TOKENS_FILE}" | cut -f2)" # Check user username="$("${LIB_DIR}/ns_lookup_rdns" "${REMOTE_ADDR}" | cut -d'.' -f2)" || ( printf 'User not found for %s\n' "${REMOTE_ADDR}" >>"${LOGFILE}" - printf 'User not found' | "${LIB)DIR}/http_res" 403 + printf 'User not found' | "${LIB_DIR}/http_res" 403 exit 17 ) printf '%s identified as %s.%s\n' "${ip}" "${hostname}" "${username}" >>"${LOGFILE}" @@ -66,9 +66,9 @@ printf '%s' "${hostnames}" | grep -o "${hostname}" && ( # Collect/parse existing peer data # Create new IPs peers="$(sudo "${LIB_DIR}/wg_peer_list" "${1}" tsv)" || exit 10 -hostnames="$(<<<"${peers}" awk '{print $0}' | cut -d'.' -f1)" -ipv4s="$(<<<"${peers}" awk '{print $1}')" -ipv6s="$(<<<"${peers}" awk '{print $2}')" +hostnames="$(<<<"${peers}" awk '{print $1}' | cut -d'.' -f1)" +ipv4s="$(<<<"${peers}" awk '{print $2}')" +ipv6s="$(<<<"${peers}" awk '{print $3}')" usernumber="$(<<<"${ipv4s}" head -n1 | cut -d'.' -f3)" used_ips="$(<<<"${ipv4s}" cut -d'.' -f3)\n$(<<<"${ipv6s}" cut -d'.' -f3)" used_hostnumbers="$(<<<"${used_ips}" sort | uniq)" @@ -78,7 +78,7 @@ while printf '%s' "${used_hostnumbers}" | grep "${hostnumber}" done ipv4="${IPV4_NET%.*.*}.${usernumber}.${hostnumber}" ipv6="${IPV6_NET%:*:*}:${usernumber}:${hostnumber}" -printf 'IP addresses for %s created:\t$%s %s\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" +printf 'IP addresses for %s created: %s %s\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" # TODO: Check it or exit 11 # Create wg config @@ -87,6 +87,7 @@ pubkey="$(echo "${privkey}" | /usr/bin/wg pubkey)" address="${ipv4}/${IPV4_NET##*/},${ipv6}/${IPV6_NET##*/}" server_blocks='' while IFS=$'\t' read -r server_hostname server_ipv4 server_ipv6 server_pubkey server_endpoint server_admin server_secret; do + [[ ${server_hostname:0:1} = \# ]] && continue # Ignore comments server_psk="$(/usr/bin/wg genpsk)" server_blocks="${server_blocks}\n[Peer] # ${server_hostname}.${TLD}\nPublicKey=${server_pubkey}\nPresharedKey=${server_psk}\nAllowedIPs=${server_ipv4}/32,${server_ipv6}/128\nEndpoint=${server_endpoint}\n" if [ "${server_hostname}" == "${LOCAL_SERVER}" ] @@ -103,7 +104,7 @@ while IFS=$'\t' read -r server_hostname server_ipv4 server_ipv6 server_pubkey se # TODO: clear existing progress and exit 16 ) fi -done <${SERVERS_FILE} +done <"${SERVERS_FILE}" wg_config="[Interface] # ${hostname}.${username}.${TLD}\nPrivateKey=${privkey}\nAddress=${address}\n${WG_DNS}\n${server_blocks}" # Respond to user