Mercurial > index.cgi > dotfiles
diff .ssh/athome @ 265:df0b24d4fabd
Think I'm ready to check this all in now; shared dotfiles that can be "sent"
through an SSH connection to be used and cleaned up when finished.
author | Steve Huston <huston@srhuston.net> |
---|---|
date | Wed, 24 Apr 2024 16:15:40 -0400 |
parents | |
children | 33541d73d6d7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.ssh/athome Wed Apr 24 16:15:40 2024 -0400 @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# Check to see if we're at home - does our externally routable IP address +# match the one on my home network. This should be fast, and needs to be +# portable so it works in multiple ways, but if everything else fails we'll +# return false which should still allow things to work. + +# Logic swap for negating outputs +on=0 +off=1 +if [[ "$1" == "--not" ]] ; then + shift + on=1 + off=0 +fi + +# Start by getting our current IP, this is surprisingly easy thanks to Amazon +MYIP=`curl -s checkip.amazonaws.com` + +# Now how to get the home IP.. let's loop through ways it's possible +HOMEDNS="b6800200.eero.online" + +if which -s getent awk ; then + HOMEIP=`getent ahostsv4 $HOMEDNS | awk '{print $1; exit}'` +elif which -s dig ; then + HOMEIP=`dig +short $HOMEDNS` +else + exit $off +fi + +[[ $MYIP == $HOMEIP ]] && exit $on || exit $off