Googler Search Linux

Googler ist ein Befehlszeilentool zum Durchsuchen von Google (Web & News) vom Linux Terminal aus.

Google-Suche ist die am meisten verwendete Suchmaschine im World Wide Web ( WWW ), um Informationen von Millionen von Servern im Internet zu sammeln.

Viele nutzen hauptsächlich die Google-Suche über ein grafischen Webbrowser. Für die Kommandozeilen-Geeks die Aufgaben im Terminal bewältigen möchten, war der Zugriff auf die Google-Suche bis anhin nicht möglich, mit dem Befehlszeilen-Tool Googler ist dies nun möglich.

Googler von Arun Prakash Jana, ist ein leistungsstarkes Kommandozeilen-Tool auf der Basis von Python, für den Zugriff auf Google (Web & News) und die Google-Site-Suche im Linux-Terminal. Googler ist für die Script Verarbeitung und Automatisation vielseitig einsetzbar.

Installation Googler Search auf Linux

Die Googler Search Installation auf Ubuntu Linux kann direkt aus dem Repository gemacht werden.

sudo add-apt-repository ppa:twodopeshaggy/jarun
sudo apt-get update
sudo apt-get install googler

Eine andere alternative um die neuste Googler Search Version Installation auf Ubuntu Linux, hier herunterladen und installieren.

cd /tmp
wget -c https://github.com/jarun/googler/archive/v3.3.tar.gz
tar -xzvf v3.3.tar.gz
cd googler-3.3
sudo make install 
cd auto-completion/bash/
sudo cp googler-completion.bash /etc/bash_completion.d/

Python 3 ist erforderlich um googler nutzen zu können. Auf Ubuntu 16.04 ist Python per Standard installiert, ansonsten wird Python 3 wie folgt installiert.

sudo apt-get install -y python3-pip
sudo apt-get install build-essential libssl-dev libffi-dev python-dev

Python Version überprüfen.

python3 -V

Python 3 und Googler Installation für CentOS.

yum install yum-utils
yum-builddep python
cd /tmp
curl -O https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
tar -xzf Python-3.6.1.tgz
cd Python-3.6.1
./configure
make
make install
sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v3.3/googler && sudo chmod +x /usr/local/bin/googler

Die Google Suche aus dem Linux Terminal.
$ googler -n 5 mojito recipe to self made

Googler Search Install Linux

Der omniprompt dient zur Eingabe von optionen.
Ein ? gibt hilfe aus, mit n geht es zur nächsten Seite.

