Fix CLIENT_IP not being set properly when array is modified

pull/59/head
Cristian Gauxachs 4 years ago
parent 0ed3fb65b4
commit 07002a9453

@ -1,5 +1,5 @@
[Interface]
Address = ${INTERFACE}.${CLIENT_IP_IDX}
Address = ${CLIENT_IP}
PrivateKey = $(cat /config/${PEER_ID}/privatekey-${PEER_ID})
ListenPort = 51820
DNS = ${PEERDNS}

@ -172,7 +172,6 @@ generate_confs () {
`cat /config/templates/server.conf`
DUDE"
CLIENT_IP_IDX=2
for i in ${PEERS_ARRAY[@]}; do
if [[ "${i}" =~ ^[0-9]+$ ]]; then
PEER_ID="peer${i}"
@ -184,6 +183,17 @@ DUDE"
umask 077
wg genkey | tee /config/${PEER_ID}/privatekey-${PEER_ID} | wg pubkey > /config/${PEER_ID}/publickey-${PEER_ID}
fi
if [ -f "/config/${PEER_ID}/${PEER_ID}.conf" ]; then
CLIENT_IP=$(cat /config/${PEER_ID}/${PEER_ID}.conf | grep "Address" | awk '{print $NF}')
else
for idx in {2..254}; do
PROPOSED_IP="${INTERFACE}.${idx}"
if ! grep -q -R "${PROPOSED_IP}" /config/peer*/*.conf; then
CLIENT_IP="${PROPOSED_IP}"
break
fi
done
fi
eval "`printf %s`
cat <<DUDE > /config/${PEER_ID}/${PEER_ID}.conf
`cat /config/templates/peer.conf`
@ -192,10 +202,9 @@ DUDE"
[Peer]
# ${PEER_ID}
PublicKey = $(cat /config/${PEER_ID}/publickey-${PEER_ID})
AllowedIPs = ${INTERFACE}.${CLIENT_IP_IDX}/32
AllowedIPs = ${CLIENT_IP}/32
DUDE
CLIENT_IP_IDX=$(( $CLIENT_IP_IDX + 1 ))
echo "PEER ${i} QR code:"
qrencode -t ansiutf8 < /config/${PEER_ID}/${PEER_ID}.conf
qrencode -o /config/${PEER_ID}/${PEER_ID}.png < /config/${PEER_ID}/${PEER_ID}.conf

Loading…
Cancel
Save