ACME-Client in Shell Script

Das Protokoll, welches Let’s Encrypt zur Anforderung und Übertragung der Zertifikate nutzt, hört auf den Namen ACME. Das Kürzel steht für Automatic Certificate Management Environment. Neben dem offiziellen Client Certbot existieren viele weitere Clients. Einer der Clients, welcher hervorsticht, ist acme.sh. Dieser Client wurde komplett in Shell Script für die Bash geschrieben.

Auf letsencrypt.org ist eine Liste der Clients zu finden

Neben dem ursprünglichen ACME v1-Protokoll unterstützt der Client ebenfalls ACME v2 und kann somit für den produktiven Einsatz genutzt werden. Der Client kann über GitHub bezogen werden. Lizenziert ist er unter der GPL in Version 3 und damit freie Software.

Mapcrafter für Minecraft 1.14 nutzbar

Minecraft 1.14 ist bereits seit einigen Tagen veröffentlicht und nun wurde die freie Software Mapcrafter soweit nachgezogen, das sie mit der Minecraft-Version 1.14 genutzt werden kann. Mapcrafter dient der Erzeugung einer interaktiven Karte einer Minecraft-Welt. Unter Ubuntu kann das Projekt aus dem Repository geklont werden und anschließend kompiliert und installiert werden:

git clone https://github.com/mapcrafter/mapcrafter.git
cd mapcrafter
git checkout world113
cmake .
make 
make install

Anschließend kann Mapcrafter ausgeführt werden:

/usr/local/bin/mapcrafter -c akaria.conf -b -j 4

Die Konfiguration (in diesem Fall: akaria.conf) legt fest, welche Ebenen und Dimensionen wie gerendert werden sollen. Beispielhaft könnte die Konfiguration wie folgt aussehen:

output_dir = /var/www/map
background_color = #000000

[marker:teleporter]
name = Teleporter
prefix = Hauptteleporter
icon = beacon.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[marker:signs]
name = Signs
icon = sign.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[world:akaria]
input_dir = akaria
world_name = Akaria

[world:akaria_without_liquid]
input_dir = akaria
block_mask = !8 !9 !10 !11
world_name = Akaria

[global:map]
image_format = png
png_indexed = true
rotations = top-left
texture_size = 16

[map:day_isometric]
name = Day (isometric)
render_view = isometric
render_mode = daylight
world = akaria

[map:day_withoutliquid_isometric]
name = Day (without liquid, isometric)
render_view = isometric
render_mode = daylight
world = akaria_without_liquid

[map:day_spawn_isometric]
name = Day (spawn, isometric)
render_view = isometric
render_mode = daylight
overlay = spawnday
world = akaria

...

Im Zuge der Umstellung von Mapcrafter auf Minecraft 1.13 und jetzt 1.14, kam es bei Mapcrafter zu größeren Umbauten, welche leider noch nicht abgeschlossen sind. So fehlt im Moment noch die Möglichkeit der Blockfilter und auch beim Rendering von Schildern scheint es Probleme zu geben. Es bleibt zu hoffen, dass das Release in nächster Zeit fertiggestellt wird. Der aktuelle Status kann in dem entsprechenden Pull-Request eingesehen werden.

Blöcke welche mit 1.14 eingeführt wurden, werden nun ebenfalls gerendert

Die offizielle Seite des Projektes ist unter mapcrafter.org zu finden. Der Quelltext kann über GitHub bezogen werden. Lizenziert ist das Projekt unter der GPL3-Lizenz und damit freie Software. Wer eine Mapcrafter-Karte in Aktion sehen möchte, kann dies unter map.akaria.q1z.net tun.

WordPress-Beiträge und Seiten in Markdown umwandeln

Im letzten Jahr schrieb ich über ein Tool mit welchem die WordPress-Export-Datei in Markdown exportiert werden kann. Da das Tool einige Probleme mit bestimmten Konstellationen von Beiträgen hatte, habe ich ein eigenes Tool mit dem Namen WordPress2Markdown geschrieben. Dieses nimmt die Export-Datei, eine WordPress eXtended RSS (WXR)-Datei, entgegen und wandelt Posts und Pages in Markdown um. Ein beispielhafter Aufruf könnte dabei wie folgt aussehen:

java -jar WordPress2Markdown.jar -i wordpress-export.xml -s DATETIME -o /home/seeseekey/MarkdownExport

Der Quelltext findet sich auf GitHub zu finden und ist unter der GPL3 lizenziert. Dort findet sich ebenfalls ein entsprechendes Release.

Freier Java-Decompiler

In jeder besseren Entwicklungsumgebung für Java ist ein Decompiler integriert. Daneben existieren auch Standalone-Decompiler wie der Java Decompiler. Der Decompiler ermöglicht es den Quelltext aus dem Kompilat wieder herzustellen. Dies funktioniert bei Java relativ gut, da dort der Quelltext nur in Bytecode für die JVM umgewandelt wird. Dieser Bytecode ist noch relativ High-Level, so das die Rückumwandlung einfacher vonstattengeht. Neben dem Standalone-GUI, existieren Plugins für Eclipse und IntelliJ IDEA.

Die grafische Oberfläche des Decompiler

Zu finden ist das Projekt unter java-decompiler.github.io, der entsprechenden Quelltext befindet sich ebenfalls auf GitHub. Lizenziert ist der Decompiler unter der GPL in der Version 3 und damit freie Software.

Interactive Fiction mittels Twine

Interactive Fiction, also Geschichten in denen vom Leser Entscheidungen getroffen werden können, existieren seit Jahrzehnten. Im Laufe der Zeit haben sich die Werkzeuge verbessert, mit deren Hilfe solche Geschichten erstellt werden können. Eines dieser Werkzeuge ist Twine. Mithilfe von Twine können solche interaktiven Geschichten mit ihren unterschiedlichen Verzweigungen geschrieben werden.

Twine kann auch online genutzt werden

Nachdem die Geschichte geschrieben ist, kann sie in ein HTML exportiert werden und so in jedem Browser erlebt werden. Twine ist verfügbar für Windows, Linux und macOS. Daneben kann Twine direkt online genutzt werden. Die offizielle Seite des Projektes ist unter twinery.org zu finden. Der Quelltext der unterschiedlichen Subprojekte von Twine findet sich in unterschiedlichen Repositorys ([1], [2] [3]). Ein Großteil der Subprojekte ist unter GPL in Version 3 lizenziert und damit freie Software.