aboutsummaryrefslogtreecommitdiff
path: root/utils/whatsapp_ip_addresses_download.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/whatsapp_ip_addresses_download.sh')
-rwxr-xr-xutils/whatsapp_ip_addresses_download.sh16
1 files changed, 9 insertions, 7 deletions
diff --git a/utils/whatsapp_ip_addresses_download.sh b/utils/whatsapp_ip_addresses_download.sh
index e53ac68f6..9810c7644 100755
--- a/utils/whatsapp_ip_addresses_download.sh
+++ b/utils/whatsapp_ip_addresses_download.sh
@@ -5,21 +5,23 @@ cd "$(dirname "${0}")"
DEST=../src/lib/inc_generated/ndpi_whatsapp_match.c.inc
TMP=/tmp/wa.zip
LIST=/tmp/wa.list
-# https://developers.facebook.com/docs/whatsapp/guides/network-requirements/
-ORIGIN="https://scontent.fmxp6-1.fna.fbcdn.net/v/t39.8562-6/218944277_794653217800107_785885630662402277_n.zip?_nc_cat=102&ccb=1-5&_nc_sid=ae5e01&_nc_ohc=CxWH4uR6uPsAX-Yga3M&_nc_ht=scontent.fmxp6-1.fna&oh=00_AT9gC0NiHKwmgoBdNX9jbVbxtciJ8HzeGdOLj35n3kWeUw&oe=6201B6A9"
+IP_LINK_URL='https://developers.facebook.com/docs/whatsapp/guides/network-requirements/'
-echo "(1) Downloading file... ${ORIGIN}"
+echo "(1) Scraping Facebook WhatsApp IP Adresses and Ranges..."
+ORIGIN="$(curl -s "${IP_LINK_URL}" | sed -ne 's/.*<a href="\([^"]*\)" target="_blank">List of the WhatsApp server IP addresses and ranges (.zip file)<\/a>.*/\1/gp' | sed -e 's/\&amp;/\&/g')"
+
+echo "(2) Downloading file... ${ORIGIN}"
http_response=$(curl -s -o $TMP -w "%{http_code}" ${ORIGIN})
if [ "$http_response" != "200" ]; then
echo "Error $http_response: you probably need to update the list url!"
- return 0 # WhatsApp URL broken: set this to 1 when the URL was fixed
+ exit 1
fi
-echo "(2) Processing IP addresses..."
+echo "(3) Processing IP addresses..."
zcat $TMP > $LIST
./ipaddr2list.py $LIST NDPI_PROTOCOL_WHATSAPP > $DEST
rm -f $TMP $LIST
-echo "(3) WhatsApp IPs are available in $DEST"
-return 0
+echo "(4) WhatsApp IPs are available in $DEST"
+exit 0