Eigene anonyme Meta Suchmaschine installieren

Logo SearxGoogle ist als Suchmaschine und Dienstanbieter heutzutage fast unersätzlich. Alle Dienste arbeiten gut zusammen und deren Verwendung ist denkbar einfach. Dass Google mit den Diensten Daten erfasst und wirtschaftlich weiterverwendet, sollte keinen mehr erschrecken. Dennoch hatte ich ein Erlebnis mit den Diensten, das mich zum Nachdenken und zum Aufsetzen einer eigenen Meta Suchmaschine gebracht hat. Wie das funktioniert, werde ich im weiteren Verlauf des Beitrags erläutern.

In einem anderen Beitrag habe ich darüber berichtet, dass man mit der Google Umfrage App durch die Beantwortung von Umfragen Guthaben im Play Store erhält. Erschreckend fand ich, dass nachdem ich nach einem Restaurant gesucht und darin gegessen habe, in dieser App einige Fragen zu genau diesem Restaurant gestellt wurden. Und das einen Tag, nachdem ich dort war. Das hat mich dazu gebracht, mir Gedanken über andere Suchmaschinen Anbieter zu machen. Doch sind wir mal ehrlich: Google sucht einfach am Besten und alle anderen, die auch gut sind, verwenden die Daten genauso.

Bei meiner Recherche bin ich auf die anonyme Meta Suchmaschine Searx gestoßen. Der Unterschied zu einer normalen Suchmaschine ist, dass eine Meta Suchmaschine keinen eigenen Such-Index erstellt. Die greift auf andere Suchmaschinen zurück. Searx zeichnet sich dadurch aus, dass sie keinerlei Daten über den Benutzer speichert und auf die Suchergebnisse anderer Suchmaschinen wie bspw. Google zurückgreift. Dabei werden sämtliche Nachverfolgungsroutinen aus den Suchergebnissen rausgefiltert.

Nachfolgend werde ich beschreiben, wie man Searx installiert und aufsetzt. Das fertige Ergebnis kann hier betrachtet und genutzt werden: https://searx.techregion.de

Für die Installation von Searx wird Python benötigt. Der Hoster meiner Wahl ist Uberspace. Dort bekommt ihr ein tolles Paket an allen möglichen Tools und bezahlt nur so viel, wie ihr bereit seid zu zahlen. Ich werde dieses kleine Tutorial am Beispiel für Uberspace zeigen. Für andere Hoster muss es ggf. angepasst werden.

Schritt 1: Quelldateien abholen

Der Quellcode der Suchmaschine muss von GitHub abgeholt werden. Das Projekt mit weiteren Informationen ist hier zu finden: https://github.com/asciimoo/searx

git clone https://github.com/asciimoo/searx.git

Anschließend in das erstellte Verzeichnis wechseln:

cd searx/

Schritt 2: Voraussetzungen installieren

Nun müssen die Voraussetzungen installiert werden. Eine Datei mit den Voraussetzungen ist im Projekt enthalten. Diese können über nachfolgenden Befehl installiert werden:

pip-2.7 install -r requirements.txt --user

Bei Uberspace ist es wichtig, die Abhängigkeiten mit –user zu installieren.

Jetzt muss die Installation abgesichert werden. Zum einen muss ein Schlüssel generiert werden, zum anderen das Debug-Level auf False gesetzt werden. Die beiden nachfolgenden Befehle nacheinander ausführen.

sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
sed -i -e "s/debug : True/debug : False/g" searx/settings.yml

Schritt 3: Dienst anlegen

Damit die Python Anwendung permanent verfügbar ist, sollte sie als Dienst eingerichtet werden. Ich zeige den Weg, wie das bei Uberspace funktioniert. Bei anderen Hostern muss es entsprechend angepasst werden. Zum Anlegen des Dienstes nachfolgende Befehle ausführen:

uberspace-setup-svscan
cd ~/searx/searx
nano searx-daemon

In die angelegte Datei folgende Zeile eintragen:

python2.7 ~/searx/searx/webapp.py

Anschließend speichern, schließen und die Datei ausführbar machen mit

chmod +x searx-daemon

Jetzt muss der Dienst nur noch registriert werden. Bei Uberspace geht das folgendermaßen:

uberspace-setup-service searx ~/searx/searx/searx-daemon
svc -u ~/service/searx

Damit ist der Dienst eingerichtet und gestartet.

(Optionaler) Schritt 4: Subdomain aufschalten

Im letzten Schritt soll die Suchmaschine über eine eigene Subdomain erreichbar sein. Bei mir soll diese searx.techregion.de lauten. Dazu folgende Befehle ausführen:

uberspace-add-domain -d searx.techregion.de -w
cd /var/www/virtual/$USER
mkdir searx.techregion.de
cd searx.techregion.de
nano .htaccess

In die geöffnete Datei tragt ihr folgende Umleitung ein, damit die Anfragen gegen die Subdomain an die Python Anwendung umgeleitet werden:

RewriteBase /
RewriteEngine On
RewriteRule (.*) http://localhost:12345/$1 [P]

Der Port muss natürlich so angepasst werden, dass er zu eurem Port passt. Den Port findet ihr in der settings.yml.

Die Installation der Suchmaschine ist abgeschlossen und nun sollte sie auf eurer Subdomain aufgeschaltet sein. Meine findet ihr unter https://searx.techregion.de. Hierbei handelt es sich um eine Basis-Installation. Weitere Optionen entnehmt ihr bitte der offiziellen Dokumentation.

Wenn ihr Fragen oder Anregungen habt, schreibt sie einfach in die Kommentare.