Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

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.

iptables mit DDNS Adressen

iptables chain mit DDNS Adressen

Die Linux Kernel Firewall iptables unterstützt keine FQDN und DDNS Namen in den Ketten, deshalb habe ich hierfür ein einfaches Script erstellt, dieses ein DDNS A Record auflöst und die IPv4 Adresse in die Kette als append chain einfügt.

#!/bin/sh
iptables="/etc/sysconfig/iptables"
sed -i '/#DDNSIP/d' $iptables
lookup="$(grep -i "#MyDDNS" $iptables)"
select=( $lookup )
ddns="${select[2]}"
echo $select $ddns
ip="$(host $ddns)"
if [ "$ip" == "${ip%% has address *}" ]; then
continue;
fi
ip="${ip##* has address }"
sed -i 's/^\('"$lookup"'\)$/\1\n-A RH-Firewall-1-INPUT -i eth0 -p udp -m udp -s '"$ip"' -m comment --comment #DDNSIP -j ACCEPT/' $iptables
service iptables restart

Dieses Shell Skript ist auf einem CentOS geschrieben, ist aber mit kleinen Änderungen auf anderen Linux distributionen einsetzbar, bei Zeile 3 wird der entsprechende Pfad zu iptables angepasst, z.B. für Debian /etc/defaut.

Das Commad host ist Teil der BIND-Dienstprogramme, sodass diese installiert sein müssen. Dazu führt man folgende yum Installation auf der Console aus, um die BIND-Dienstprogramme zu installieren:

sudo yum -y install bind-utils

Es wird eine Zeile mit dem DDNS-Hostnamen in die Konfigurationsdatei iptables eingetragen, der Tag #MyDDNS dient als Marke und muss in der Konfigurationsdatei iptables eingetragen werden:

#Allow from myhost.dyndns.org #MyDDNS
-A RH-Firewall-1-INPUT -i eth0 -p udp -m udp -s 123.456.789.101 -m comment --comment #DDNSIP -j ACCEPT

Die Kette wird mit Parameter -A (Append) automatisch bei der ersten ausführung angehängt. Nicht zu vergessen ist, das Script ausführbar machen:

chmod +x /usr/bin/allow_myhost.sh

Die Quellen IP-Adresse wird automatisch alle 15 Minuten aufgelöst. Die iptables-Kette erlaubt das UDP Protokoll, dieses beispielsweise einem IP-Telefon ermöglicht mit der PBX zu kommunizieren. Die Regel kann beliebig angepasst werden, wobei die Kommentar option –comment vorhanden sein muss.

Für die kontinuierliche Aktualisierung erstellt man ein Cron-Job:

*/15 * * * * root /usr/bin/allow_myhost.sh >/dev/null 2>&1

Dieser Beitrag ist auch auf gist donkey/allow_myhost.md

Amerkung

iptables ist ein Userspace-Programm zur Konfiguration der Tabellen (tables), die durch die Firewall im Linux-Kernel (bestehend aus einer Reihe von Netfilter-Modulen) bereitgestellt werden. Diese Tabellen enthalten Ketten (chains) und Regeln (rules). Verschiedene Programme werden gegenwärtig für unterschiedliche Protokolle verwendet; iptables beschränkt sich auf IPv4, für IPv6 gibt es ip6tables, für ARP ist es arptables, und mit ebtables gibt es eine Sonderkomponente für Ethernet-Frames.

Da iptables erweiterte Systemprivilegien benötigt, muss es als root ausgeführt werden. Auf den meisten Linux-Systemen ist iptables als /usr/sbin/iptables installiert. Dokumentation ist in den Manpages mittels man iptables einsehbar, sofern installiert.

Der Begriff iptables wird auch oft verwendet, um ausschließlich die Kernel-Komponenten zu beschreiben. x_tables ist der Name des Kernelmoduls, der den gemeinsamen Code aller vier Module (v4, v6, arp und eb) trägt, und das API für iptables-Erweiterungen bereitstellt. Folglich ist mit Xtables oft die gesamte Firewall-Infrastruktur gemeint.