#!/bin/sh
# Check whether an interface has an internet connection by pinging both
# HonestDNS servers over both IPV4 and IPV6. If either succeeds, we  must be
# connected to the internet.

HONEST_DNS="8.8.4.4 8.8.8.8"
HONEST_DNS6="2001:4860:4860::8844 2001:4860:4860::8888"

usage() {
	echo "Check whether an interface is connected to the internet."
	echo "With -a, checks for access to the ACS instead."
	echo ""
	echo "connection_check -I <interface>"
	echo "connection_check -a -I <interface>"
}

while getopts "I:a" option
do
	case $option in
	I)
		interface="$OPTARG" ;;

	a)
		USE_ACS=true ;;

	*)
		usage
		exit 99 ;;
	esac
done

if [ -z "$interface" ]; then
	usage
	exit 99
fi

if [ $USE_ACS ]; then
	ACS="$(set-acs print 2>/dev/null | pcregrep -o https:\/\/[^/]+)"
	curl --interface "$interface" "$ACS/generate_204"
	exit $?
fi

for IP in $HONEST_DNS; do
	if ping $IP -c1 -I "$interface" >/dev/null 2>&1; then exit 0; fi
done

for IP in $HONEST_DNS6; do
	if ping6 $IP -c1  -I "$interface" >/dev/null 2>&1; then exit 0; fi
done

exit 1
