Zuletzt aktiv 1747064984

Script to update home IP in nginx conf

santiago's Avatar santiago hat die Gist bearbeitet 1747064984. Zu Änderung gehen

Keine Änderungen

santiago's Avatar santiago hat die Gist bearbeitet 1747064980. Zu Änderung gehen

1 file changed, 10 insertions

update-home-ip.sh

@@ -1,11 +1,21 @@
1 1 #!/usr/bin/env bash
2 2
3 + # ------------------------------------------------------------------------------
4 + # This will either allow automically with allowed IP or ask for auth otherwise
3 5 # in /etc/nginx/sites-available/search.lema.org
6 + # ------------------------------------------------------------------------------
4 7 # satisfy any;
5 8 # include /etc/nginx/home_allow.conf;
6 9 # auth_basic "Restricted";
7 10 # auth_basic_user_file /etc/nginx/.htpasswd;
11 + # ------------------------------------------------------------------------------
8 12
13 + # ------------------------------------------------------------------------------
14 + # call it every x minutes to stay up to day
15 + # sudo crontab -e
16 + # ------------------------------------------------------------------------------
17 + # */5 * * * * /etc/nginx/update-home-ip.sh > /var/log/home_ip_update.log 2>&1
18 + # ------------------------------------------------------------------------------
9 19
10 20
11 21 CNAME="casinha.lema.org"

santiago's Avatar santiago hat die Gist bearbeitet 1747064558. Zu Änderung gehen

Keine Änderungen

santiago's Avatar santiago hat die Gist bearbeitet 1747064539. Zu Änderung gehen

1 file changed, 29 insertions

update-home-ip.sh(Datei erstellt)

@@ -0,0 +1,29 @@
1 + #!/usr/bin/env bash
2 +
3 + # in /etc/nginx/sites-available/search.lema.org
4 + # satisfy any;
5 + # include /etc/nginx/home_allow.conf;
6 + # auth_basic "Restricted";
7 + # auth_basic_user_file /etc/nginx/.htpasswd;
8 +
9 +
10 +
11 + CNAME="casinha.lema.org"
12 + INCLUDE_FILE="/etc/nginx/home_allow.conf"
13 + CURRENT_IP=$(dig +short "$CNAME" | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -n 1)
14 +
15 + if [[ -z "$CURRENT_IP" ]]; then
16 + echo "Could not resolve $CNAME"
17 + exit 1
18 + fi
19 +
20 + NEW_CONTENT="allow $CURRENT_IP;\ndeny all;"
21 +
22 + # Only reload if IP changed
23 + if ! grep -q "allow $CURRENT_IP;" "$INCLUDE_FILE"; then
24 + echo -e "$NEW_CONTENT" > "$INCLUDE_FILE"
25 + nginx -t && nginx -s reload
26 + echo "Updated Nginx allow list with IP $CURRENT_IP"
27 + else
28 + echo "IP unchanged, nothing to do."
29 + fi
Neuer Älter