nicolas oestreich.net : sandbox

Leecho: Download-Aufträge für "Speed Download" OS X
Der für OS X erhältliche Download Manager Speed-Download von Yazsoft, lässt sich auch über das Terminal (Fern-)Steuern. Mit Hilfe der hier dokumentierten SDCLI lassen sich neue Download-Aufträge anlegen, die Download-Queue starten oder stoppen.

Die Aufgabenstellung: Im Wohnzimmer läuft ein Mac mini, Speed-Download ist auf diesem installiert. Um nicht immer das Terminal anwerfen zu müssen, brauchte es eine einfache GUI-Lösung zum Starten neuer Downloads und zum Pausieren der Download-Queue.

Die Lösung: Leecho. Eigentlich nicht viel mehr als ein Bash-Script - mit Hilfe der Freeware-Applikationen Cocoadialog und Platypus, lassen sich einfache Mac-Applikationen aus kleinen Bash-Scripten bauen - bietet Leecho ein Texteingabe-Feld für neue Download-Links. Die Links hinein kopiert, verbindet sich Leecho mit einem entfernten Mac (auf diesem muss ein SSH-Server mit Public Key Authentifizierung laufen) und übergibt die Download-Aufträge so an Speed Download. Zwei Button zum Starten und Stoppen der Download-Queue stehen ebenfalls zur Verfügung. Dieses Youtube Video zeigt das Konzept in Aktion.

Wordpress2PDF Batch-Script für htm2pdf.co.uk
Der Online-Service "htm2pdf.co.uk" erlaubt die einfache Konvertierung von beliebigen Internetseiten hin zu ordentlich formatierten PDF-Dateien. Die so entstandenen Dokumente lassen sich durchsuchen und sind mit funktionierenden Hyperlinks ausgestattet.

Das Problem: Will man einen ganzen Stapel Internetseiten in PDF-Dateien verwandeln - zum Beispiel das eigene Wordpress-Blog - muss man für jeden Konvertier-Vorgang die URL der Seite bei htm2pdf.co.uk eingeben, den Konvertier-Auftrag abschicken und dann den so generierten PDF Download-Link anklicken. Eine aufwändige Arbeit, braucht man zum Beispiel je ein PDF von den Internetseiten: "DeinWordpressBlog.com/?p=1" bis "DeinWordpressBlog.com/?p=999"

Die PHP-Lösung: Mein Wordpress2PDF-Batch Script setzt auf die htmlSQL-Klasse von JonasJohn - gibt (durchnummerierte) Konvertier-Aufträge bei htm2pdf.co.uk in Auftrag, sammelt den Download-Link zum fertigen PDF ein und generiert eine einfache Link-Liste der so erstellten PDF-Dokumente. Mit der Firefox-Erweiterung DownThemAll lassen sich dann alle erstellten PDF-Dokumente mit einem Klick herunterladen.

Um den Download-Link zu finden, sucht das Script nach der CSS-ID "ctl00_cphMain_hypDownload" sollte htm2pdf.co.uk diese ändern, muss entsprechend editiert werden.

TubeToGo-Script v2
Das TubeToGo-Script behebt ein Architektur-Problem (meine Meinung) der "The Tube" DVB-T Software von Equinux. "The Tube" ist in der Lage Fernsehsendungen aufzuzeichnen und die Aufnahmen an einen beliebigen FTP-Server zu senden. Den Web-Zugriff auf die so veröffentlichten Videos bekommt man von Haus aus jedoch nur über die Equinux-eigene TubeToGo-Webseite.

Das Problem: Der Equinux Web-Service ist träge und zeigt neue Aufnahmen oft erst mehrere Stunden nach dem Upload - also dem eigentlichen Zeitpunkt der Verfügbarkeit - an.

Die PHP-Lösung: Im gleichen Ordner wie die Videos abgelegt, erstellt das TubeToGo-Script eine iPhone-kompatible Webseite mit allen verfügbaren Aufzeichnungen. Ähnlich der Equinux-Seite werden die Filme mit Spieldauer, Vorschaubild, Titel und Aufnahme-Datum gelistet und können mit einem Klick abgespielt (iPhone) bzw. heruntergeladen (Desktop-Browser) werden. Zum Auslesen der Metainformationen nutzt das TubeToGo-Script die getid3 PHP-Klasse.

Eine ältere Version des Scripts, ohne Abhängigkeit zur phpID3-Klasse (dafür jedoch auch ohne Titel-Angabe) kann hier heruntergeladen werden.

Diese PDF-Datei erklärt das Setup noch mal genau und zeigt Beispielhaft den generierten Output.

Remote Dircaster RDC
Der Remote Dircaster erstellt ein iTunes-kompatibles Podcasts- bzw. RSS-Feed von Audio-Dateien die auf einem entfernten FTP-Server abgelegt sind.

Ein Beispiel: Ein User ruft den RDC auf Server A (PHP-Webserver) auf. Der RDC verbindet sich zu Server B (FTP-Server mit euren MP3s) liest ein festgelegtes Verzeichnis aus, sammelt Informationen der dort abgelegten Dateien und gibt die Podcast-XML-Datei an den User zurück. Die Tags des Feeds werden aufgrund der Dateinamen generiert. Die Dateinamen-Konvention des beiliegenden ReadMe-Textes muss beachtet werden.

Diese PDF-Datei erklärt das Setup noch mal genau und zeigt Beispielhaft den generierten Output.