Alle Beiträge von Malte

HAProxy mit Let’s Encrypt und „standalone“-Modus betreiben

Bei gridscale findet man ein hervorragendes Tutorial zum Betrieb von HAProxy mit Lets Encrypt bei dem der „standalone“-Modus von certbot so genutzt wird, dass HAProxy im Betrieb die Anfragen an jenen weiterleitet. Das ist deshalb elegant, weil HAProxy kein Webserver ist und nicht zur Aufgabe hat, das ACME well-known Verzeichnis auszuliefern, welches normalerweise für den „webroot“-Modus von certbot nötig ist.

https://gridscale.io/en/community/tutorials/haproxy-ssl

Das Tutorial ist ansich also sehr gut, jedoch möchte ich eine Sache ergänzen, welches mir dort mangels Kommentarfunktion nicht möglich war:

Es wird empfohlen per Script die Dateien mit den Namen „fullchain.pem“ und „privkey.pem“ in ein einheitliches PEM-Bundle zusammenzufassen. Das ist aber bei HAProxy in neueren Versionen nicht mehr nötig. Vielmehr kann HAProxy mittlerweile direkt nach allen Zertifikaten in einem Verzeichnis suchen. Oder aber es kann unter Angabe eines PEM-Bundles ohne Keys automatisch nach dem Keyfile mit dem Suffix „.key“ schauen, welches es dem Namen des PEM-Bundles anfügt. „fullchain.pem“ wäre damit „fullchain.pem.key“. Da certbot diese Datei so nicht automatisch anlegt, kann man sich hier mit einem Symlink behelfen:

cd /etc/letsencrypt/live/domain.de/ && ln -s privkey.pem fullchain.key.pem

Mithilfe von entsprechenden certbot pre- und post-Scripten, kann man dies zusätzlich durchautomatisieren, inklusive reload für den HAProxy.

Alternativ empfiehlt sich je nach Anwendungsfall auch die Vollautomatisierung und der Umstieg auf Traefik.

Apple iPhone DFU-Restore mit Umwegen (Windows 10 LTSC 1809)

Vor einiger Zeit kam ich in die Situation, eine kleine Sammlung mittelalter Apple iPhones im Konvolut erwerben zu können. Eines dieser Geräte wollte ich einer Bekannten im Nicht-EU-Ausland schicken. Die entsprechende Zolldeklaration und das hoffen auf erfolgreiche Übersendung war schon spannend genug, jedoch stellte sich nach Ankunft heraus, dass dieses das einzige Gerät war, welches ich vergessen hatte per DFU-Reset vollständig zu updaten und zurückzusetzen.

Die Empfängerin ist auch technisch nicht sonderlich begabt, was nicht schlimm ist, aber einen DFU-Reset per Fernsteuerung nicht unbedingt erleichtert.

Runde 1: Runde 1 scheiterte leider, weil das „Notebook“, welches mir zur Fernsteuerung zur Verfügung gestellt wurde, ein ChromeBook mit ChromeOS war.

Runde 2: Runde 2 scheiterte leider, weil nicht nur die Internetverbindung zum jetzt fast vollwertigen Windows 10 sehr langsam war (500 KB/s machen es fast unmöglich effektiv die Dienstsoftware Apple-Geräte oder iTunes zu laden, geschweige denn ein 8,5 GB großes Image des aktuellen iOS 18.6).

Apple iPhone DFU-Restore mit Umwegen (Windows 10 LTSC 1809) weiterlesen

Emby Server neben anderen UPnP-Anwendungen auf gleichem Linux-System betreiben (Bind-to-all Problem)

Der Emby Medienserver hat ab Haus die ungünstige Eigenschaft unabhängig der konfigurierten IPs immer auf allen Netzwerkinterfaces ein Binding durchzuführen. Das ist besonders dann ungünstig, wenn man beabsichtigt unterschiedliche Medienserver mit SSDP+UPnP+DLNA zu betreiben oder wenn man vermeiden möchte, dass der Medienserver in ein öffentliches Netzwerk freigegeben wird, sollte es keine expliziten Firewallregeln geben.

Liest man ein wenig in der Emby Community findet man hin und wieder entsprechende Anfragen, die allesamt darauf abzielen, das Binding von Emby so anzupassen, dass dieses nur auf bestimmten Netzwerkinterfaces läuft. Technisch ist das auch absolut möglich, aber seitens der Entwicklung offenbar aus welchen Gründen auch immer, nicht gewünscht.

Emby Server neben anderen UPnP-Anwendungen auf gleichem Linux-System betreiben (Bind-to-all Problem) weiterlesen

Gerbera Media Server Webinterface-Login nicht möglich (404 Not Found, JS-Ressourcen nicht verfügbar) unter Ubuntu 24.04

Vor Jahren hatte ich zuletzt einen UPnP-Medienserver in meinem Heim, um Medien ohne Umweg auf Samsung-TVs zu streamen. Nun wollte ich das mal wieder machen, um zwei mögliche Wege (zusätzlich zur direkten Samba-Einbindung in KODI) zu haben. Gründe dafür gibt es unterschiedliche, unter anderen jedoch die Praktikabilität des abspielens aber auch die Kompatibilität unterschiedilcher Codecs mit dem jeweiligen Gerät (Samsung-TV vs. FireTV-Stick).

Als erstes wollte ich auf meinem Ubuntu 24.04-basierten Homeserver also Gerbera testen. Normal installiert, Webinterface geöffnet: Login-Button führt zu einem 404 und keine Loginfenster. Hervorragende User-Experience.

Gerbera Media Server Webinterface-Login nicht möglich (404 Not Found, JS-Ressourcen nicht verfügbar) unter Ubuntu 24.04 weiterlesen

Confluence „Spaces by category“-Makro zur Auflistung aller sichtbaren Spaces

Bis jetzt nutzte ich in Confluence ein Makro, welches Spaces nach Kategorie gefiltert auflistet. Das ist schön, da man in den Space-Einstellungen die entsprechenden Kategorien (über der Beschreibung) angeben und danach filtern kann. Dieses Makro ist seit Confluence 9 nicht mehr kompatibel und nutzt veraltete, entfernte Java-Methoden.

Besser und simpler lässt sich das Makro mittels Javascript und der Confluence REST API darstellen. Der Vorteil: Ob ein Space für den eingeloggten oder auch nicht eingeloggten Nutzer sichtbar ist, steuert hier bereits die API und es ist keine weitere Prozessierung nötig.

Confluence „Spaces by category“-Makro zur Auflistung aller sichtbaren Spaces weiterlesen

Fritz!Box per WireGuard mit Linux-WireGuard-Server verbinden und direktes Routing nutzen (ohne NAT)

Möchte man die Fritz!Box als Client zu einem bestehenden WireGuard-Server verbinden, muss man einen Trick nutzen, um nicht versehentlich internes NAT zu aktivieren. (Bei WireGuard wären alle Teilnehmer „Peers“, aber der Einfachheit halber benennen wir Client und Server hier spezifisch.)

Der Trick besteht darin, in der WireGuard-Konfiguration, welche man mit den entsprechenden Schlüsseln versieht und dann in der Fritz!Box hochläd, in der Einstellung [Interface] den Wert „Address“ auf die Fritz!Box-eigene Haupt-IP einzustellen.

Fritz!Box per WireGuard mit Linux-WireGuard-Server verbinden und direktes Routing nutzen (ohne NAT) weiterlesen