Fixed frontend, final cleanup
parent
d049e50868
commit
e5c2f3161a
|
@ -10,7 +10,11 @@
|
||||||
# 6: Servers file not found
|
# 6: Servers file not found
|
||||||
# 7: Token file not found
|
# 7: Token file not found
|
||||||
# 8: Invalid token
|
# 8: Invalid token
|
||||||
# 9: Username not provided
|
# 9: Username or usernumber not provided
|
||||||
|
# 10: Wireguard failed to get peers
|
||||||
|
# 11: Failed to find user's peers
|
||||||
|
# 12: Failed to get domains for user's peers
|
||||||
|
# 13: Failed to delete a peer from wireguard server
|
||||||
|
|
||||||
CONFIG_FILE='/etc/wgapi/config'
|
CONFIG_FILE='/etc/wgapi/config'
|
||||||
SERVERS_FILE='/etc/wgapi/servers'
|
SERVERS_FILE='/etc/wgapi/servers'
|
||||||
|
@ -63,7 +67,7 @@ fi
|
||||||
if ! wg_output="$(sudo /usr/bin/wg show "${TLD}" allowed-ips)"; then
|
if ! wg_output="$(sudo /usr/bin/wg show "${TLD}" allowed-ips)"; then
|
||||||
printf 'ERROR! Wireguard failed!\n' >>"${LOGFILE}"
|
printf 'ERROR! Wireguard failed!\n' >>"${LOGFILE}"
|
||||||
printf 'Wireguard failed!\n' | "${LIB_DIR}/http_res" 500
|
printf 'Wireguard failed!\n' | "${LIB_DIR}/http_res" 500
|
||||||
exit 5
|
exit 10
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Filter out the user's
|
# Filter out the user's
|
||||||
|
@ -71,14 +75,14 @@ user_peers="$(grep "${IPV4_NET%.*.*}.${usernumber}." <<<"${wg_output}" 2>/dev/nu
|
||||||
if [ "${user_peers}" == "" ]; then
|
if [ "${user_peers}" == "" ]; then
|
||||||
printf "ERROR! Couldn't find any peers for %s!\n" "${IPV4_NET%.*.*}.${usernumber}." >>"${LOGFILE}"
|
printf "ERROR! Couldn't find any peers for %s!\n" "${IPV4_NET%.*.*}.${usernumber}." >>"${LOGFILE}"
|
||||||
printf 'No user peers found for %s!\n' "${IPV4_NET%.*.*}.${usernumber}" | "${LIB_DIR}/http_res" 404
|
printf 'No user peers found for %s!\n' "${IPV4_NET%.*.*}.${usernumber}" | "${LIB_DIR}/http_res" 404
|
||||||
exit 14
|
exit 11
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get user peer domains
|
# Get user peer domains
|
||||||
if ! peers="$("${LIB_DIR}/ips_to_peers_rdns" tsv <<<"${user_peers}")"; then
|
if ! peers="$("${LIB_DIR}/ips_to_peers_rdns" tsv <<<"${user_peers}")"; then
|
||||||
printf 'ERROR! Failed to retrieve peers for %s!\n' "${${IPV4_NET%.*.*}.${usernumber}}" >>"${LOGFILE}"
|
printf 'ERROR! Failed to retrieve peers for %s!\n' "${${IPV4_NET%.*.*}.${usernumber}}" >>"${LOGFILE}"
|
||||||
printf 'Failed to retrieve peers for %s!\n' "${IPV4_NET%.*.*}.${usernumber}" | "${LIB_DIR}/http_res" 500
|
printf 'Failed to retrieve peers for %s!\n' "${IPV4_NET%.*.*}.${usernumber}" | "${LIB_DIR}/http_res" 500
|
||||||
exit 10
|
exit 12
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run this function in parallel in the while loop below
|
# Run this function in parallel in the while loop below
|
||||||
|
@ -94,11 +98,11 @@ for_server_do() {
|
||||||
printf 'ERROR! Failed to delete %s from local wireguard server!\n' "${domain}" >>"${LOGFILE}"
|
printf 'ERROR! Failed to delete %s from local wireguard server!\n' "${domain}" >>"${LOGFILE}"
|
||||||
# TODO: Send a 500 error
|
# TODO: Send a 500 error
|
||||||
# TODO: clear existing progress
|
# TODO: clear existing progress
|
||||||
exit 15
|
exit 13
|
||||||
fi
|
fi
|
||||||
# TODO Add federated peer
|
# TODO Delete federated peer
|
||||||
#else
|
#else
|
||||||
# if "${LIB_DIR}/fed_peer_add" "${server_admin}" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128" "${server_secret}"; then
|
# if "${LIB_DIR}/fed_peer_del" "${server_admin}" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128" "${server_secret}"; then
|
||||||
# printf 'Deleted %s from remote wireguard server %s.\n' "${domain}" "${server_hostname}" >>"${LOGFILE}"
|
# printf 'Deleted %s from remote wireguard server %s.\n' "${domain}" "${server_hostname}" >>"${LOGFILE}"
|
||||||
# else
|
# else
|
||||||
# printf 'ERROR! Failed to delete %s from remote wireguard server %s!\n' "${domain}" "${server_hostname}" >>"${LOGFILE}"
|
# printf 'ERROR! Failed to delete %s from remote wireguard server %s!\n' "${domain}" "${server_hostname}" >>"${LOGFILE}"
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
[X] Admin user add/delete frontend
|
[X] Admin user add/delete frontend
|
||||||
[X] admin user adding backend
|
[X] admin user adding backend
|
||||||
[ ] admin user deleting backend
|
[ ] admin user deleting backend
|
||||||
|
[ ] Replace ns_lookup_rdns with ns_lookup_rxfr where applicable
|
||||||
[ ] Prevent deleting user's only peer
|
[ ] Prevent deleting user's only peer
|
||||||
[ ] Let users download ssl certs
|
[ ] Let users download ssl certs
|
||||||
[ ] Show QR code with new config
|
[ ] Show QR code with new config
|
||||||
|
|
|
@ -200,7 +200,7 @@ function PeerList() {
|
||||||
const res = await fetch(url, {method: 'DELETE'})
|
const res = await fetch(url, {method: 'DELETE'})
|
||||||
if (res.ok) self.peers.remove(peer)
|
if (res.ok) self.peers.remove(peer)
|
||||||
else {
|
else {
|
||||||
if (res.status===404) {
|
if (res.status===202) {
|
||||||
self.users.remove(user)
|
self.users.remove(user)
|
||||||
self.peers().forEach( (peer)=> {
|
self.peers().forEach( (peer)=> {
|
||||||
if ( peer.domain.split('.')[1] === user.name)
|
if ( peer.domain.split('.')[1] === user.name)
|
||||||
|
@ -215,6 +215,7 @@ function PeerList() {
|
||||||
} finally { user.isDeleting(false) }
|
} finally { user.isDeleting(false) }
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
if (err) console.error(err)
|
||||||
alert(`Failed to contact the server. Are you online?`)
|
alert(`Failed to contact the server. Are you online?`)
|
||||||
} finally {
|
} finally {
|
||||||
user.isDeleting(false)
|
user.isDeleting(false)
|
||||||
|
|
Loading…
Reference in New Issue