From 2f2f7dc7e7fbc937916a9838c74c275a99cdee17 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 18 Apr 2026 21:15:54 +0200 Subject: [PATCH] =?UTF-8?q?fix(searxng):=20Mojeek=20entfernt=20=E2=80=94?= =?UTF-8?q?=20blockt=20die=20Pi-IP=20mit=20403?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nach dem DDG-Rauswurf war Mojeek die verbleibende Lärm-Quelle im Log: HTTP 403 pro Suche, suspended_time=180. Mojeek hat nach eigenem Muster Pi-IPs als automatisierten Traffic klassifiziert. Brave (API) deckt die Websuche zuverlässig ab — Mojeek ist draußen, sowohl im searxng.ts- Query (engines=brave) als auch in der SearXNG-keep_only-Liste. Co-Authored-By: Claude Opus 4.7 (1M context) --- searxng/settings.yml | 11 ++--------- src/lib/server/search/searxng.ts | 8 ++++---- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/searxng/settings.yml b/searxng/settings.yml index 250a339..b2be29f 100644 --- a/searxng/settings.yml +++ b/searxng/settings.yml @@ -1,13 +1,13 @@ -# Defaults laden, aber Engine-Liste rigoros auf brave + mojeek eindampfen. +# Defaults laden, aber Engine-Liste rigoros auf brave 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. +# Mojeek blockt die Pi-IP mit 403 und ist deshalb draußen. use_default_settings: engines: keep_only: - brave - - mojeek server: # Platzhalter wird beim Container-Start per os.path.expandvars aus der @@ -58,10 +58,3 @@ engines: timeout: 6.0 api_key: "${BRAVE_API_KEY}" disabled: false - - # Mojeek: eigener Index, seltener Rate-Limits, ergänzt Brave. - - name: mojeek - engine: mojeek - shortcut: mjk - timeout: 6.0 - disabled: false diff --git a/src/lib/server/search/searxng.ts b/src/lib/server/search/searxng.ts index 41f92b1..7926bef 100644 --- a/src/lib/server/search/searxng.ts +++ b/src/lib/server/search/searxng.ts @@ -312,10 +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'); + // Nur Brave (via API) — Mojeek blockt die Pi-IP mit 403, andere Engines + // sind von SearXNG-Seite durch keep_only ohnehin ausgeknipst. So bleibt + // das Log sauber und kochwas ist unabhängig von der globalen Engine-Liste. + endpoint.searchParams.set('engines', 'brave'); if (pageno > 1) endpoint.searchParams.set('pageno', String(pageno)); const body = await fetchText(endpoint.toString(), {