From f89f3631833411382eca2498193669f752145945 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 18 Apr 2026 21:03:48 +0200 Subject: [PATCH] fix(searxng): auf engine: braveapi wechseln (API-Key wird nun genutzt) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die SearXNG-Engine "brave" ist ein HTML-Scraper von search.brave.com und ignoriert den api_key-Parameter. Dadurch liefen alle Anfragen gegen den gescrapten Web-Endpoint, der aus dem Pi-Netz regelmäßig rate-limited wurde (SearxEngineTooManyRequestsException, 60%). Fix: engine: braveapi nutzen. Das ist die offizielle Brave-Search-API- Engine, die den api_key als X-Subscription-Token-Header sendet. Der Key steht unverändert in .env auf dem Pi und wird vom searxng-init-Container ins gerenderte settings.yml expandiert. Co-Authored-By: Claude Opus 4.7 (1M context) --- searxng/settings.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/searxng/settings.yml b/searxng/settings.yml index de313c7..fa096a6 100644 --- a/searxng/settings.yml +++ b/searxng/settings.yml @@ -38,18 +38,16 @@ enabled_plugins: - 'Open Access DOI rewrite' engines: - # Brave mit API-Key: stabiler als der HTML-Scraper, kein Rate-Limit-Spam - # mehr. Key kommt aus dem BRAVE_API_KEY-Env (.env auf dem Pi, nicht im Repo). - # Fehlt der Key oder ist er leer, fällt Brave bei der ersten Anfrage zurück - # auf einen 401 — andere Engines laufen normal weiter. + # Brave Search API (engine: braveapi). Die Engine "brave" ist der + # HTML-Scraper von search.brave.com und ignoriert api_key — deshalb + # hier explizit braveapi, sonst landen wir in Brave-Rate-Limits. + # Key kommt aus dem BRAVE_API_KEY-Env (.env auf dem Pi, nicht im Repo), + # expandiert via Python os.path.expandvars im searxng-init-Container. - name: brave - engine: brave + engine: braveapi shortcut: br categories: [general, web] timeout: 6.0 - # Wert wird beim Container-Start durch Python-os.path.expandvars aus der - # BRAVE_API_KEY-Env-Variable eingesetzt (siehe docker-compose.prod.yml - # entrypoint-Override). SearXNG selbst hat kein !env-Tag. api_key: "${BRAVE_API_KEY}" disabled: false