diff --git a/README.md b/README.md index c47f0e32..ca12cda5 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,14 @@ To allow GoogleBot, block all Google IP addresses and then allow the GoogleBot a - IPv4: https://raw.githubusercontent.com/lord-alfred/ipranges/main/perplexity/ipv4.txt - IPv4 (merged): https://raw.githubusercontent.com/lord-alfred/ipranges/main/perplexity/ipv4_merged.txt +### DuckDuckBot +- IPv4: https://raw.githubusercontent.com/lord-alfred/ipranges/main/duckduckbot/ipv4.txt +- IPv4 (merged): https://raw.githubusercontent.com/lord-alfred/ipranges/main/duckduckbot/ipv4_merged.txt + +### DuckAssistBot +- IPv4: https://raw.githubusercontent.com/lord-alfred/ipranges/main/duckassistbot/ipv4.txt +- IPv4 (merged): https://raw.githubusercontent.com/lord-alfred/ipranges/main/duckassistbot/ipv4_merged.txt + ## All-In-One IPs A list of IP addresses from all sources combined into one file. diff --git a/duckassistbot/downloader.sh b/duckassistbot/downloader.sh new file mode 100644 index 00000000..97de8370 --- /dev/null +++ b/duckassistbot/downloader.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot +set -euo pipefail +set -x + + +# get from public ranges +curl -s https://duckduckgo.com/duckassistbot.json > /tmp/duckassistbot.json + + +# save ipv4 +jq '.prefixes[] | [.ipv4Prefix][] | select(. != null)' -r /tmp/duckassistbot.json > /tmp/duckassistbot-ipv4.txt + +# there's no ipv6 known yet +# save ipv6 +#jq '.ipv6_prefixes[] | [.ipv6_prefix][] | select(. != null)' -r /tmp/duckassistbot.json > /tmp/duckassistbot-ipv6.txt + + +# sort & uniq +sort -V /tmp/duckassistbot-ipv4.txt | uniq > duckassistbot/ipv4.txt +# sort -V /tmp/duckassistbot-ipv6.txt | uniq > duckassistbot/ipv6.txt diff --git a/duckduckbot/downloader.sh b/duckduckbot/downloader.sh new file mode 100644 index 00000000..bb0cc425 --- /dev/null +++ b/duckduckbot/downloader.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# https://duckduckgo.com/duckduckgo-help-pages/results/duckduckbot + +set -euo pipefail +set -x + + +# get from public ranges +curl -s https://duckduckgo.com/duckduckbot.json > /tmp/duckduckbot.json + + +# save ipv4 +jq '.prefixes[] | [.ipv4Prefix][] | select(. != null)' -r /tmp/duckduckbot.json > /tmp/duckduckbot-ipv4.txt + +# there's no ipv6 known yet +# save ipv6 +#jq '.ipv6_prefixes[] | [.ipv6_prefix][] | select(. != null)' -r /tmp/duckduckbot.json > /tmp/duckduckbot-ipv6.txt + + +# sort & uniq +sort -V /tmp/duckduckbot-ipv4.txt | uniq > duckduckbot/ipv4.txt +# sort -V /tmp/duckduckbot-ipv6.txt | uniq > duckduckbot/ipv6.txt