fix #142: update for ipify's new API
authorAJ ONeal <aj@therootcompany.com>
Mon, 5 Oct 2020 22:07:46 +0000 (22:07 +0000)
committerAJ ONeal <aj@therootcompany.com>
Mon, 5 Oct 2020 22:07:46 +0000 (22:07 +0000)
myip/myip.sh

index aa6980cdeb53e03765bf2faf93d0292acd59a24a..1fb90eeacd11888687a6cbf18fe93def420c25d7 100644 (file)
@@ -1,17 +1,23 @@
 #!/bin/bash
 
-{
-    set -e
+function __show_my_ip {
     set -u
+    set -e
 
-    ipv4=$(curl -s https://api.ipify.org)
-    ipv6=$(curl -s https://api6.ipify.org)
+    ipv4=$(curl -s https://api.ipify.org || true)
+    ipv6=$(curl -s https://api6.ipify.org || true)
 
-    if [ -n "$ipv4" ]; then
+    if [[ -n "${ipv4}" ]]; then
         echo "IPv4 (A)   : $ipv4"
     fi
 
-    if [ -n "$ipv6" ] && [ "ipv6" != "ipv4" ]; then
+    if [[ -n "$ipv6" ]] && [[ "ipv6" != "ipv4" ]]; then
         echo "IPv6 (AAAA): $ipv6"
     fi
+
+    if [[ -z "$ipv4" ]] && [[ -z "ipv6" ]]; then
+        >&2 echo "error: no public IP address"
+    fi
 }
+
+__show_my_ip