Owncloud - Dropbox zum selber hosten

Mit Owncloud kann man seinen eigenen Daten-Synchronisations-Dienst betreiben. Dabei kann Owncloud von jedem selbst gehostet werden. Als Systemanforderungen gibt es nur PHP und Optional eine mySQL-Datenbank. Damit ist es theoretisch möglich Owncloud auch auf Shared-Webspace zu betreiben. Dadurch verliert man aber die Sicherheit das man nur selbst auf die Daten zugreifen kann. Owncloud wird von vielen Universitäten (z.B. Universität Koblenz) eingesetzt um ihren Studenten Zugriff auf geteilte Dateien zu ermöglichen. Große Cluster-Installationen von Owncloud sind also durchaus in der Lage mehrere tausend User mit einigen Terrabyte an Daten zu verwalten.

Owncloud ermöglicht den Datenzugriff über ein Webinterface, Webdav oder über native Clients für alle gängigen Betriebssysteme. Das Webinterface bietet Vorschaufunktionen für viele Dateitypen wie Bilder und PDFs. Die Nativen Clients spiegeln alle oder bestimmte Ordner auf Client und ermöglichen dadurch schnelleres Arbeiten. Auch kann so offline auf die Daten zugegriffen werden, ist der Client wider Online werden alle Änderungen wider mit dem Server synchronisiert.

Durch Plugins kann Owncloud um weitere Funktionen erweitert werden. So existieren Erweiterungen für Webmail, Kalender, Notizen, Online-Word-Processing, Streaming und vieles mehr. Plugins können meist komfortabel über das Administrationsinterface installiert werden. Eine vollständige Liste der aktuell verfügbaren Plugins findet man hier.

Am einfachsten kann Owncloud auf einem LAMP (Linux, Apache, mySQL, PHP) System eingerichtet werden, lauffähig ist es aber auch unter Windows und MacOS. Weitere Informationen zu Owncloud findet man unter owncloud.org.

HandBrake - Einfach Videos konvertieren

HandBrake ist ein OpenSource Video Transcoder. Durch seine übersichtliche Oberfläche ist er einfach zu bedienen, für die wichtigsten Geräte existieren "Presets" so das keine weiteren Einstellungen vorgenommen werden müssen. Das Encoding wird auf der CPU durchgeführt, beschleunigtes Encoding auf der Grafikkarte ist nicht vorgesehen. Durch Batch-Management können mit HandBrake auch große Video-Sammlungen konvertiert werden. Durch das Anlegen eigener "Presets" können auch ausgefallenere Anforderungen reproduzierbar umgesetzt werden.

Das Programm läuft unter Windows, Linux und MacOS und kann kostenlos unter handbrake.fr heruntergeladen werden.

Panamax: Docker Management für Menschen

Panamax bietet über ein Webinterface die Möglichkeit Docker, Fleet und CoreOS zu managen. Es ermöglicht das Erstellen, Verwalten und Verteilen von Docker-Container.

Dabei ist es möglich Panamax auf eigener Hardware sowie in der Cloud auszuführen. Momentan werden Amazon, Google und Rackspae als Cloudanbieter unterstützt. Für erste Test ist auch schon ein einzelner Rechner ausreichend.

Panamax ist OpenSource und kann unter panamax.io bezogen werden. Installer existieren für Linux und MacOS. Eine manuelle Installation ist auch unter Windows möglich.

Update: Trotz mehrerer Versuche mit unterschiedlichen Versionen von VirtualBox und Vagrant (welche von Panamax benötigt werden) war ich nicht in der Lage Panamax unter Windows 10 lauffähig zu bekommen.

Emulation Station - Multi Emulator Interface für Windows und Linux

Emulation Station ist ein grafisches Emulator-Spiele Auswahlliste die es ermöglicht Spiele unterschiedlicher Systeme übersichtlich darzustellen und ohne Tastatur direkt mit dem Gamepad zu starten. Dabei können Spielebeschreibungen und Covers direkt von einschlägigen Webseiten importiert werden. Unter anderem werden die Systeme NES, SNES, GBA, N64, GC, genesis, segaCD, Dreamcast, Amiga, C64, Atari, PS1 und PS2 unterstützt.

Neben den Versionen für Windows und Linux existiert auch eine speziell an den RasperryPi angepasste Version von Emulation Station. Weitere Informationen sowie den Download unter emulationstation.org.

Gogs - Go Git Service

Mit dem OpenSource Programm Gogs kann man auf seinem eigenen Server einen GitHub ähnlichen Sevice betreiben. Über die Weboberfläche ist das durchsuchen und bearbeiten von Git Repositories möglich, es können Issues angelegt werden und es ist eine einfache Wiki integriert. Damit ist das in Go geschriebene Programm ein direkter Konkurrent zu GitLab. GitLab bietet zwar mehr Funktionalität als Gogs, benötigt aber auch mehr Ressourcen. Gogs kann bereits auf einem RasperryPi betreiben werden. Auch ist die Installation von Gogs wesentlich einfacher als die von GitLab, da außer Git und Go keine zusätzliche Software installiert werden muss.

Weitere Informationen zu Gogs gibt es auf der offiziellen Webseite.

MagicaVoxel - Kostenloser Voxel-Editor

