Der Konsolen-Client von Zeta Uploader

Neben dem Web-Client, dem Windows-Client und der SOAP-Schnittstelle gibt es die Konsolen-Version von Zeta Uploader.

Die Konsolenversion ist eine .NET-2.0-Konsolenanwendung (umgangssprachlich auch gerne mal “DOS-Box” genannt), also ein Programm, das kein normales Windows-Fenster aufmacht, sondern komplett in der Konsole abläuft.

Die Intention hinter dem Konsolen-Client war widerum eine eigennützige: Wir erstellen die Setups für unsere Programme fast ausschließlich automatisch über Befehlszeilen-Skripte (“Batch-Dateien”). Oftmals ist der letzte Schritt, die Setups für Kunden zur Verfügung zu stellen und ihnen den Download anzubieten. Und eben dafür habe ich ein Tool benötigt, dass komplett konfigurierbar ohne GUI und ohne Benutzer-Interaktion aufzurufen ist.

Dank dem Konsolenclient kann ich jetzt eine Batch-Datei starten, die das Setup zunächst erstellt, anschließend auf die Zeta-Uploader-Server hochlädt, und den Download-Link auch noch automatisch in die Zwischenablage kopiert (sowie die E-Mail-Nachricht an den Kunden versendet). So habe ich keinerlei Arbeit mehr mit dem Erstellen und dem Bereitstellen des Setups; es läuft alles automatisch.

Und genau für solche Anforderungen könnt Ihr den Konsolen-Client auch verwenden; beispielweise auch im administrativen Umfeld um zeitgesteuert (über “Geplante Tasks” bzw. den Aufgabenplaner von Windows 2008 und Windows 7) Dateien zu sammeln und zu versenden, z.B. regelmäßig Backups oder Backup-Logs zuzustellen.

Ihr könnt verschiedene Arten der Konsolenversion downloaden:

Für alle Versionen benötigt Ihr das Microsoft .NET Framework 2.0 oder neuer.

Das Lizenzmodell von Zeta Uploader

Um den Betrieb der Server zu gewährleisten, haben wir Zeta Uploader vor ca. 1 Jahr um ein vernünftiges und einfaches Lizenzmodell erweitert:

  • Wenn Ihr Zeta Uploader nichtkommerziell nutzt, könnt Ihr das komplett kostenlos machen.
  • Wenn Ihr Zeta Uploader kommerziell nutzt, dann kauft bitte eine Lizenz.

Die komerzielle Lizenz hat den Vorteil, dass Ihr lizenziert arbeitet; technisch habt Ihr damit die Möglichkeit, größere Dateien als mit der nichtkommerziellen Lizenz hochzuladen, außerdem könnt Ihr die Dateien bis zu 90 Tagen auf dem Server liegen lassen.

Für höchste Ansprüche bieten wir auch eigenständige Versionen von Zeta Uploader für einen einmaligen Preis an. Diese können dann auf Eurem eigenen Server oder wahlweise auch auf unseren Servern gehostet werden. Das kommt ganz gut an, wir haben inzwischen einige Kunden, die meistens auch eine gecustomizte Version gekauft haben.

Zur Entstehungsgeschichte von Zeta Uploader

Unseren Dienst um große Dateien bis zu 2 GB zu versenden, Zeta Uploader, gibt es seit 2006, also ca. 5 Jahre.

Angefangen hat das Projekt, weil ich mir von Kunden gerne Dateien zusenden lassen wollte. Leider waren das Dateien, die nicht mehr ins E-Mail-Postfach gepasst haben (bei mir war die Anhanggröße nicht beschränkt, wohl aber bei vielen Kunden).

Also habe ich mir überlegt, wie ich das lösen könnte und bin auf die Idee gekommen: Ich mache ein kleines Progrämmchen und eine Website, auf der jedermann eine Datei hochladen kann und dafür dann einen personalisierten Download-Link bekommt. Den Link könnte er mir dann zusenden, bzw. könnte das ja das Programm/die Website gleich selbst machen.

So war Zeta Uploader geboren. 🙂

Fairerweise muss ich sagen, dass ich damals hätte besser recherchieren sollen; beispielweise gab es damals wohl schon einen ähnlichen Dienst “YouSendIt”. Vermutlich hätte ich auch schlicht diesen nutzen können. Andererseits hätte mein Ego es wohl schon eingefordert, dass ich was eigenes entwickle.

Die Kernfunktionalität war von Anfang an der Windows-Client. Mir war wichtig, dass auch bei sehr großen Dateien ein stabiler Upload zum Server möglich war. Deshalb werden die Dateien z.B. in kleinen Blöcken/Paketen (“Chunks”) übertragen und der Server prüft ob das richtige Paket auch ankam. Falls dies nicht der Fall ist, wird das dem Client mitgeteilt und dieser hat mehrere Versuche, das Paket erneut zu senden. Erst wenn alle Versuche fehlschlagen wird auch der gesamte Upload als fehlgeschlagen angesehen. Damit wollte ich erreichen, dass auch bei schlechten Internetverbindungen eine Übertragung erfolgreich funktioniert. Bis heute gab es diesbezüglich nie Klagen.

Nachdem sich das Prinzip eine Zeit lang bewährt hatte, habe ich angefangen, die Funktionalität schrittweise zu erweitern. Beispielsweise verwenden wir den Dienst im Hintergrund auch in vielen unseren Programmen beim Fehler-Reporting. D.h. wenn z.B. in Zeta Producer CMS ein Fehler auftritt, bekommt der Anwender die Fehlermeldung angezeigt und hat die Möglichkeit, diesen Fehler samt zusätzlichen optionalen Informationen an den Hersteller (also uns) zu berichten. Die einfachste und zuverlässigste Möglichkeit war dann auch, den SOAP-Webdienst von Zeta Uploader einzubinden. Die Fehlerberichte gehen dann via Zeta Uploader als Download-Link (samt Zusatzinformationen, sofern vom Kunden aktiviert/eingegeben) an unser Support-Postfach.

In den letzten Jahren kamen dann viele weitere Features hinzu, hauptsächlich aufgrund von Anwender-Anfragen und unseren eigenen Wünschen. Beispielsweise Dinge wie Kennwortschutz, Benachrichtigung beim Download, Benutzeranmeldungen, Historie gesendeter und empfangener Dateien, Dropbox-Anbindung, ein Konsolen-Client, ein HTML5-fähiger Web-Client mit Mehrfachupload, HTML5-kompatible Ansichten für Mobilgeräte, portable Versionen des Windows- und des Konsolen-Clients, ein Forum, Versionen für Intels AppUp, für Pokki, einen Eintrag im Google Chrome Web Store und zuletzt jetzt dieses Weblog.

Seit geraumer Zeit haben wir auch einen Shop, in dem wir günstige Benutzerlizenzen verkaufen, um den Betrieb des Dienstes zu sichern. Wenn Ihr Zeta Uploader kommerziell nutzt, dann kauft bitte eine Lizenz.