diff options
Diffstat (limited to 'retiolum/bin')
-rwxr-xr-x | retiolum/bin/supernode-update-hosts-and-hup | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/retiolum/bin/supernode-update-hosts-and-hup b/retiolum/bin/supernode-update-hosts-and-hup index 221a7538..bfba6409 100755 --- a/retiolum/bin/supernode-update-hosts-and-hup +++ b/retiolum/bin/supernode-update-hosts-and-hup @@ -1,4 +1,8 @@ #! /bin/sh +# +# @oxberg we do put this into crontab: +# * * * * * /supernode-update-hosts-and-hup +# set -euf cd /etc/tinc/retiolum/hosts @@ -13,25 +17,27 @@ _hrefs() { sed -n 's/href="\([^"]\+\)"/\n&\n/gp' | sed -n 's/^href="\([^"]\+\)"$/\1/p'; } -curl -fsS "https://github.com/krebscode/painload/tree/master/retiolum/hosts" | +if curl -fsS \ + "https://github.com/krebscode/painload/tree/master/retiolum/hosts" | _hrefs | grep '^/krebscode/painload/blob/' | grep -v "/blob/$old_commit/" >$temp1 -new_commit=`sed 's|^/krebscode/painload/blob/\([^/]*\)/.*|\1|;q' $temp1` + new_commit=`sed 's|^/krebscode/painload/blob/\([^/]*\)/.*|\1|;q' $temp1` -sed ' - s|^/krebscode/painload/blob/[^/]*/retiolum/hosts/\([^/]*\)$|\1| -' $temp1 > $temp2 + sed ' + s|^/krebscode/painload/blob/[^/]*/retiolum/hosts/\([^/]*\)$|\1| + ' $temp1 > $temp2 -xargs rm -v -f <$temp2 + xargs rm -v -f <$temp2 -sed " - s|^.*$|https://raw.github.com/krebscode/painload/$new_commit/retiolum/hosts/&| -" $temp2 > $temp1 + sed " + s|^.*$|https://raw.github.com/krebscode/painload/$new_commit/retiolum/hosts/&| + " $temp2 > $temp1 -wget -qi- < $temp1 + wget -qi- < $temp1 -echo $new_commit > .commit + echo $new_commit > .commit -pkill -HUP tincd + pkill -HUP tincd +fi |