Im Chat zum Kuketzblog wurde ich auf Searx aufmerksam gemacht. Searx ist eine Metasuchmaschine, die sich selbst wie folgt beschreibt:
Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users.
Ich habe zwar bei blogbasis.net und techregion.de zwei Anleitungen für searx auf Uberspace.de gefunden, aber leider sind diese wohl veraltet und funktionierten bei mir nicht.
Ich habe searx bei mir im Verzeichnis ~/build
installiert, da ich zuerst
dachte searx müsste kompiliert werden. Ich habe es erst mal dort gelassen,
aber vielleicht ziehe ich es mal nach ~
um, wichtig ist nur, dass es in
keinem öffentlich zugänglichen Ordner, also nicht in ~/html
oder
/var/www/virtual/$USER/
liegt.
Zuerst habe ich die aktuelle Version von searx heruntergeladen und in das Verzeichnis gewechselt:
git clone https://github.com/asciimoo/searx.git && cd ~/build/searx
Anschließend habe ich die Datei manage.sh
folgendermaßen bearbeitet:
update_packages() {
pip3 install --upgrade pip --user
pip3 install --upgrade setuptools --user
pip3 install --upgrade -r "$BASE_DIR/requirements.txt" --user
}
Nun wird die Datei ausgeführt um alle für searx benötigten Abhängigkeiten zu installieren:
./manage.sh update_packages
Dann wird in der Datei searx/settings.yml
ein eigener geheimer Key eingetragen:
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
Für searx muss auch ein Port auf Uberspace geöffnet gewählt
werden. Achtet dabei darauf, dass dieser noch frei ist um
Kollisionen zu vermeiden.
Dieser wird in die Datei searx/settings.yml
eingetragen:
server:
port : DER_PORT
Nun legen wir einen Starter mit den daemontools an:
$ cat <<__EOF__ > ~/etc/searx/run
#!/bin/sh
exec /usr/local/bin/python3 /home/$USER/build/searx/searx/webapp.py 2>&1
__EOF__
$ chmod +x ~/etc/searx/run
$ ln -s ~/etc/searx ~/service/searx
Searx kann nun mit svc -u ~/service/searx
gestartet, mit
svc -d ~/service/searx
beendet oder mit svc -du ~/service/searx
neu gestartet werden.
Ich wollte searx unter der Subdomain search.mdosch.de erreichbar machen,
also habe ich den Ordner /var/www/virtual/$USER/search.mdosch.de
erstellt
und dort die Datei /var/www/virtual/$USER/search.mdosch.de/.htaccess
mit
diesem Inhalt angelegt:
RewriteBase /
RewriteEngine On
RewriteRule (.*) http://localhost:DER_PORT/$1 [P]
DER_PORT
ist natürlich mit dem freigeschalteten gewählten Port
zu ersetzen.
Jetzt ist searx fertig eingerichtet und kann per searx
gestartet werden.
Ich habe searx auch über search.4bkxscubgtxwvhpe.onion als “hidden service” per Tor verfügbar gemacht.
Mein erster Eindruck ist soweit ganz gut, auch wenn die Qualität der Suchergebnisse nicht ganz mit meiner bisherigen Suchmaschine StartPage mithalten kann.
[Update 2017-08-30]
Ich wurde im Kommentar von Tom darauf hingewiesen, dass der Port nicht in der Firewall geöffnet werden muss.
[Update 2017-08-31]
Ich habe den daemontools-Starter wieder herausgenommen, da er nicht funktioniert. Das scheint mit Pythonscripten nicht ohne Weiteres zu gehen. Wenn ich eine Lösung gefunden habe werde ich den Beitrag wieder aktualisieren.
[Update 2017-09-03]
Der daemontools-Starter ist wieder eingefügt, da es nun doch funktioniert.