diff --git a/back/lib/admin/user/add b/back/lib/admin/user/add index 55c0774..c49501d 100755 --- a/back/lib/admin/user/add +++ b/back/lib/admin/user/add @@ -89,8 +89,8 @@ fi # Create new IPs hostnumber='1' -ipv4s="$(<<<"${peers}" | awk '{print $2,$3}' | tr ' ' '\n' | grep '\.' | cut -d'/' -f1)" -ipv6s="$(<<<"${peers}" | awk '{print $2,$3}' | tr ' ' '\n' | grep '\:' | cut -d'/' -f1)" +ipv4s="$(printf '%s\n' "${peers}" | awk '{print $2,$3}' | tr ' ' '\n' | grep '\.' | cut -d'/' -f1)" +ipv6s="$(printf '$s\n' "${peers}" | awk '{print $2,$3}' | tr ' ' '\n' | grep '\:' | cut -d'/' -f1)" # Increment hostnumber from 1 until an unused one is found used_usernumbers="$(<<<"${ipv4s}" cut -d'.' -f3 | sort | uniq)" usernumber=1; while <<<"${used_usernumbers}" grep -q "${usernumber}" @@ -105,41 +105,41 @@ if ! printf 'IP addresses for %s created: %s %s\n' "${domain:?}" "${ipv4:?}" "${ fi # Create wg config -privkey="$(/usr/bin/wg genkey)" -pubkey="$(echo "${privkey}" | /usr/bin/wg pubkey)" -address="${ipv4}/${IPV4_NET##*/},${ipv6}/${IPV6_NET##*/}" +#privkey="$(/usr/bin/wg genkey)" +#pubkey="$(echo "${privkey}" | /usr/bin/wg pubkey)" +#address="${ipv4}/${IPV4_NET##*/},${ipv6}/${IPV6_NET##*/}" # Update nameserver -if "${LIB_DIR}/ns_update_add" "${domain:?}" "${ipv4:?}" "${ipv6:?}" - then printf 'Successfully added %s to DNS server.\n' "${domain}" >>"${LOGFILE}" - else printf 'ERROR! Failed to add %s %s %s to DNS server!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" -fi & +#if "${LIB_DIR}/ns_update_add" "${domain:?}" "${ipv4:?}" "${ipv6:?}" +# then printf 'Successfully added %s to DNS server.\n' "${domain}" >>"${LOGFILE}" +# else printf 'ERROR! Failed to add %s %s %s to DNS server!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" +#fi & # Create SSL cert -if ! sudo mkdir "${SSL_CONFIG_DIR:?}/${username:?}/"; then - printf 'Failed to create directory %s/%s/:\n' "${SSL_CONFIG_DIR}" "${username}" >>"${LOGFILE}" - exit 7 -fi -if "${LIB_DIR}/ssl_peer_add" "${hostname:?}" "${username:?}" "IP:${ipv4},IP:${ipv6}" - then printf 'Successfully signed SSL certs for %s\n' "${domain}" >>"${LOGFILE}" - else printf 'ERROR! Failed to create certs for %s with IPS: %s %s!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" -fi +#if ! sudo mkdir "${SSL_CONFIG_DIR:?}/${username:?}/"; then +# printf 'Failed to create directory %s/%s/:\n' "${SSL_CONFIG_DIR}" "${username}" >>"${LOGFILE}" +# exit 7 +#fi +#if "${LIB_DIR}/ssl_peer_add" "${hostname:?}" "${username:?}" "IP:${ipv4},IP:${ipv6}" +# then printf 'Successfully signed SSL certs for %s\n' "${domain}" >>"${LOGFILE}" +# else printf 'ERROR! Failed to create certs for %s with IPS: %s %s!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}" +#fi # Do the wireguard and tell the user -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 - 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}" ]; then - # Add new user to local server - if "${LIB_DIR}/wg_peer_add" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128"; then - printf 'Added %s to local wireguard server.\n' "${domain}" >>"${LOGFILE}" - else - printf 'ERROR! Failed to add %s to local wireguard server!\n' "${domain}" >>"${LOGFILE}" - # TODO: clear existing progress - exit 15 - fi +#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 +# 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}" ]; then +# # Add new user to local server +# if "${LIB_DIR}/wg_peer_add" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128"; then +# printf 'Added %s to local wireguard server.\n' "${domain}" >>"${LOGFILE}" +# else +# printf 'ERROR! Failed to add %s to local wireguard server!\n' "${domain}" >>"${LOGFILE}" +# # TODO: clear existing progress +# exit 15 +# fi # TODO: Send new user config to federated server #else # if "${LIB_DIR}/fed_peer_add" "${server_admin}" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128" "${server_secret}"; then @@ -149,7 +149,7 @@ while IFS=$'\t' read -r server_hostname server_ipv4 server_ipv6 server_pubkey se # # TODO: clear existing progress # exit 16 #fi - fi -done <"${SERVERS_FILE}" -wg_config="[Interface] # ${hostname}.${username}.${TLD}\nPrivateKey=${privkey:?}\nAddress=${address:?}\n${WG_DNS}\n${server_blocks:?}" -<<<"${wg_config}" "${LIB_DIR}/http_res" 202 +# fi +#done <"${SERVERS_FILE}" +#wg_config="[Interface] # ${hostname}.${username}.${TLD}\nPrivateKey=${privkey:?}\nAddress=${address:?}\n${WG_DNS}\n${server_blocks:?}" +#<<<"${wg_config}" "${LIB_DIR}/http_res" 202 diff --git a/checklist.md b/checklist.md index 3595b13..43bcc74 100644 --- a/checklist.md +++ b/checklist.md @@ -11,4 +11,6 @@ [ ] admin user adding backend [ ] admin user deleting backend [ ] Let users download ssl certs -[ ] Show QR code with new config \ No newline at end of file +[ ] Show QR code with new config +[ ] Clean up bash file headings +[ ] Deploy on GF4 \ No newline at end of file