Category: code

SelTheme: Let the User decide!

24.11.2009 Yahe code legacy wordpress

Um zu testen, wie eine WordPress-basierte Webseite mit einem anderen installierten Theme aussieht, reicht es im Normalfall aus, der URL noch ein paar Parameter anzuhängen:

?preview=1&template=[name]&stylesheet=[name]

"[name]" steht hierbei für den Namen des Theme-Ordners, in dem sich das jeweilige Design befindet. WordPress-Themes befinden sich im Ordner "wp-content/themes/". Dort kann man auch nachsehen, welches Designs alles zur Verfügung stehen. Die Sache hat jedoch einen Haken. Diese Lösung funktioniert nur dann, wenn man bei dem entsprechenden Blog eingeloggt ist. Oft ist es jedoch so, dass man gern wissen möchte, was andere vom neuen Design halten. Diese müssten zur Beurteilung nun eigentlich einen Account bei dem entsprechenden Blog erhalten.

Alternativ kann man nun mein neues Plugin SelTheme verwenden! Es basiert auf dem User Theme Plugin von Frank Bültge. Nach dem Installieren und Aktivieren des Plugins kann man dem Blog anhand eines Parameters mitteilen, mit welchem Design er angezeigt werden soll. Das Plugin überprüft, ob der Name eines existierenden Themes angegeben wurde und kümmert sich danach um die Darstellung. Die Auswahl wird zudem in einem Cookie gespeichert, damit man den Parameter nicht jedes Mal auf's neue angeben muss. Dadurch ist es möglich, dass die Besucher einer Seite selbst entscheiden können, wie die Seite aussehen soll. Der Parameter lautet wie folgt:

?theme=[name]

"[name]" ist hier genauso definiert, wie oben. Er entspricht dem Namen des Unterordners, in dem sich das Theme befindet. Sollte der Wert "[name]" leer sein, wird davon ausgegangen, dass wieder das Default-Design verwendet werden soll.


Der EIGENE lokale DNS-Server: BINDcnf

16.05.2009 Yahe administration code legacy security windows

Die Idee, einen alternativen DNS-Server zu verwenden, um der geplanten, staatlichen Internetzensur zu entgehen, ist nicht neu. Anleitungen, wie man die entsprechenden Einstellungen im System vornimmt, gibt es zur Genüge im Internet. Jedoch hat sich bisher immer die Frage gestellt, welchen DNS-Server man denn als Alternative nutzen soll, denn es gibt einige zur Auswahl und bei den meisten hat man keine Ahnung, wer diese betreibt und aus welchem Grund. Bei der Umgehung der Netzsperre sollten jedoch genau diese Informationen im Vordergrund stehen, um die eigene Sicherheit nicht zu gefährden.

Die Frage, die sich mir stellte war, weshalb man nicht einfach selbst einen lokalen DNS-Server betreibt und diesen nutzt, anstatt auf die Server von anderen zurück zu greifen. Die Antwort bekam ich bei meiner Recherche promt geliefert. Ein durchschnittlicher User hätte arge Probleme mit der Konfiguration des Servers.

Nachdem ich selbst eine halbwegs ordentliche Konfiguration erstellt hatte, habe ich mich deshalb dazu entschlossen, ein Programm zu schreiben, das diese Konfiguration automatisch erzeugt, sodass jeder Benutzer diese Möglichkeit des Selbstschutzes einsetzen kann. Das Ergebnis nennt sich BINDcnf!

Als Basis dient der frei verfügbare DNS-Server BIND, der wohl mit Abstand weitverbreitetste DNS-Server im Internet. Dieser muss im ersten Schritt installiert werden.

BIND-Installation

Nach der Installation des DNS-Servers muss BINDcnf ausgeführt werden, dass die benötigte Konfiguration generiert und entsprechende Abhängigkeiten (z.B. die Adressen der Root-DNS-Server) aus dem Internet herunterlädt.

BINDcnf : Configuration succeeded

Nach Abschluss der automatischen Konfiguration muss nur noch der Server gestartet und die eigene, lokale IP "127.0.0.1" als bevorzugter DNS-Server im System konfiguriert werden.

Bevorzugter DNS-Server

BINDcnf bietet über den Parameter "help" eine kleine Hilfe, die kurz und knapp die verfügbaren Optionen erklärt. Zudem wird eine Datei namens "BINDcnf.bat" mitgeliefert, die das Programm "BINDcnf.exe" mit den am häufigsten genutzten Parametern aufruft.

BINDcnf Hilfe


POP3sync: Thunderbird-POP3-Synchronizer

01.05.2009 Yahe administration code legacy windows

Ich habe mich endlich einmal daran gemacht, eines meiner größten E-Mail-Leiden zu bekämpfen. Ich habe einen Thunderbird-POP3-Synchronizer namens POP3sync geschrieben!

