#!/usr/bin/env bash AMAZON_IP_RANGES=https://ip-ranges.amazonaws.com/ip-ranges.json IPRANGES_json=/tmp/ip-ranges.json DIR=/tmp IPV4=${DIR}/amazon_ipv4.ipset IPV6=${DIR}/amazon_ipv6.ipset # --- download file if not already here --- if [ ! -e ${IPRANGES_json} ] then curl -Ro ${IPRANGES_json} ${AMAZON_IP_RANGES} fi # ------ create IPv4 define ------ echo "create IPV4_AMAZON hash:ip family inet hashsize 10485760 maxelem 10485760" >${IPV4} jq .prefixes[].ip_prefix ${IPRANGES_json} | sed 's/"//g'| while read IP do echo "add IPV4_AMAZON ${IP}" >>${IPV4} done # ------ create IPv6 define file ------ echo "create IPV6_AMAZON hash:ip family inet hashsize 10485760 maxelem 10485760" >${IPV6} jq .ipv6_prefixes[].ipv6_prefix ${IPRANGES_json} | sed 's/"//g'| while read IP do echo "add IPV6_AMAZON ${IP}" >>${IPV6} done