Aug
07
2009

O2-Kunden: Verbindungsaufbau beschleunigen

O2-StandardrouterMittlerweile bekommt man kaum noch echte Telefonanschlüsse, sondern eher Telefon über Internet. Die Qualität ist schlechter, der Verbindungsaufbau häufig langsamer, aber es ist billig.

Bei O2 ist es so, dass der Router nach dem Eintippen der Nummer noch fünf Sekunden wartet, bis er loswählt. Vielleicht zögert/überlegt der Benutzer ja noch. Bei früheren Telefonverbindungen war das egal – wenn man über Internet verbunden wird, dann ist das aus technischen Gründen nicht mehr egal.

Als ich letztens auf o2online.de (dort wo man als “Onlinekunde” seine Rechnungen und Verbindungsnachweise nachlesen kann) im Hilfe-Abteil herumgesurft bin, habe ich auch folgenden goldenen Tipp gefunden:

Die fünfsekündige Wartezeit des Routers lässt sich unterbrechen, indem man eine Raute (#) an die Nummer anhängt. Der Router wählt dann sofort los!

Wer also alle Nummern im digitalen Telefonbuch mit einer Raute am Ende ausstattet, der wartet fortan nicht mehr so lange, bis er verbunden ist.

Das sollte nicht nur bei O2-Kunden klappen, sondern allgemein bei jedem, der einen Router von Zyxel benutzt. Allerdings sind alle mir bekannten Geräte dieses Herstellers so schlecht, dass man sowas eigentlich nur dann haben sollte, wenn der Telekommunikationsanbieter es kostenlos mit dem Anschluss ausliefert.

0 Kommentare
Written by Jacek in: Allgemein | Schlagwörter:, , ,
Apr
12
2009

Optimalen WLAN-Kanal ermitteln

Histogramme mit AWK

Wenn man zuhause ein frisches Funknetzwerk aufstellt oder beim bereits laufenden Funknetzwerk Störungen feststellt, dann sollte man sich zunächst zum Konfigurationsdialog des Access Points begeben und sich folgende Frage stellen:

Welchen Kanal stelle ich ein?

Wenn man diese Frage aus dem Bauch heraus beantwortet, dann kann das zur Folge haben, dass man von einem langsamen und störungsbehafteten heimischen Funknetzwerk genervt wird. Die Ursache? Man funkt auf einem Kanal (Bzw. einer Frequenz), die von mehreren verschiedenen Funknetzwerken benutzt wird.

Also sollte man zunächst die umliegenden Funknetzwerke durchscannen und nachsehen, ob es noch freie oder möglichst wenig benutzte Kanäle gibt.

Da ich mich in den letzten Wochen vermehrt mit diesem Problem konfrontiert sah, habe ich ein kleines Einzeilerskript geschrieben, mit dem man dieses Problem effizient lösen kann:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s | sed -e 's/^.*-[0-9]\{1,3\} *//g' | awk 'NF > 0{ counts[$1] = counts[$1] + 1; } END { for (word in counts) if (word !~ /SSID/) print "Kanal", word ":", counts[word], "mal"; }' | sort

Wegen des airport-Befehls funktioniert es nur auf OS X Systemen.

Die Frage des Kanals ist nun, wenn man sich einen Alias in der .bashrc, .zshrc oder wie auch immer setzt, innerhalb von einer Sekunde geklärt.

3 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:, , , , , , ,
Sep
21
2008

Ad-Blocking auf die billige Tour

Mittlerweile gibt es auch für den Safari-Browser von Apple ein AdBlock-Plugin, aber irgendwie blockt mir das zu wenig.

Früher habe ich das mal anders gemacht. Seit vorgestern mache ich es wieder wie damals:

Auf so ziemlich allen unixoiden Systemen existiert die Datei /etc/hosts. Wenn man eine URL in den Browser eingibt oder irgendein Programm sich zu einem Domain-Namen verbindet, dann schaut das Betriebssystem zunächst in die Datei /etc/hosts, vergleicht den Domain-Namen und wenn er dort steht, dann wird die dazugehörige IP-Adresse zurückgegeben. Wenn dort nichts von dieser Domain steht, dann werden der Reihe nach die Nameserver abgefragt, die in der Datei /etc/resolv.conf aufgelistet sind. Das ist naturgemäß langsamer. Allerdings haben manche Browser einen eigenen DNS-Cache. Bei Firefox bin ich mir da sicher, bei anderen Browsern bin ich mir wiederum nicht sicher. 

Ich habe mal gehört, dass es unter Windows auch so eine Datei geben soll. Aber da ich in diesem Artikel ein Bash-Script vorstelle, das sicher nicht einmal von diesem neumodischen Windows Powershell-Schwachsinn unterstützt wird, können Windows-Benutzer hier praktisch schon aufhören, mitzulesen.

In die /etc/hosts schreibt man also IP-Adressen und Hostnamen rein, die man miteinander assoziiert haben will. Das kann verschiedene Zwecke haben:

1.) Man will die anderen Computerbenutzer ärgern. Man kann beispielsweise DNS-Anfragen nach microsoft.de auf apple.de umleiten. Dazu einfach eine Zeile zur /etc/hosts zufügen: “17.149.160.31 microsoft.de”, wobei die Nummern da Apples IP-Adresse darstellen.