MagicaVoxel ist ein kostenloser Voxel-Editor. Er ermöglicht das komfortable bearbeiten von Voxelgruppen und ist sehr einfach zu bedienen. Die Voxels können unteranderem als OBJ-Dateine exportiert werden. Leider ist es nicht möglich eine für die verwendung in 3D-Engines optimierte Version zu exportieren, nach einem Export ist jedes Voxel ein eigenes Objekt mit 6 Seiten. Sollen diese zwecks performance zusammengefasst werden ist ein anderes Programm wie etwa VoxelShop notwendig. In MagicaVoxel ist auch ein leistungsfähiger Rendere integriert, so das erstellte Modelle auch ohne Umweg als Grafik exportiert werden können.

MagicaVoxel kann unter ephtracy.github.io heruntergeladen werden.

UNetbootin - Linux vom USB-Stick installieren

Immer mehr Geräte verfügen nicht mehr über ein optisches Laufwerk. Mit dem OpenSource Programm UNetbootin ist es möglich Boot-ISOs auf einen USB-Stick zu übertragen. Dadurch ist es möglich das ISO auf allen Geräten zu installieren die von USB booten können. UNetbootin ist für Windows, MacOS und Linux verfügbar. Über die einfache Oberfläche kann ein zuvor heruntergeladenes ISO manuell gewählt werden oder noch einfacher eine Linuxdistribution aus einem Dropdown ausgewählt werden. UNetbootin downloadet das ISO dann vollautomatisch. Das erstellen eines Boot-USB-Sticks ist mit UNetbootin sehr einfach, allerdings muss beachtet werden das UNetbootin den USB-Stick immer formatiert, dadurch gehen eventuell auf dem Stick gespeicherte Daten verloren. Standardmäßig zeigt UNetbootin nur USB-Sticks an um ein versehentliches formatieren der eigenen Festplatte zu verhindern.

UNetbootin kann unter unetbootin.sourceforge.net heruntergeladen werden. Bei vielen Linuxdistributionen findet man es auch über den Packetmanager.

sshuttle - Einfach zu nutzende VPN-Alternative

sshuttle ist eine für viele Zwecke ausreichende alternative zu einer vollwertigen VPN-Verbindung. Zum Aufbau der Verbindung muss der Server lediglich drei Bedingungen erfüllen.

  1. Der Server zu dem eine Verbindung aufgebaut werden soll läuft unter Linux oder MacOS.
  2. Es ist möglich sich per SSH mit dem Server zu verbinden.
  3. Auf dem Server ist Python 2.7 installiert.

Dies Bedingungen dürften fast allen Linux Server standardmäßig erfüllen. Das Programm sshuttle muss nur auf dem Client (Linux oder MacOS) installiert sein. Eine Verbindung zum Server kann dann z.B über folgenden Befehl aufgebaut werden:

./sshuttle -r username@sshserver 0.0.0.0/0 -vv

Dabei ist es über den Parameter --dns auch möglich DNS-Anfragen über sshuttle umzuleiten. sshuttle leitet alle Ports zum Server um, dabei ist es nur möglich TCP-Verbindungen zu tunneln. sshuttle ermöglicht keine UDP-Übertragungen. Zum Aufbau der Verbindung logt sich sshuttle per SSH auf dem Server ein überträgt ein kleines Python-Script und führt dieses dann aus um die Verbindung herzustellen. Dabei werden nur auf dem Client Root-Rechte benötigt. Auf dem Server sind keine besonderen Berechtigungen notwendig. Weiter Informationen zu sshuttle gibt es unter github.com/apenwarr/sshuttle

DockerUI - Container in GUI verwalten

DockerUI ist ein Webinterface das auf die Docker Remote API zugreift und es ermöglicht Docker Container einfach zu verwalten. Es bindet die grundlegende Funktionen wie Starte, Stoppen, Löschen und Konfigurieren von Container und Images. DockerUI befindet sich noch in einem frühen Entwicklungsstadium, die vorhanden Features können aber bereits produktiv eingesetzt werden.

Ist Docker bereits installiert ist das eigentliche ausführen von DockerUI direkt über Docker möglich, über folgenden Befehl wird DockerUI bei Bedarf installiert und gestartet.

docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

Danach ist das Webinterface unter localhost:9000 erreichbar. Weitere Informationen zu DokerUI findet man unter github.com/crosbymichael/dockerui.

Ngrok - VPN für localhost

Ngrok ist ein VPN-Tool das es ermöglicht, einen eigentlich nicht öffentlichen localhost öffentlich bereitzustellen. Es eignet sich für Entwickler die z.B. einen Zwischenstand einer Webapp oder Webseite zur Abnahme bereitstellen wollen. Dabei wird ein konfigurierbarer Port auf eine Subdomain des Anbieters Ngrok weitergeleitet. Hat man keinen Account beim Ngrok bekommt man eine zufällige Subdomain zugeteilt. Die Subdomain sowie Statusinfomationen über eingehende Anfragen werden direkt auf der Konsole angezeigt. Wenn man sich einen Account bei Ngrok erstellt kann auch eine Subdomain wählen. Ngrok ermöglicht HTTP- sowie HTTPS-Verbindungen zu dieser Domain.

Das Komandozeilen-Tool kann für Linux, MacOs und Windows kostenlos von der Webseite ngrok.com heruntergeladen werden. Durch den Aufruf von:

    ngrok 8181 

wird z.B. der localhost:8181 an Ngrok weitergeleitet. Die Performance der VPN-Verbindung ist nicht hoch, aber zum Testen ausreichend.