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.

ragersWeb erfolgreich migriert

ragerWeb ist auf ein neu entwickeltes CMS umgestiegen. Sowohl die Webseite als auch der Adminbereich sind jetzt in Node.js implementiert. Die Webseite ist mit Express umgesetzt, die Templates werden in Handelbars gerendert. Beim Backend handelt es sich um eine Ember.js Anwendung. Als HTML/CSS-Framwork wird auf Twitters Bootstrap gesetzt, wodurch das Blog voll responsive ist.

In den nächsten Tagen wird das Design noch weiter angepasst.

Breach - Der JavaScript-Browser

Breach ist ein auf Chromium und Node.js basierender Open-Source-Browser. Er ist hauptsächlich in JavaScript umgesetzt, seine GUI basiert auf HTML. Durch diese Architektur kann er komplett angepasst werden und ist verhältnismäßig einfach per JavaScript zu erweitern. Der Browser richtet sich mehr an Entwickler und Power-User die mit ihm Ihre eigenen Vorstellung des perfekten Browsers umsetzen können.

Wer hingegen eigene GUI-Anwendungen mit Node.js programmieren will sollte sich das Projekt node-webkit anschauen.

Eine erste Alphaversion kann unter breach.cc heruntergeladen werden.

Flickr Bilder downloaden

Flickr bietet seit einiger Zeit allen Kunden 1TB Speicherplatz für seine Bilder. Leider ist es nicht direkt möglich eine Set (Album) komplett wieder herunterzuladen. Es müssen alle Bilder einzeln heruntergeladen werden.

Hier springt www.flickandshare.com in die Bresche. Dem Service muss Zugriff auf den Flickr-Account gegeben werden. Über ein Java-Applet werden dann alle Bilder eines Albums heruntergeladen und auf dem eigenen Rechner gespeichert. Es kann ein Link erstellt werden mit dem z.B. auch Freunde ein Komplettes Album herunterladen können.

Flick and share bietet momentan die einfachste Lösung an seine bei Flicker gespeicherten Bilder zu kommen. Leider wird ein Java-Applet verwendet. Java ist aus Sicherheitsgründen in immer mehr Browsern deaktiviert.

Brackets - Eine neue Generation von Codeeditor

Brackets ist ein neuer Texteditor für Coder. Er wird als OpenSource Projekt von Adobe entwickelt. Eine Besonderheit von Brackets ist es das er in HTML und Javascript programmiert ist. Dadurch ist es für Webentwickler einfacher den Editor an eigene Anforderungen anzupassen oder neue Plugins zu entwickeln. Optisch ähnelt Brackets dem ebenfalls immer beliebter werdenden Sublime Text kann es aber noch nicht mit dessen Features aufnehmen (Sublime Text kein OpenSource und auch keine Freeware, auch wenn eine unbegrenzter Testzeitraum eingeräumt wird). Alle rudimentären Features sind bereits vorhanden. Brackets kann durch Plugins erweitert werden, von denen bereits eine beachtliche Anzahl existiert. Auch Emmet (vomals Zen Coding) wird bereits als Plugin unterstützt. Ein bisher einmaliges Feature ist eine quick edit Funktion für CSS. Befindet man sich in einem HTML dokument können die CSS eigenschafteen einer Node direkt im Dokument geändert werden. Dazu Blendet Brackets einfach die entsprechenden Definitionen aus der CSS-Datei als eine Art Snippet ein, wodurch nicht mehr so oft zwischen Dateien gewechselt werden muss.

Brackers befindet sich momentan noch in der Entwicklung kann aber bereits unter brackets.io heruntergeladen werden.

ShoeBox - Multifunktionswerkzeug für 2D-Spiele

ShoeBox ist ein auf AdobeAir basierendes Tool mit dem viele unterschiedliche Arbeiten aus dem Kontext der Spieleentwicklung erledigt werden können.

In der folgenden Aufzählung werden die wichtigsten Features vorgestellt:

  • Extract Tiles
    Aus einem Screenshot eines beliebigen Tiles-Basierten Spiels wird ein Tileset rekonstruiert. Damit ist es möglich auf einfache und schnelle Art Background-Tileset aus jedem beliebigen Retrospiel zu extrahieren.
  • Pack Sprites und Extract Sprites
    Einfaches erstellen eines Texturatlas und zerlegen eines Atlanten in seine Einzelbilder.
  • Slice 9
    Mit dieser Funktion wird z.B ein Button-Bild so zerschnitten das sich damit beliebig große Buttons erstellen lassen. Dabei erfolgt das erkennen der Schnittstellen halbautomatisch. Jedes Bild wird im Normalfall in neun Teile zerlegt: Ränder, Ecken und zwei Mittelteile.
  • Bitmapfont
    Erstellen von Bitmapfonts aus PNG-Dateien. Es können Schriften mit beliebigen Grafikprogrammen erstellt werden.  

ShoeBox kann unter renderhjs.net/shoebox kostenlos heruntergeladen werden.

node-webkit - Desktop Applicationen mit Node.js

node-webkit ist eine auf Chronium und Node.js basierende Laufzeitumgebung für Desktopanwendungen. Dafür wurde die in Chronium normal einsetzte V8-Engine durch die von Node.js ersetzt bzw. erweitert. Dies war möglich da Node.js ebenfalls auf die V8-Engine aufsetzt. Durch die Integration von Node.js in die Webkit-Rendering-Engine von Chronium kann die gesamte Node.js API verwendet werden. Es sind also Zugriffe auf Netzwerk, das lokale Filesystem möglich. Auch können beliebige Node.js Extensions verwendet werden. Da für Node.js momentan noch kein ausgereiftes GUI-Buinding zur Verfügung steht ist node-webkit eine gute Möglichkeit Desktop-Applikationen in JavaScript zu erstellen. Durch die Verwendung von WebGL ist es sogar möglich 3D-Anwendungen auf den Desktop zu bringen. Die Laufzeitumgebung ist existiert für Windows, Linux und MacOs.

Tiled - Map-Editor

Tiled ist ein Open-Source-Map-Editor für 2D-Spiele. Er ist einfach zu benutzen und kann dennoch mit vielen Game-Engines verwendet werden. Mit Tiled können Maps/Level für beliebige Spiele wie z.B. Jump & Run oder RPGs erstellt werden. Das Programm exportiert die fertigen Maps im XML-Format dadurch ist es einfach Importscripte zu schreiben, alternativ können auch Export-Filter für Tiled erstellt werden. Das Programm basiert in der aktuellen Version auf den Qt-Framework und ist für Windows und Linux verfügbar.