2.) Man will gewisse Seitenaufrufe beschleunigen. (Wenn der Browser einen eigenen DNS-Cache hat, bringt das hier nichts) Oft aufgerufene Domains kann man hier also statisch eingeben und schon läuft alles schneller, vor allem wenn von der gleichen Domain viele Dateien pro Seite geladen werden.

3.) Man hat keine Lust, zuhause immer “192.168.1.1″ im Browser einzugeben, wenn man auf seinen Router zugreifen will. Also assoziiert man einfach ein Kürzel damit, indem man eine Zeile an die /etc/hosts anfügt: “192.168.1.1 router”. Und man kann sofort über “router” auf den Router zugreifen, anstatt umständlich die IP einzugeben. Das mache ich auch mit meinem gejailbreakten iPod so, wenn ich per SSH drauf will, weil ich seine IP ständig vergesse.

 4.) Man will Werbeseiten blocken, und darum geht es in diesem Artikel eigentlich: Viele Server im Internet würde man gerne komplett blockieren, denn von denen bekommt man immer nur Werbung und nichts anderes zu sehen. Diese Domains kann man mit der /etc/hosts-Methode einfach auf Localhost (127.0.0.1) umleiten und schon kommen dort nie HTTP-Requests nach Werbebildchen an, also kommen auch keine nervigen Werbebildchen, Javascripts oder sonstwas zurück. Perfekt!

Aber es gibt so viele Werbeserver. Alle per Hand einfügen? NEE!

Es gibt eine ständig gepflegte Liste an nervigen Werbeservern im Internet auf http://pgl.yoyo.org/adservers/. Das tolle an dieser Liste ist, dass man sie in den verschiedensten Formaten anfordern kann, so dass man auch verschiedene Werbeblocker damit füttern kann. Im /etc/hosts-Format bekommt man sie praktischerweise auch.

Und damit man möglichst kaum Hand anlegen muss, kann man sich das alles schön automatisieren.

Zunächst sollte man sich eine Datei anlegen, die eine “nackte” /etc/hosts Datei repräsentiert. Also so wie man sie normal hat, ohne dass Werbeserver eingetragen sind. Ich habe meine einfach mal /etc/hosts.bak genannt. Wenn man sowieso noch keine Werbeserver eingetragen hat, gibt man einfach in die Konsole ein (Der folgende Befehl kopiert die bestehende Datei einfach):

sudo cp /etc/hosts /etc/hosts.bak

Und als nächstes schreibt man sich ein kleines Script zusammen:

#!/bin/sh
echo "Updating adserver list..."
sudo cp /etc/hosts.bak /etc/hosts
curl "http://pgl.yoyo.org/\
adservers/serverlist.php?\
hostformat=hosts&showintro=0&\
startdate%5Bday%5D=&startdate%5B\
month%5D=&startdate%5Byear%5D=&\
mimetype=plaintext"\
| sudo tee -a /etc/hosts >& /dev/null
echo "Done. Have fun!"

Diesen Bash-Code kann man jetzt einfach per Texteditor unter /usr/bin/adblockrefresh abspeichern und mittels “chmod +x /usr/bin/adblockrefresh” ausführbar machen (Das sollte mit Root-Rechten geschehen, sonst klappt’s nicht!). Ein kleiner Aufruf von “adblockrefresh” in der Konsole macht jetzt die ganze Arbeit.

Werbeserver sind jetzt auf dem gesamten System blockiert. Für jeden Browser, für jedes Programm. Browser mit DNS-Cache sollte man vielleicht mal neu starten.

War Adblocking jemals einfacher? Jedenfalls muss ich jetzt nicht mehr diese verdammt nervige Javascript-Werbung wegklicken, bevor ich serienjunkies.org betreten kann.

4 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:, , , , , , ,

Powered by WordPress. Theme: TheBuckmaker. Darlehen, Geld verdienen

3.14159