From 0a20d4036b362c203c9c06c200b176091549ff60 Mon Sep 17 00:00:00 2001 From: Ketanest <87452756+Ketanest@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:32:47 +0100 Subject: [PATCH] adding duckduckbot and duckassistbot (#28) * Create downloader.sh * Create downloader.sh * Update README.md * Create downloader.sh * Update downloader.sh * Delete duckassist directory --- README.md | 8 ++++++++ duckassistbot/downloader.sh | 22 ++++++++++++++++++++++ duckduckbot/downloader.sh | 23 +++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 duckassistbot/downloader.sh create mode 100644 duckduckbot/downloader.sh 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