Auch für jemanden wie mich, der schon lange in Linux und viel im Web unterwegs ist, gibt es ab und an alte Schätze zu heben. Ein solcher ist für mich Surfraw, ein Tool, das bereits im Jahr 2000 von Julian Assange entwickelt wurde und das ich bisher nicht kannte.
Wer kennt nicht die Situation: Die grafische Oberfläche kommt nach einem Upgrade nicht mehr hoch und man hängt im TTY fest. Vor den bunten Fenstern steht aber zunächst eine Suche im Web bezüglich des Fehlers. Oder ihr seid auf der Konsole unterwegs und wollt gerade nicht zur Maus greifen, um eine Websuche anzustoßen.
In solchen Situationen habe ich bisher das Tool Googler benutzt. Es ist freie Software und in den allermeisten Distributionen im Archiv. Allerdings ist es auf Googles Suchmaschine beschränkt. Dann kannte ich noch ddgr, das Gleiche in Grün mit der Beschränkung auf DuckDuckGo. Surfraw hebt diese Beschränkung auf und bietet weit über 100 Skripte für die Suche in Suchmaschinen und Webseiten.
Metasearch im Terminal
Aber von vorn: Surfraw unterliegt keiner freien Softwarelizenz, sondern ist Public Domain. Für mich in diesem Fall gut genug. Es ist in den meisten Distributionen aus dem Archiv installierbar. Surfraw durchsucht parametergesteuert Suchmaschinen wie Google, DuckDuckGo und Bing, Webseiten wie Amazon, eBay, YouTube oder Wikipedia und viele andere spezialisierte Webseiten wie Arch Wiki, AUR, Debian Wiki, Debian Packages, FreeBSD, GitHub, Gutenberg, IMDB, Wayback Machine und rund 100 weitere. Welche das sind, erfährt man nach der Eingabe von surfraw -elvi
oder in der Kurzform sr -elvi
. Weitere Suchen können hinzugefügt werden. Beispiele gibt es unter /usr/lib/surfraw
und in diesem YouTube.
Die Ergebnisse können in Textbrowsern wie w3m, ELinks oder Lynx sowie in einem grafischen Browser deiner Wahl ausgegeben werden. Ansonsten erfolgt die Ausgabe auf den Standardbrowser. Diese und andere Optionen können entweder einer Suche direkt mitgegeben oder bei der Konfiguration festgelegt werden.
Konfiguration
mkdir ~/.config/surfraw/
nano ~/.config/surfraw/conf
Als Grundkonfiguration eintragen:
SURFRAW_graphical_browser=/usr/bin/firefox
SURFRAW_text_browser=/usr/bin/w3m
SURFRAW_graphical=yes
oder
SURFRAW_graphical=no
Natürlich kann man auch andere Browser angeben. Weitere Optionen sind der Datei /etc/xdg/surfraw/conf
oder der Manpage zu entnehmen.
Suchbeispiele können so aussehen:
- surfraw debwiki apt – Suche im Debian Wiki nach dem Begriff ‘apt’. Ausgabe erfolgt im grafischen Standard-Browser, sofern nicht anders festgelegt.
- BROWSER=w3m sr amazon -search=books -country=de -q Terry Pratchett – Suche auf Amazon DE nach Büchern von Terry Pratchett. Ausgabe in w3m.
- BROWSER=lynx sr google -results=10 Debian, Firmware – Suche mit Google nach den Begriffen Debian und Firmware, Beschränke die Ausgabe auf 10 Resultate, gebe diese mit Lynx aus.
- sr youtube surfraw – sollte selbsterklärend sein 🙂
Für mich ist Surfraw ein Tool, das künftig anstelle von Googler öfter zum Einsatz kommen wird.