function test-net --description 'Test network connectivity' if not command -q 'ip' echo "Can't find ip." return 1 end if not command -q 'ping' echo "Can't find ping." return 1 end if not command -q 'curl' echo "Can't find curl." return 1 end set -l extipurl 'https://ifconfig.io' function print_header -a headertext echo set_color blue echo $headertext set_color normal echo end function print_ip -a label -a ip echo -n $label set_color yellow echo $ip set_color normal end function ping_host -a host echo set_color green ping -q -O -c 1 $host set_color normal end print_header "Testing local connectivity" set -l gateway "$(ip -c=never -o route show | awk '/default via/ {print $3}')" print_ip 'Gateway: ' "$gateway" ping_host "$gateway" print_header "Testing internet connectivity" print_ip 'External IPv4 address: ' "$(curl -s -4 $extipurl)" print_ip 'External IPv6 address: ' "$(curl -s -6 $extipurl)" ping_host 8.8.8.8 echo end