Kategorien
Administration / Webmaster Datenschutz English Linux OccuSearch SearX

Daemonize and control SearX with the service command

Under several Linux distributions, including Debian and Ubuntu, we have the service command to controll daemons, e.g. service apache2 restart. In this article, we learn how to create a service-command for the standalone version of the SearX meta search engine. We build upon the default installation as prescribed within the quick start guide of the project documentation. We include both, searX and filtron.

Introduction

First we need a possibility to start SearX as a daemon, so we install the daemonize command:

sudo apt-get install daemonize

With daemonize, we can have an error-log, a std-out log and some pid that takes care about having only one instance running. With SearX installed at the default destination /opt/searx, we can execute the following command to start a SearX daemon:

daemonize -a -e /var/log/searx.error.log -o /var/log/searx.log -p /var/run/searx.pid -l /var/lock/subsys/searx /opt/searx/searx-ve/bin/python /opt/searx/searx/webapp.py

In a similar way, we can start a filtron instance (assuming the filter rules at /etc/filtron/rules.json):

daemonize -a -e /var/log/filtron.error.log -o /var/log/filtron.log -p /var/run/filtron.pid -l /var/lock/subsys/filtron /root/go/bin/filtron -rules /etc/filtron/rules.json

Usually, we will start filtron first and then start SearX.

We furthermore need some kill commands to stop filtron and SearX. We use ps, grep, awk and kill.

Stopping filtron:

kill $(ps -aux | grep filtron | awk '{print $2}')

Stopping SearX:

kill $(ps -aux | grep /opt/searx/searx/webapp.py | awk '{print $2}')

Realizing the service commands

We usually have three options following the service command: service searx start, service searx stop and service searx restart. This results in the following code snippet for the searx.sh file stored at /etc/init.d/searx.sh:

#! /bin/sh
sleep 3
case "$1" in
  start)
        daemonize -a -e /var/log/filtron.error.log -o /var/log/filtron.log -p /var/run/filtron.pid -l /var/lock/subsys/filtron /root/go/bin/filtron -rules /etc/filtron/rules.json
        daemonize -a -e /var/log/searx.error.log -o /var/log/searx.log -p /var/run/searx.pid -l /var/lock/subsys/searx /opt/searx/searx-ve/bin/python /opt/searx/searx/webapp.py
        ;;
   stop)
        kill $(ps -aux | grep filtron | awk '{print $2}')
        kill $(ps -aux | grep /opt/searx/searx/webapp.py | awk '{print $2}')
        ;;
  restart)
        kill $(ps -aux | grep filtron | awk '{print $2}')
        kill $(ps -aux | grep /opt/searx/searx/webapp.py | awk '{print $2}')
        daemonize -a -e /var/log/filtron.error.log -o /var/log/filtron.log -p /var/run/filtron.pid -l /var/lock/subsys/filtron /root/go/bin/filtron -rules /etc/filtron/rules.json
        daemonize -a -e /var/log/searx.error.log -o /var/log/searx.log -p /var/run/searx.pid -l /var/lock/subsys/searx /opt/searx/searx-ve/bin/python /opt/searx/searx/webapp.py
        ;;
        *)
        ;;
esac
exit 0

In some cases we have issues with uswgi. Therefore, consider to uninstall uswgi.

sudo apt-get remove uswgi

Now, reinitialize the service command with the following command:

systemctl daemon-reload

Now it is possible to controll filtron and SearX in a comfortable way. Try the following:

service searx start
service searx stop
service seary restart

You will see SearX and filtron starting, stopping or restarting.

Final Remarks

Have some fun with this comfortable solution!

Do it! Build your own search engine! Go go go!

For an example instance, have a look at https://occusearch.net. Feel free to use and recommend this instance to your family, friends and colleagues.

Kategorien
Datenschutz German OccuSearch

OccuSearch überarbeitet und in neuer Version

Kürzlich habe ich bei OccuSearch ein Update auf Searx 0.16.0 auf 0.17.0 durchgeführt. Dabei handelt es sich um eine Open-Source Metasuchmaschine, die von quasi jedem Serverbetreiber selbst aufgesetzt und für private Zwecke oder auch die Öffentlichkeit zur Verfügung gestellt werden kann.

Das stellte sich nicht ganz so einfach heraus, da anscheinend Python 2 nicht mehr unterstützt wird. Anmerkung: Das ist prinzipiell auch gut so, da Python 2 eine alte Leiche im Keller ist und schon viel zu lange gelebt hat. Also Update auf Python 3. Ein inkrementelles Upgrade habe ich damit leider nicht hinbekommen, sodass ich Searx schlussendlich komplett neu aufgesetzt habe.

Auch da bin ich auf die ein oder anderen Unwegsamkeiten gestoßen. Leider haben meine Skripte wie etwa „service searx start“ leider nicht mehr so funktioniert und ich musste sie anpassen (dazu in einem anderen Artikel).

