diff --git a/arch-config/scripts/pieces/wireguard-add-route-dns.sh b/arch-config/scripts/pieces/wireguard-lan-routes.sh similarity index 100% rename from arch-config/scripts/pieces/wireguard-add-route-dns.sh rename to arch-config/scripts/pieces/wireguard-lan-routes.sh diff --git a/arch-config/scripts/pieces/wireguard-road-routes.sh b/arch-config/scripts/pieces/wireguard-road-routes.sh new file mode 100755 index 00000000..a1d08ec8 --- /dev/null +++ b/arch-config/scripts/pieces/wireguard-road-routes.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [ $# -eq 0 ]; then + echo "Please supply one file" + $(exit 1); echo "$?" +elif [ $# -ge 2 ]; then + echo "Please only give one argument" + $(exit 1); echo "$?" +fi + +cd "$HOME" + +file="$1" +parent="$(dirname "$file")" +extract="${parent}/vpnconfigs" +patched="${file%.*}-patched.zip" + +cd "$parent" + +mkdir -p "${parent}/vpnconfigs" + +unzip "$file" -d "$extract" + +readarray -d '' conffiles < <(find "$extract" -name "*\.conf" -print0) + +for file in "${conffiles[@]}"; do + if grep "PostUp" "$file" &>/dev/null; then + echo "Skipping $file" + else + echo "Patching $file" + # hetzner net + awk 'NR==5{print "PostUp = ip route add 172.18.50.0/24 dev vladilena-road"}NR==5{print "PreDown = ip route del 172.18.50.0/24"}1' "$file" > "${file}.tmp" + mv "${file}.tmp" "$file" + # NOTE only one PreDown line is required as we are using a specific table for this + # TODO tables do not work as intended + #awk 'NR==5{print "PostUp = ip route add 192.168.1.0/24 via 192.168.86.1 metric 10 table 7"}NR==5{print "PreDown = ip route flush table 7"}1' "$file" > "${file}.tmp" + # NOTE adds a dns to all configs + #awk 'NR==4{print "DNS = 172.16.16.5"}1' "$file" > "${file}.tmp" + #mv "${file}.tmp" "$file" + # NOTE adds a dns to all configs + #awk 'NR==5{print "DNS = 172.16.52.5"}1' "$file" > "${file}.tmp" + #mv "${file}.tmp" "$file" + # NOTE adds a dns to all configs + #awk 'NR==6{print "DNS = 172.16.16.1"}1' "$file" > "${file}.tmp" + #mv "${file}.tmp" "$file" + # wifi + #awk 'NR==6{print "PostUp = ip route add 192.168.1.0/24 via 172.16.52.1 metric 20 table 7"}1' "$file" > "${file}.tmp" + #mv "${file}.tmp" "$file" + fi +done + +zip -r -9 "$patched" "vpnconfigs" + +rm -rf "$extract"