Warum überhaupt solch ein Tool?

Ich benutze für das Abrufen meiner E-Mails das POP3-Protokoll mit der zusätzlichen Einstellung, dass Mails nach dem Abrufen auf dem Server belassen werden sollen. Dadurch habe ich immer eine Online-Kopie meiner Mails für den Notfall. Allerdings kriegt man auch Mails, die man nicht mehr als Backup benötigt (z.B. Spam). Diese musste ich bisher mühsam manuell vom Server löschen, da mein E-Mail-Client Thunderbird nicht in der Lage ist, Mails vom Server zu löschen, wenn ich diese auf meinem Rechner vollständig (also aus dem Papierkorb) gelöscht habe.

Vor der Durchführung der Synchronisierung ist es empfehlenswert, alle POP3-Accounts seines Thunderbird-Profils zu "komprimieren", zum Beispiel mit XPunge. Da das Programm ziemlich tief in ein Thunderbird-Profil eingreift, wird zudem angeraten, Thunderbird vor dem Start des Tools zu beenden. Das Tool informiert den Anwender deshalb mehrfach darüber, dass es gefährlich sein kann, Thunderbird während der Synchronisation weiterlaufen zu lassen.

Warnung: Thunderbird läuft

Warnung: Profil wird verwendet

Für die Auswahl des zu synchronisierenden Profils gibt es mehrere Möglichkeiten. Zum einen liest das Programm beim Start die Profile der lokalen Thunderbird-Installation aus und zum anderen kann man durch wählen des Eintrags "...Custom Location..." den Pfad zum Profil selber festlegen. Angegeben werden muss dabei unbedingt der Ordner, in dem sich z.B. die Datei "localstore.rdf" befindet!

Danach werden alle POP3-Accounts des gewählten Profils aufgelistet. Alle angekreuzten Accounts werden nach dem Klick auf den Knopf "Start Synchronization" bearbeitet. Zuerst wird eine Liste aller E-Mails generiert, die sich in den POP3-Accounts finden lassen. Besonders wichtig sind hierbei die, "UIDLs" genannten, eindeutigen E-Mail-IDs.

E-Mail-Scan

Leider kann es vorkommen, dass einige E-Mails keine UIDL beinhalten. Das ist zum Beispiel bei gesendeten E-Mails, bei Servern ohne UIDL-Support oder bei über IMAP abgerufenen E-Mails der Fall. Bei diesen E-Mails besteht leider die geringe Wahrscheinlichkeit, dass sie vom Server gelöscht werden, obwohl sie lokal noch genutzt werden. Im Regelfall sollte dies jedoch nicht geschehen. Über diesen Umstand wird auch während der Programmausführung informiert, falls mehr E-Mails als UIDLs gefunden werden.

UIDL-Warnung

Nachdem alle E-Mails gescannt wurden, werden die Befehlslisten für Thunderbird geschrieben. Diese befinden sich für jeden Account in der Datei "popstate.dat". Dort werden alle UIDLs, die nicht in den Mails gefunden wurden, zum Löschen freigegeben.

Popstate.dat-Generierung

Nachdem alles fertig generiert wurde, hat man noch ein letztes Mal die Chance, den ganzen Vorgang abzubrechen. Aber auch danach ist noch nichts verloren. Für jede überschriebene Datei wird im Ordner "Backup" ein Backup der vorherigen Version der "popstate.dat" angelegt. So kann man die Änderungen auch nachträglich noch rückgängig machen. Voraussetzung ist, dass Thunderbird nicht im Hintergrund läuft!

Letzte Chance zum Abbruch

Nachdem der Vorgang fortgesetzt wurde und alles funktioniert hat, bekommt man einen Hinweis, was als nächstes zu tun ist.

Synchronisation abgeschlossen

Auch die erzeugten Backups sollten nun an ihrem Platz sein. Deren Namen dürften eindeutig genug sein. Sie beinhalten den Namen des zugehörigen POP3-Accounts, das Erstellungsdatum und den originalen Dateinamen.

Backupdatei

Als nächstes heißt es nun, Thunderbird zu starten und die Mails abzurufen. Es kann diesmal eine ganze Weile länger dauern als üblicher. Solange das Update läuft, sollte man beim Versuch, die Mails erneut abzurufen, die Fehlermeldung erhalten, dass der Ordner gerade verwendet wird.

E-Mails in Thunderbird abrufen

Thunderbird-Warnung

Am einfachsten kann man den Erfolg der ganzen Aktion natürlich dann verfolgen, wenn man die Möglichkeit hat, auf die Mails auch über ein Webinterface zuzugreifen. Bei meinem Testaccount war der Erfolg zum Beispiel ziemlich deutlich zu erkennen.

E-Mail-Übersicht: vorher

E-Mail-Übersicht: nachher


Search

Links

RSS feed

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)