diff --git a/searxng/settings.yml b/searxng/settings.yml index fa096a6..250a339 100644 --- a/searxng/settings.yml +++ b/searxng/settings.yml @@ -1,4 +1,13 @@ -use_default_settings: true +# Defaults laden, aber Engine-Liste rigoros auf brave + mojeek eindampfen. +# keep_only ist robuster als einzelne `disabled: true`-Overrides: SearXNGs +# Merge-Semantik für partial overrides (nur name + disabled ohne engine:) +# greift nicht zuverlässig — DDG & Co. wurden trotzdem abgefragt. keep_only +# wirft alles andere vor dem Laden raus, kein Captcha-/403-Log-Lärm mehr. +use_default_settings: + engines: + keep_only: + - brave + - mojeek server: # Platzhalter wird beim Container-Start per os.path.expandvars aus der @@ -31,7 +40,6 @@ outgoing: ui: default_locale: de -# Quieten engines that fail on cold start and aren't useful here enabled_plugins: - 'Hash plugin' - 'Tracker URL remover' @@ -51,49 +59,9 @@ engines: api_key: "${BRAVE_API_KEY}" disabled: false - # DuckDuckGo: deaktiviert, weil DDG die Pi-IP als Bot erkannt hat und - # bei jeder Anfrage mit CAPTCHA antwortet. Brave (API) + Mojeek decken - # die Websuche zuverlässig ab — DDG-Scraping wäre nur zusätzlicher Lärm. - - name: duckduckgo - disabled: true - # Mojeek: eigener Index, seltener Rate-Limits, ergänzt Brave. - name: mojeek engine: mojeek shortcut: mjk timeout: 6.0 disabled: false - - # Video-/News-Engines abdrehen — wir wollen nur Text-Treffer für Rezeptseiten. - - name: google videos - disabled: true - - name: google news - disabled: true - - name: google images - disabled: true - - name: bing videos - disabled: true - - name: bing news - disabled: true - - name: bing images - disabled: true - - name: karmasearch videos - disabled: true - - # Startpage: hat unsere Pi-IP als Bot erkannt und blockt mit Captcha - # (1h suspended_time pro Fehler). Bringt für Rezeptsuche nichts, was - # nicht schon Brave/DDG liefern. - - name: startpage - disabled: true - - # Tor-basierte Engines brauchen einen Tor-Proxy im Container — haben - # wir nicht, also harmlos deaktivieren, um Init-Fehler loszuwerden. - - name: ahmia - disabled: true - - name: torch - disabled: true - - # Wikidata produziert beim Cold-Start einen KeyError (Init-Bug in der - # aktuellen SearXNG-Version 2026.4). Für Rezeptsuche ohne Mehrwert. - - name: wikidata - disabled: true diff --git a/src/lib/server/search/searxng.ts b/src/lib/server/search/searxng.ts index 2bc00c7..41f92b1 100644 --- a/src/lib/server/search/searxng.ts +++ b/src/lib/server/search/searxng.ts @@ -312,6 +312,10 @@ export async function searchWeb( // Nur Text-Engines abfragen — SearXNG-Video/Image-Engines (karmasearch etc.) // bringen uns für Rezeptseiten nichts und produzieren nur 403-Log-Noise. endpoint.searchParams.set('categories', 'general'); + // Explizit nur Brave (API) + Mojeek — defensiv gegen SearXNG-Merge-Quirks, + // bei denen disabled:true in partial overrides nicht greift und DDG o.ä. + // trotzdem angefragt wird. So ist uns die globale Engine-Liste egal. + endpoint.searchParams.set('engines', 'brave,mojeek'); if (pageno > 1) endpoint.searchParams.set('pageno', String(pageno)); const body = await fetchText(endpoint.toString(), {