view .ssh/athome @ 270:6dc992e4fc4a

Fix that one too
author Steve Huston <huston@srhuston.net>
date Thu, 25 Apr 2024 13:21:10 -0400
parents 33541d73d6d7
children e7e331a51f2c
line wrap: on
line source

#!/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 > /dev/null 2>&1 ; then
  HOMEIP=`getent ahostsv4 $HOMEDNS | awk '{print $1; exit}'`
elif which -s dig > /dev/null 2>&1 ; then
  HOMEIP=`dig +short $HOMEDNS`
else
  exit $off
fi

[[ $MYIP == $HOMEIP ]] && exit $on || exit $off