Erstes Relase des ZensorCheckers

warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /var/syscp/webs/apophis/apophis-neXt/gallery2/modules/core/classes/GalleryPlatform.class on line 1219.

Ich habe auf origo ein neues Projekt eröffnet , Ich nenn es ZensorChecker.

Download HIER | Quellcode Hier

Die Idee dahinter war ein einfaches Tool zu haben welches überprüft ob die eigene Internetverbindung zensiert wird. Ich selbst habe das ja bereits bei der Zensurliste getan, was aber über viel Handarbeit und Shellscripts gemacht wurde.

Das Programm überprüft die DNS einträge von bekanntermassen gesperrten Seiten und nutzt OpenDNS Server als Referenz. Am Schluss sollte automatisiert ein Ergebnis herauskommen, welche Seiten gesperrt werden, und auch wohin man umgeleitet wird.

Das Programm enthält die gesamte Liste von gesperrten Seiten die mir bekannt sind (ZensorChecker.exe -l um die Domains zu sehen). Im Moment etwas über 5000 Seiten, ich werde die Liste versuchen auf dem neuesten Stand zu halten wenn mal wieder eine geleakt wird.

Wenn ihr keine Ahnung habt wie man mit einem Konsolenprogramm umzugehen hat, dann klickt einfach auf die exe und wartet. Das Programm wird versuchen soviel wie möglich selbst herauszufinden. Nach den Tests wenn das Konsolenfenster geschlossen ist wird im gleichen Verzeichnis eine Report-Datei erstellt worden sein.

Nachdem alle Tests erfolgreich waren wird eine report-<date>.txt Datei mit allen Daten die herausgefunden wurden erstellt. Es wäre nett wenn ihr diese Datei im Reports forum posten würdet.

Hilfe:


ZensorChecker.exe
Optionen:
-c --country Ihr Land für den Report angeben
--censorhint Falls die ZensurIP bereits bekannt ist, hier angeben
-d --dnshint Hier kann man spezifische DNS Server angeben
-h --help Diese Hilfe
-l --list Listet alle URLS auf die in der Basisliste sind
-p, --provider Ihren Provider für den Report angeben
-r, --reporter Ihren Namen für den Report angeben
-v, --verbose Debug information
--version Version information

Beispiel:
ZensorChecker.exe -c Switzerland -p Cablecom --censorhint 212.142.48.154
Dies ist ein funktionierende Cablecom Beispiel in der Schweiz

Caveat:



  • Das Programm wurde mit mehr als 5000 Urls gefüttert, das abarbeiten dieser Liste kann mehrere Stunden dauern. Während dieser Zeit kann ihre eigenen DNS requests möglicherweise langsam sein, weil wir ununterbrochen Anfragen schicken.

  • Wir können keine neuen gesperrten Webseiten finden mit diesem Tool. Es überprüft nur ob der DNS die bekannten Zensierten Seiten sperrt.

  • Habe ich erwähnt dass es wirklich langsam ist?


FAQ:



  • Q: Was bedeuten diese "x", "o" und "-"?

  • A: "o" steht dafür dass ihr DNS das gleiche Resultat wie ein OpenDNS Server liefert "x" bedeuted die IPs unterscheiden sich, was möglicherweise auf Zensur hindeuted "-" Bedeuted das der Server Round Robin IP's zurück liefert oder dass ein Fehler auftrat (Timeout)

  • Q: Warum ist es so langsam?

  • A: Das Programm schickt ununterbrochen Anfragen an den DNS Server, und das Programm ist nur so schnell wie der DNS Server Antworten liefert. Der Versuch auf Multithreading umzusteigen führte zu einer grossen Anzahl unbeantworteter Anfragen und war kaum schneller.

  • Q: Besteht die Gefahr dass ich mit dem Programm etwas illegales mache?

  • A: Im Moment definitiv nicht. Es wird nur eine Verbindung zum DNS Server gemacht. Weder zu den Seiten die gesperrt sind noch zum Redirect Server welcher möglicherweise loggt.


 


Features die ich mir noch wünschen würde:



  • Von den bekannten Seiten aus weitersurfen und schauen ob man andere URLs findet die ebenfalls gesperrt sind.

  • Einefaches überprüfen ob die Seiten überhaupt noch existieren (ist ein HTTP Server am laufen, ist die domain geparkt?)


Weitere Ideen und Code contributions sind natürlich herzlich willkommen.


Kommentare

Bild von apophis

Sehr gut :) für all

Sehr gut :) für all diejenigen die kein Mono auf ihrem Linux wollen.

Mit so einem Shell-Script hab ich auch gestartet, aber ein Windowsversion ist sicher auch nicht schlecht.

Werd deinen Link auch noch auf der Projektseite posten.