From e92f6b70a0b1ccb1ac04795fd221d9d54ade8730 Mon Sep 17 00:00:00 2001 From: Nicolas Dato <52720256+nicolasdato@users.noreply.github.com> Date: Sat, 4 Apr 2026 15:44:35 +0000 Subject: [PATCH] [mod] duckduckgo: restore Sec-Fetch-* headers to prevent rate limits --- searx/engines/duckduckgo.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py index 1a424fac7..4dd7f82bd 100644 --- a/searx/engines/duckduckgo.py +++ b/searx/engines/duckduckgo.py @@ -379,6 +379,12 @@ def request(query: str, params: "OnlineParams") -> None: # The vqd value is generated from the query and the UA header. To be able to # reuse the vqd value, the UA header must be static. headers["User-Agent"] = _HTTP_User_Agent + + headers["Sec-Fetch-Dest"] = "document" + headers["Sec-Fetch-Mode"] = "navigate" + headers["Sec-Fetch-Site"] = "same-origin" + headers["Sec-Fetch-User"] = "?1" + headers["Referer"] = "https://html.duckduckgo.com/" ui_lang = params["searxng_locale"]