Truecrypt 7.1a unter Raspian kompilieren

Folgende Befehlsfolge kompiliert Truecrypt unter Raspian:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libfuse-dev screen

wget "https://github.com/AuditProject/truecrypt-verified-mirror/raw/master/Source/TrueCrypt%207.1a%20Source.tar.gz"
tar xfz "TrueCrypt 7.1a Source.tar.gz"

cd truecrypt-7.1a-source
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h

wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz
tar xfz wxWidgets-2.8.12.tar.gz

make NOGUI=1 WX_ROOT=~/truecrypt-7.1a-source/wxWidgets-2.8.12 wxbuild
make NOGUI=1 WXSTATIC=1

cp Main/truecrypt /usr/local/bin/
sudo chmod +x /usr/local/bin/truecrypt

rm -rf truecrypt-7.1a-source/
rm TrueCrypt\ 7.1a\ Source.tar.gz

truecrypt --version

SD-Karte mit Raspian (Raspberry) formatieren und installieren unter Windows

Fällt die SD-Karte unter meinem Raspberry mal wieder aus oder ist defekt (hier gibt es ja einen Bug mit dem USB-Hotpluggen und externer Stromversorgung), dann führe ich unter Windows folgende Befehle aus, um die Karte in einen “jungfräulichen” Zustand zu versetzen und alle Partitionen zu löschen…selbst jene mit denen Windows nichts anfangen kann (z.B. ext4).

diskpart
> list disk
> select disk 4  //4 mit der Nummer der SD-Karte ersetzen
> clean

Danach kann ich mit der Windows Systemverwaltung eine Partition auf der SD erstellen und mit Win32DiskImager ein Raspi-Image aufspielen.

Typo3 RTE: Bilder im Editor aktivieren

Als Vorgabe ist das Einfügen von Bildern im Rich-Text-Editor (RTE) von Typo3 ausgeschaltet. Man zwar Bilder hinzufügen, wird aber nach dem Speichervorgang feststellen, dass Typo3 sie wieder entfernt hat. Das hängt damit zusammen, dass die Eingaben vor dem Speichern in der Datenbank gefiltert werden und um nicht erlaubte Tags “bereinigt” wird.

Zuerst wechseln wir in den Extension Manager (Erw. Manager), wählen im Menü “Loaded extensions” aus, klicken auf “htmlarea RTE” und passen die Konfiguration des RTE an:

Enable images in the RTE : 1 (= Haken setzen)
Damit wird das Verwenden von Bildern erst ermöglicht.

Um Bilder über den RTE einfügen zu können muss das TSconfig der Seite angepasst werden:

RTE.default.proc {
allowTag := addToList(img)
allowTagsOutside := addToList(img)
entryHTMLparser_db.tags.img >
}
RTE.default.showButtons := addToList(image)
RTE.default.FE {
proc.allowTags := RTE.default.proc.allowTags
proc.allowTagsOutside < RTE.default.proc.allowTagsOutside
proc.entryHTMLparser_db.tags.img >
showButtons < RTE.default.showButtons
}

Die Zeilen im Einzelnen:

RTE.default.proc ist ein Objekt, dass die Umwandlung des Inhalts von RTE zu DB vornimmt.

RTE.default.proc.allowTag := addToList(img) fügt den <img>-Tag zu der Liste der erlaubten Tags hinzu. Alle Tags, die nicht in allowTags stehen werden während der Transformation RTE-Feld : Datenbank gelöscht.

RTE.default.proc.allowTagsOutside := addToList(img) ist ähnlich. Hier wird festgelegt, dass der <img>-Tag auch ausserhalb eines <p>-Tags auftreten darf. Typo3 versucht ansonsten die Inhalte in Paragrafen (<p></p>) zu wickeln (wrappen).

RTE.default.proc.entryHTMLparser_db.tags.img > löscht die Anweisungen des entryHTMLparsers für den <img>-Tag.

RTE.default.showButtons := addToList(image) fügt den Button IMAGE dem RTE hinzu, wenn er nicht schon eingetragen ist. Man beachte, dass das Objekt RTE.default und nicht RTE.default.proc ist und der Button “image” und nicht img heisst.

Eine gute Übersicht findet man unter anderem auf folgender Seite:
http://www.site42.de/Wie-konfiguriert-man-den-RTE-h.58.0.html

Typo3: Inhaltselement Bilder (Spaltenzahl erhöhen)

Im Inhalteselement “Nur Bilder” können die hochgeladenen Bilder in mehreren Spalten angeordnet werden.

Standardmäßig bietet TYPO3 hier bis zu 8 Spalten an. Bei mehr als 8 Bilder wird die Ausgabe zweizeilig. Bei kleinen Grafiken ist dies aber nicht unbedingt wünschenswert. Im Gegenteil, manchmal kann es gewollt sein, einfach eine Reihe von kleinen Bildern nebeneinander anzuordnen.

Über die TSConfig-Einträge kann die Anzahl der Spalten in der Drop-Down-Liste einfach erhöht werden. Dazu trägt man im Feld TSConfig der betreffenden Seite das folgende TYPO3-Fragement ein:

