ping: command not found

Bitte was? Wie minimal kann eine Distribution sein, dass nichtmal Ping installiert ist. Das ist mir heute zum ersten mal passiert und ich kannte die Pakete bei Debian auch nicht auswendig. Wenn euch das auch passiert, dann fehlen euch diese Pakete:

apt-get install inetutils-tools inetutils-ping

ping google.de
PING google.de (173.194.112.63): 48 data bytes
56 bytes from 173.194.112.63: icmp_seq=0 ttl=55 time=3.739 ms
Veröffentlicht unter Linux

Smokeping auf Debian Wheezy mit Nginx

http://blog.imitran.com/2013/08/smokeping-on-nginx/

Wenn man davon ausgeht, dass Nginx schon installiert ist und man Smokeping in einem Unterverzeichnis seiner Domain haben möchte (domain.com/smokeping) muss man nur folgendes tun:

apt-get install smokeping sendmail

Das wird Apache gleich mitinstallieren, das schmeißen wir anschließend direkt wieder runter mit:

apt-get remove --purge apache*

Nachdem Apache nun wieder restlos entfernt wurde können wir uns Smokeping widmen. Smokepings Interface ist ein CGI-Script, weshalb wir das Paket fcgiwrap brauchen um mit Nginx das Interface darstellen zu können.

apt-get install fcgiwrap

Dann kopieren wir die fcgiwrap Konfigurationsdatei für Nginx in den Nginx Config Ordner:

cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf

Das macht CGI-Scripte im Allgemeinen ausführbar mit Nginx. Im wesentlichen wird die /cgi-bin/ Location damit „verlinkt“. Diese Config wird abschließend noch in dem Host, auf dem man Smokeping nutzen möchte aktiviert, indem man folgende Zeilen einfügt. Alternativ kann man diese Zeilen auch in die nginx.conf direkt einfügen und sich den vorigen cp-Command sparen.


include /etc/nginx/fcgiwrap.conf;
location ~ \.cgi$
{
fastcgi_intercept_errors on;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}

Nun noch 2 Symlinks um den Smokeping Interface Ordner im www-Verzeichnis für Nginx verfügbar zu machen:

ln -s /usr/share/smokeping/www /var/www/smokeping
ln -s /usr/lib/cgi-bin/smokeping.cgi /usr/share/smokeping/www/smokeping.cgi

Und da jetzt die URL bei Aufruf von /smokeping noch korrekt umgeleitet werden soll in der Nginx Config für den Host folgende Zeilen einfügen:

location /smokeping/ {
index smokeping.cgi;
gzip off;
}

Am besten alles einmal neu starten und los gehts mit domain.com/smokeping. Konfigurationshilfe gibt es dann im Wiki bei Andreas Laub. Viel Spaß!

ADS-B Signale mit dump1090 decodieren und an Flightradar24 senden

Yay, ich habe heute meinen DVB-T Stick aus China bekommen. Nein, ich freue mich nicht jetzt endlich fernsehen zu können, das interessiert mich eigentlich eher gar nicht. Der DVB-T Stick hat eine Eigenschaft, die mich ganz besonders interessiert. Es handelt sich um einen Newsky TV28T V2 mit RTL2832U & R820T Chipsatz und die Besonderheit liegt darin, dass der Chipsatz auf der Frequenz 1090Mhz ADS-B Signale empfangen kann. Das sind praktisch Statussignale zu Flugbewegungen im Luftraum, die von ausgestatteten Flugzeugen direkt ausgesendet werden. Der Stick hat knapp unter 11€ gekostet und ist damit ideal für Einsteiger in diesem Bereich. Selbst die beigefügte Mini-Antenne hat bei mir Flugzeugsignale in maximalen Entfernungen von 200km Luftlinie noch empfangen und dump1090 hat es korrekt decodiert. Für bessere Ergebnisse sollte man sich allerdings eine gute, für den 1090Mhz Bereich geeignete Antenne bauen/kaufen. Anleitungen gibt es im Netz genug. Das werde ich wohl ebenfalls machen, aber dazu schreibe ich später noch einen Blogpost.

Weiterlesen

Geschützte PDFs befreien mit qpdf

Manchmal sind geschützte PDFs ja wirklich lästig und dann rätselt man wie man etwas denn nun drucken soll oder ähnliches. Dabei ist es ganz einfach diese Einschränkungen zu entfernen. Dafür installatiert man qpdf auf dem Betriebssystem seiner Wahl. Unter Linux wie folgt:

apt-get install qpdf

Um nun eine PDF zu befreien führt man lediglich folgendes Kommando aus. Das kann dann ein paar Sekunden dauern, aber die Ziel-PDF ist dann ohne Einschränkungen druckbar.

qpdf --decrypt undruckbar.pdf yay_druckbar.pdf

Wie immer viel Spaß!

TSocks als Proxy-Wrapper für Programme

Um aus meinem Homeserver einen kleinen Online-VDR zu machen war es für mich wichtig eine britische IP-Adresse in einer ganz bestimmten Anwendung zu erhalten. Die Anwendung selbst kann allerdings nur einen HTTP-Proxy benutzen, den ich nicht unbedingt einrichten wollte. Ich wollte dafür viel lieber den Socks5-Proxy nutzen, den SSH (autossh -D9900 host) lokal aufspannt und wodurch eine verschlüsselte Übertragung bei keinem zusätzlichen Dienst am Server genutzt wird.

Schließlich habe ich in einem Forum die passende Lösung gefunden. Zunächst muss tsocks („a transparent SOCKS proxying library“) installiert werden:

apt-get install tsocks

Dann verwende ich den vom User gewählten weg über ein Script mit folgendem Inhalt. der libtsocks Pfad sollte natürlich angepasst werden. In meinem Fall unter Debian Squeeze ist der Inhalt folgender:

#!/bin/bash
#export TSOCKS_DEBUG=255
export TSOCKS_DEBUG=1
export LD_PRELOAD=/usr/lib/libtsocks.so.1.8
$*
exit $?

Das Script wird gespeichert als tswrap und anschließend ausführbar gemacht mit chmod +x tswrap. Dann sollte der Inhalt der Konfigurationsdatei /etc/tsocks.conf angepasst werden wie folgt:

local = 127.0.0.0/255.0.0.0
server_type = 5
server = 127.0.0.1
server_port = 9900

Wenn der Tunnel nun läuft kann die gewünschte Anwendung durch den Proxy getunnelt ausgeführt werden wie z.B folgendermaßen (Parameter sind auch möglich):

./tswrap get-iplayer -g 134

Viel Spaß beim ausprobieren.