Lightning: SearXNG Suchergebnisse filtern

 | 465 Wörter


Aus keinem gegebenen Anlass probiere ich mit diesem Beitrag die Idee hinter Lightning Talks in Textform aus.


Ahoi,

heute mal kurz und knackig:

Aktuell spiele ich mit SearXNG herum, beziehungsweise eigentlich wieder… Das Originalprojekt wurde vor Jahren eingestellt, woraufhin die Community das Projekt als SearXNG geforkt hat. Was sich im Detail alles geändert hat, habe ich mir ehrlich gesagt noch gar nicht angeschaut – ich war einfach nur genervt vom Status quo.

Nachweislich verschlechtert sich die Qualität der größten Suchmaschinen bereits seit einigen Jahren. Also nicht nur bei Google, sondern auch bei DuckDuckGo etc. Letzteres hatte mich weniger überrascht, als ich gehofft hatte. Insgeheim ist mir das wohl im Verlauf der Jahre aufgefallen. Ich nutze zumindest DuckDuckGo mehr oder weniger regelmäßig seit gut zehn Jahren.

Aber eine echte Alternative kam mir nie in den Sinn. Zumindest als ich mich das letzte Mal durchgetestet hatte, blieb einzig und allein DuckDuckGo. Die größten Pluspunkte waren für mich:

  • !bangs
  • Eigener Index, welcher die Ergebnisse von Bing ergänzt
  • Geschwindigkeit

Das ändert aber leider nichts an den schlechter werdenden Suchergebnissen. Also muss was Eigenes her!

SearXNG

SearXNG ist eine sogenannte Meta-Suchmaschine, welche Suchergebnisse von mehreren anderen Suchmaschinen aggregiert und aufbereitet. Die Aufbereitung geht von einer Kategorisierung über Filterung bis zu einer eigenen Priorisierung und Anbindung an Eigene/Offline Suchmaschinen. Ersteres beispielhaft in Bilder, Videos, News, Karten, Musik, Wissenschaft und Social Media. Jede Kategorie kann mehrere Suchmaschinen haben, so besteht die “Allgemeine” Kategorie aus:

  • Google
  • Bing
  • DuckDuckGo
  • Startpage.com
  • Qwant
  • uvm.

Die Konfiguration findet über YAML Dateien statt, ein paar wenige allgemeine Einstellungen lassen sich aber auch im Browser ändern und speichern (Cookie). Das ist ein wenig lästig beim Testen, aber was solls.

Suchergebnisse filtern

Für mich mit das wichtigste Feature ist das mitgelieferte Plugin “hostname_replace”. Dieses ermöglicht es, die Domains in Suchergebnisse auszutauschen oder das Ergebnis zu verwerfen. Zweiteres war mir wichtig :)

Hier der entsprechende Auszug aus der kommentierten Konfig:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Configuration of the "Hostname replace" plugin:
#
# hostname_replace:
#   '(.*\.)?youtube\.com$': 'invidious.example.com'
#   '(.*\.)?youtu\.be$': 'invidious.example.com'
#   '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com'
#   '(.*\.)?reddit\.com$': 'teddit.example.com'
#   '(.*\.)?redd\.it$': 'teddit.example.com'
#   '(www\.)?twitter\.com$': 'nitter.example.com'
#   # to remove matching host names from result list, set value to false
#   'spam\.example\.com': false

Also fix getestet und voilà, einige der größten Müllhalden wie It’sFOSS und Tecmind werden rigoros verworfen. Im Interwebs gibt es viele Blocklisten, hier ein paar Anhaltspunkte zum selber probieren:

$ ~

Fix die Shell gezügt und was zusammenghackt:

1
2
$ curl -s https://raw.githubusercontent.com/arosh/ublacklist-stackoverflow-translation/master/uBlacklist.txt | grep -oP '\*://(?:\*\.)?\K[^\/]+' | while read -r domain; do echo "    '(.*\.)?$(echo $domain | sed 's/\.
/\\./g')\$': false"; done

Lieferung:

1
2
3
    '(.*\.)?code-examples\.net$': false
    '(.*\.)?answer-id\.com$': false
    ...

und schwupps ist’s in meiner Konfig. Auf auf, keine Zeit, muss weiter testen 🏃

👋

PS: Ich hoffe, bald eine vernünftige Lösung für die fehlenden Kommentare in hugo zu finden.

#linux #selfhosted #searx #searxng #lightning