TCEFORM.tt_content.imagecols.addItems { 
9 = 9
10 = 10
11 = 11}

Ab jetzt stehen die Felder Zeilen 9,10 und 11 zur Verfügung. Achtung: Im Template->Konstanten-Editor kann die maximale Breite angegeben bzw angepasst werden, damit auch bei sehr vielen Spalten die Bilder die angegebene Größe erhalten.

Bootstrap und Grunt

Als erstes node.js installieren, hier gibt es ein Windows Install File unter https://nodejs.org/download.
Dann, von der Kommandozeile aus:

  1. grunt-cli mit npm install -g grunt-cli global installieren.
  2. Bootstrap auf der Kommandozeile im gewünschten Pfad installieren: npm install bootstrap
  3. Zum Wurzelverzeichnis /bootstrap/ navigieren und npm install ausführen. npm sieht sich die Datei package.json an und installiert automatisch die dort aufgeführten lokal benötigten Pakete.

Punkt 1 ist natürlich nicht bei jedem Projekt erneut auszuführen.

Mit grunt dist auf der Kommandozeile werden alle benötigten Dateien im Verzeichnis dist kompiliert.

Kennt jemand ein gutes Tool für Sublime oder eine gute Vorgehensweise?

Wake On LAN (WOL) aktivieren

Bisher musste ich mich damit nicht beschäftigen, weil ich es im Alltag einfach nicht benötigt habe. Nun wollte ich es mal eben einstellen und natürlich hat nichts fuktioniert.

Folgende Aktivitäten habe ich ausgeführt:

  1. Im Geräte-Manager von Windows habe ich WOL in den Treibereinstellungen der Netzwerkkarte aktiviert und die Option “Magic Packet & Pattern Matching” gesetzt.
  2. Auf meinem Macbook habe ich mir ein Tool heruntergeladen, um ein Magic Packet zu erzeugen…installierrt…an die LAN-Adresse meines Desktops gesendet und es hat funktioniert;)
  3. Um den Rechner aus dem Internet aufzuwachen, habe ich mir ein Konto bei no-ip.com besorgt und den Rechner auf meinem Router eingetragen. Leider hat sich nichts gerührt:(
  4. Auf dem Router habe ich die Firwall für UDP-Pakete auf Port 9 geöffnet und eine Weiterleitung auf meinen Desktop eingerichtet (ebenfalls UDP, Port 9).

Und tatsächlich….es funktioniert wie gewünscht:)

PhantomJS & casperJS

Vor kurzem bin ich durch die c’t auf 2 interessante Projekte gestoßen. PhantomJS ist ein Webbrowser ohne GUI und casperJS (http://casperjs.org/), ein Framework um PhantomJS (http://phantomjs.org/) per Skript zu steuern und wiederkehrende Aufgaben automatisiert zu erledigen.

Lange hat kein passendes Testszenario auf sich gewartet. Ich betreue mehrere Kunden, die auf einem Shared-Hosting-Server liegen. Jeder Kunde kann sich in Confixx einloggen und in der Weboberfläche ein Backup auf dem Server anstoßen. Bei mehreren Kunden wird das sehr schnell mühselig.

Also…her mit den Wunderwaffen.

var casper = require('casper').create();
var mouse = require("mouse").create(casper);

casper.start('http://www.server.de/ordner/', function() {
	this.fill('.login-table', { 'username': casper.cli.get(0), 'password': casper.cli.get(1) }, true);
	this.mouse.click(50, 275);
});
casper.then(function() {
	this.page.switchToChildFrame(0);
    this.click('[title="Backup"]');
});
casper.then(function() {
	this.mouse.click(256, 279);
	this.echo(casper.cli.get(0));
});
casper.then(function() {
	this.capture('screen.png');
});

casper.run();

Obiges Skript war schnell programmiert. Beim Aufruf werden Benutzername und Passwort als Argumente übergeben. Damit ist dieses Skript für jeden Kunden einsetzbar und muss nur mit den passenden Argumenten aufgerufen werden…kann also problemlos in ein Shell-Skript verpackt werden und per Scheduler automatisiert aufgerufen werden.

Das Skript ruft die Webseite auf und füllt das Anmeldeformular aus. Nach dem Absenden werden 2 Klicks automatisiert ausgelöst (x- und y-Koordinate als Argumente) und damit das Backup gestartet. Die richtigen Koordinaten für den Klick, bekommt man am einfachsten, wenn man sich per “capture” einen Screenshot anfertigen lässt und in einer Bildbearbeitung die Koordinaten ermittelt.

Zum Schluss habe ich noch (http://www.ncftp.com/) ein Skript für ncFTP geschrieben, welches mir die gesicherten Dateien automatisiert herunterlädt. Ebenfalls einen Job im Scheduler angelegt und fertig ist die Laube;)

CasperJS und PhantomJS sind wirklich einfach einzusetzende und sehr mächtige Werkzeuge, um wiederkehrende Aufgaben im Browser zu automatisieren. Eine ganz klare Empfehlung!