Features

 * Google Search, Google Site Search, Google News
 * Fast and clean (no ads, stray URLs or clutter), custom color
 * Navigate result pages from omniprompt, open URLs in browser
 * Effortless keyword-based site search with googler @t add-on
 * Search and option completion scripts for Bash, Zsh and Fish
 * Fetch n results in a go, start at the n<sup>th</sup> result
 * Disable automatic spelling correction and search exact keywords
 * Specify duration, country/domain (default: worldwide/.com), language
 * Google keywords (e.g. filetype:mime, site:somesite.com) support
 * Open the first result directly in browser (as in I'm Feeling Lucky)
 * Non-stop searches: fire new searches at omniprompt without exiting
 * HTTPS proxy, User Agent, TLS 1.2 (default) support
 * Comprehensive documentation, man page with handy usage examples
 * Minimal dependencies

Anmerkung

Googler ist ein Befehlszeilentool zum Durchsuchen von Google (Web & News) vom Terminal aus. Google Search Seiten Suche funktioniert auch im Linux Terminal. Googler zeigt für jedes Ergebnis den Titel, die URL und den Textkontext an. Die Ergebnisse werden seitenweise abgerufen. Mithilfe von Tastaturkürzeln ist die Navigation zur nächsten oder vorherigen Seite möglich. Die Ergebnisse werden indiziert und eine Ergebnis-URL kann mithilfe der Indexnummer in einem Browser geöffnet werden. Es gibt keine Konfigurationsdatei als Aliase dienen bei diesem Dienstprogramm demselben Zweck. Unterstützt sequentielle Suchvorgänge in einer einzelnen Instanz.

TR-069 CWMP Provisioning on ISC-DHCPD

Das Broadband World Forum hat das Fernwartungsprotokoll TR-069 entwickelt, um Kunden-Router aus der Ferne einrichten zu können. Damit zum Beispiel Updates, Konfigurationen oder das Aufschalten zusätzlicher Dienste schneller vonstatten gehen können.

Mit dem TR-069 Protokoll können DHCP-Server einen oder mehrere herstellerspezifische Parameter an den Client Router senden. Eine CWMP Konfiguration benötigt für die URL zum Auto-Configuration-Servern (ACS) zur Provisionierung über ISC-DHCPD folgende Parameter:

subnet 192.168.0.0 netmask 255.255.255.0 {
        option routers 192.168.0.1;
        range 192.168.0.100 192.168.0.111;
        append dhcp-parameter-request-list 43;
        option vendor-encapsulated-options 01:12:68:74:74:70:3a:2f:2f:61:63:73:2e:69:73:70:2e:6f:72:67;
}

Beispiel ACS URL https://acs.isp.org

Das Optionsfeld option vendor-encapsulated-options muss als codierte Sequenz identischer Syntax mit Code/Länge/Wertfeld zum DHCP Optionsfeld angegeben werden.

The code for this option is 43 and its minimum length is 1.
Code   Len   Vendor-specific information
+-----+-----+-----+-----+---
|  43 |  n  |  i1 |  i2 | ...
+-----+-----+-----+-----+---

When encapsulated vendor-specific extensions are used, the
information bytes 1-n have the following format:

 Code   Len   Data item        Code   Len   Data item       Code
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|  T1 |  n  |  d1 |  d2 | ... |  T2 |  n  |  D1 |  D2 | ... | ... |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

Abschnitt: IETF rfc2132 – DHCP Options and BOOTP Vendor Extensions

url2hex

Zur Umwandlung dient folgender bash Script, diesen man wie folgt aufruft ./url2hex https://acs.isp.org

#!/bin/bash
if [[ -z $1 ]]; then
  echo "Argument missing! Use: url2hex url"
  exit 1
fi
echo ""
echo -e "[[[ URL2HEX Converter ]]]\nTR-069 CWMP request ACS URL provisioning on ISC-DHCPD option vendor-encapsulated-options"
echo "URL:$1"
wcount=`echo $1 | wc -m`
tcount=`echo ${wcount}-1 | bc`
length=`printf '%x\n' ${tcount}`
hexurl=`echo -n $1 | xxd -ps | sed 's/[[:xdigit:]]\{2\}/\:&/g'`
echo -e "URL-length:${tcount} HEX:${length}\n\nvalues for CWMP provisioning in dhcpd.conf:\n"
echo "append dhcp-parameter-request-list 43;"
echo "option vendor-encapsulated-options 01:${length}${hexurl};"

Die Code Zeilen in eine Datei url2hex speichern und ausführbar machen.

$ chmod u+x url2hex

Es wird die länge der übergebenen Zeichenkette berechnet und in den HEX Wert umwandelt, die Zeichenkette selbst wird ebenfalls in HEX umwandelt, danach werden die Werte zusammengehängt, beginnend von 0x01 für den Wert der CWMP Option für die ACS URL.

Die Ausgabe kann dann wie folgt aussehen:

[[[ URL2HEX Converter ]]]
TR-069 CWMP request ACS URL provisioning on ISC-DHCPD option vendor-encapsulated-options
URL:https://acs.isp.org
URL-length:19 HEX:13

values for CWMP provisioning in dhcpd.conf:

append dhcp-parameter-request-list 43;
option vendor-encapsulated-options 01:13:68:74:74:70:73:3a:2f:2f:61:63:73:2e:69:73:70:2e:6f:72:67;

Die letzten zwei Zeilen können in dhcpd.conf hinzugefügt werden.

Referenzen

TR-069 Boadband Forum, art. “3.1 ACS Discovery”
RFC2132 – DHCP Options and BOOTP Vendor Extensions, art. “8.4. Vendor Specific Information”.