Neue Features

Zuerst ein mal gibt es neue Suchengines. Darunter wären die Folgenden:

  • eTools
  • Wikibooks
  • Wikinews
  • Wikiquote
  • Wikisource
  • Wiktionary
  • Wikiversity
  • Wikivoyage
  • Rubygems

Interessant ist insbesondere eTools, da diese Suchmaschine zum Teil sogar mehr finden soll als Google es tut. So schreibt zumindest Digitalcourage (Quelle).

Auch wurden einige Suchmaschinen gefixed: Google, Google Images, Startpage, Gigablast und YaCy. Außerdem wurde die Dokumentation wesentlich überarbeitet, was Betreiber freuen wird. Kleinere Änderungen im Oscar-Theme haben leider mein selbst gestaltetes Design etwas kaputt gemacht. Ich bin nun wieder bei „Simple“-Design, zumindest vorübergehend. Außerdem wurde eine Reihe von Design- und Usabilityverbesserungen durchgeführt. Es gibt nun einige weitere Anbieter zur Autovervollständigung von Sucheingaben. Dazu zählen nun „dbpedia“, „duckduckgo“, „google“, „startpage“, „swisscows“, „qwant“ und „wikipedia“. Bei OccuSearch setzen wir standardmäßig auf DuckDuckGo, da die Ergebnisse relativ gut sind und wir gerne eine Alternative zu google haben möchten. Unter der Haube gibt es noch viele weitere Änderungen, die ihr den Changelogs entnehmen könnt.

Suchmaschinen: Unsere Auswahl

Außen vor lassen möchten wir Google, da die Interessen der Weltbevölkerung schon genug durch Google gelenkt werden. Abgesehen von der Marktmacht ist es Google so sehr einfach möglich bestimmte Meinungen besonders zu pushen. In wie fern das gezielt getan wird, ist umstritten, aber zumindest geben uns die Algorithmen vor, was wir sehen und was nicht.

Wir haben aktuell folgende Suchmaschinen per Default eingebunden:

  • Wikipedia – Die freie Datenquelle. Einfach sinnvoll.
  • Bing – Der größte Konkurrenz von Google im internationalen Vergleich. Wird von Microsoft betrieben. Die gute Durchmischung der Resultate macht es aber durchaus ok diesen Anbieter hier hinzuzufügen. Die Auswahl wird so nicht einseitig.
  • Wikidata – Eine frei bearbeitbare Wissensdatenbank mit dem Ziel Wikipedia zu unterstützen.
  • DuckDuckGo – Eine Suchmaschine die einen eigenen Suchindex betreibt, aber auch Ergebnisse von einigen anderen Suchanbietern einschließt (insbesondere Bing)
  • ETools – Ansich schon eine Metasuchmaschine, wie diese hier auch, die aber den Ruf besitzt seltene Webseiten zu finden, die selbst nicht von Google gefunden werden.
  • MetaGer – Eine deutschsprachige Metasuchmaschine mit schon ganz guten Suchergebnissen. Insbesondere für deutschsprachiges Publikum von Relevanz. Hält sehr hohe Ansprüche an Datenschutz ein.
  • Qwant – Eine französische Suchmaschine mit ebenfalls eigenem Index. Nach eigenen Angaben ist der Suchindex aber noch nicht vollständig und wird von Bing ergänzt. Zu begrüßen sind eigene Suchindizes aber auf jeden Fall!
  • Wikibooks – Ist ein Wiki zur Erstellung von Lehr-, Sach- und Fachbüchern unter der Creative Commons Attribution/Share-Alike Lizenz 3.0 und GNU-Lizenz für freie Dokumentation. Die deutschsprachige Variante hat 746 Bücher mit insgesamt 28.000 Buchkapiteln – immerhin!
  • Wictionary – Ein Wörterbuch ähnlich dem Duden aber basieren auf freiem Wissen, wie auch die Wikipedia. Mit cA. 1.000.000 deutssprachigen Einträgen.
  • dictzone – Ein Wörterbuch nicht nur für Deutsch-Englisch / Englisch-Deutsch.

Fußnote

So viel zu meiner Aktualisierung von Searx auf OccuSearch und die letzten Anpassungen an den vorbelegten Suchmaschinen. Ich wünsche weiterhin viel Spaß beim Nutzen von OccuSearch. Empfehlt es gerne an Freunde und Bekannte weiter. Die Suche lässt sich in den meisten Browsern auf einfach in die Adressleiste hinzufügen – schlechte Browser mit wenig Freiheiten wie der von Samsung auf Android mal außen vorgelassen. Nutzt lieber Firefox oder einen anderen privatsphärenfreundlichen Browser mit Addons zu eurem Schutz. Das soll es nun für heute hier gewesen sein. Ich wünsche noch eine schöne Woche.