<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Homelab – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/homelab/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Thu, 22 Oct 2026 08:01:06 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>PHP2Shell: So prüft ihr eure Docker-Container auf die PHP-Lücke</title>
		<link>https://linuxundich.de/php2shell-docker-container-pruefen/</link>
					<comments>https://linuxundich.de/php2shell-docker-container-pruefen/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 07:48:50 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<guid isPermaLink="false">https://linuxundich.de/php2shell-docker-container-pruefen/</guid>

					<description><![CDATA[Die kritischen PHP-Lücken CVE-2026-109618 und CVE-2026-109619 betreffen auch selbst gehostete Dienste. Eine kleine Schleife zeigt, welche Docker-Container noch eine anfällige PHP-Version mitbringen.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Seit dem 21. Oktober geistert PHP2Shell durch die Newsticker. Hinter dem griffigen Namen stecken zwei Lücken in PHP, CVE-2026-109618 und CVE-2026-109619, über die Angreifer ohne Anmeldung per präpariertem HTTP-Request Code auf dem Webserver ausführen können. Die PHP-Entwickler stufen beide mit 9.2 nach CVSS 4.0 ein, und laut <a href="https://watchtowr.com/intelligence/php-cve-2026-109618-faq/">watchTowr</a> wird die Lücke bereits aktiv ausgenutzt. Wer selbst hostet, sollte also jetzt nachschauen.</p>



<p class="wp-block-paragraph">Abgedichtet sind die Lücken in PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Für PHP 8.1 und älter gibt es bislang keine regulären Releases mit dem Fix, da hilft nur der Umstieg auf einen unterstützten Zweig. Auf einem normalen Server erledigt das der Paketmanager. Bei Docker sieht die Sache anders aus: Jeder Container bringt sein eigenes PHP mit, und das bleibt so alt, wie das Image eben ist.</p>



<h2 class="wp-block-heading">Welcher Container hat welches PHP?</h2>



<p class="wp-block-paragraph">Die erste Frage lautet also: In welchen Containern auf dem Heimserverchen steckt überhaupt ein PHP? Bei Nextcloud oder WordPress ist das klar, bei selbst gebauten Images oder kleinen Web-Apps weniger. Statt jeden Container einzeln abzuklappern, fragt die folgende Schleife alle laufenden Container nach ihrer PHP-Version und gleicht sie gleich mit den gepatchten Versionen ab.</p>



<pre data-lui-file="php2shell-check.sh" class="wp-block-code"><code>for c in $(docker ps --format '{{.Names}}'); do
  v=$(docker exec &quot;$c&quot; php -r 'echo PHP_VERSION;' 2&gt;/dev/null) || continue
  case &quot;${v%.*}&quot; in
    8.5) fix=8.5.12 ;;
    8.4) fix=8.4.27 ;;
    8.3) fix=8.3.36 ;;
    8.2) fix=8.2.35 ;;
    *)   fix=99 ;;
  esac
  if [ &quot;$(printf '%s\n' &quot;$fix&quot; &quot;$v&quot; | sort -V | head -n1)&quot; = &quot;$fix&quot; ]; then
    printf '\e[32m%-30s %-8s ok\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  else
    printf '\e[31m%-30s %-8s anfällig?\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  fi
done</code></pre>



<p class="wp-block-paragraph">Container ohne PHP überspringt die Schleife stillschweigend. Bei allen anderen landet die Version grün in der Ausgabe, wenn sie mindestens auf dem Stand des Patches ist, und rot, wenn sie darunter liegt. Rot gibt es auch für PHP 8.1, 7.x und älter, denn dafür existiert schlicht kein Fix. Bei mir sieht das Ergebnis so aus:</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
nextcloud-app-1                8.5.12   ok
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
planetfoss-web                 8.3.33   anfällig?
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">Nextcloud und das Test-WordPress hatten ihre Updates also schon gezogen, PlanetFOSS und die Seite für Sisu hingen dagegen noch hinterher. Das Fragezeichen hinter „anfällig“ ist übrigens Absicht. Die Schleife vergleicht nur die Versionsnummer. Nutzt ein Image das PHP-Paket von Debian, Ubuntu oder Alpine, kann der Fix zurückportiert sein, ohne dass sich die Nummer ändert. Dann hilft nur ein Blick in die Sicherheitsmeldungen der Distribution.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59598203&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59598203" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1397" height="877" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/php2shell-simple.webp" alt="Geteiltes Terminalfenster auf bender: links das Skript php2shell-simple.sh mit Zeilennummern, rechts seine Ausgabe mit grünen und roten Containernamen samt PHP-Version" class="wp-image-48100"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Links die Schleife als kleines Skript, rechts ihre Ausgabe: planetfoss-web und sisu-web landen rot in der Liste, der Rest grün.</figcaption></figure>



<p class="wp-block-paragraph">Genauer hinschauen lässt sich mit <a href="https://github.com/EXT-IT/php2shell-check">php2shell-check</a> von EXT IT. Das MIT-lizenzierte Skript arbeitet nur lesend und bewertet PHP anhand der Paketversionen statt nur der Versionsnummer, berücksichtigt also auch zurückportierte Fixes. Es schaut in Docker-Container, FPM-Pools und noch laufende alte Prozesse und schickt auf Wunsch eine harmlose Anfrage an eure Website. Für die Container braucht es Root-Rechte oder die Mitgliedschaft in der Gruppe docker.</p>



<p class="wp-block-paragraph">Die Projektseite schlägt den üblichen Einzeiler mit <code>curl</code> und <code>sudo bash</code> vor. Bei einem Skript, das mit Root-Rechten auf dem Server läuft, mag ich das nicht so gern. Ladet lieber das Skript samt <code>SHA256SUMS</code> aus den Releases herunter, prüft es mit <code>sha256sum -c SHA256SUMS</code>, lest einmal drüber und startet es dann von Hand. Ein „nicht anfällig“ ist laut den Entwicklern übrigens keine Garantie:</p>



<pre class="wp-block-code"><code>$ sudo bash php2shell-check.sh https://eure-seite.example</code></pre>



<p class="wp-block-paragraph">Auf meinem Heimserver lief das Skript mit sudo. Als Mitglied der Gruppe docker sähe es die Container zwar auch ohne Root-Rechte, laufende Prozesse anderer Benutzer und manche Logs blieben dann aber verborgen. Geholt und gestartet habe ich es so:</p>



<pre class="wp-block-code"><code>$ curl -fsSLO https://github.com/EXT-IT/php2shell-check/releases/latest/download/php2shell-check.sh
$ chmod +x php2shell-check.sh 
$ sudo ./php2shell-check.sh </code></pre>



<p class="wp-block-paragraph">Das Urteil deckt sich mit der Schleife: planetfoss-web mit PHP 8.3.33 und sisu-web mit PHP 8.4.26 sind anfällig, Nextcloud und das Test-WordPress nicht. Zusätzlich hat es einen gestoppten Container von Tuxsucht gefunden, den meine Schleife glatt übersehen hat:</p>



<pre class="wp-block-code"><code>PHP in docker containers
  [ OK ] container      nextcloud-app-1 (nextcloud:35-apache)
         PHP 8.5.12 (fixed from 8.5.12)
[...]
  [VULN] container      planetfoss-web (planetfoss-web:local)
         PHP 8.3.33, fixed in 8.3.36
         -&gt; Update PHP to 8.3.36 or later (container: pull the new image and recreate)
[...]
  [VULN] container      sisu-web (sisu-web:local)
         PHP 8.4.26, fixed in 8.4.27
[...]
  [WARN] container      php83 (stopped, tuxsucht-php)
         stopped, but its image ships PHP 8.3.33: it comes back vulnerable on the next start
[...]
Summary  2 vulnerable, 3 undecided, 12 warnings, 11 ok</code></pre>



<p class="wp-block-paragraph">Klar, <code>docker ps</code> listet eben nur laufende Container, und ein gestoppter Container nimmt keine Anfragen an. Startet ihn aber irgendwann jemand wieder, ist die Lücke sofort zurück. Deutlich wird das Skript außerdem beim Thema mod_php: Alle fünf laufenden Container liefern PHP über das Apache-Modul aus, und genau gegen dieses Setup demonstriert das Advisory einen kompletten Angriff ohne Anmeldung.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5959b8be&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5959b8be" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1397" height="877" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/php2shell-check.webp" alt="Terminalfenster mit der Ausgabe von php2shell-check auf bender: farbig markierte Einträge VULN, WARN und OK für die Container planetfoss-web, sisu-web und php83" class="wp-image-48101"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">php2shell-check meldet sisu-web als anfällig, warnt vor mod_php und findet auch den gestoppten Container php83 mit altem PHP.</figcaption></figure>



<p class="wp-block-paragraph">Bis zum Update schlägt das Skript als Notbehelf vor, <code>session.upload_progress.enabled=0</code> und <code>expose_php=0</code> zu setzen und <code>post_max_size</code> unter einem Viertel von <code>memory_limit</code> zu halten. Die Prüfung von außen hat dagegen wenig gebracht. Für die beiden Websites meldet das Skript nur, dass die Header keine PHP-Version verraten und keine WAF davorsteht. Über den Patchstand sagt das nichts, was das Skript auch ehrlich zugibt.</p>



<h2 class="wp-block-heading">Und wie bekommt man das PHP aktualisiert?</h2>



<p class="wp-block-paragraph">Im Container selbst solltet ihr nichts aktualisieren, das wäre beim nächsten Neustart wieder weg. Stattdessen zieht ihr im jeweiligen Compose-Verzeichnis das neue Image und baut den Container damit neu auf. Bei selbst gebauten Images mit eigenem Dockerfile braucht es ein <code>docker compose build --pull</code>, damit Docker auch das Basis-Image frisch holt:</p>



<pre class="wp-block-code"><code>$ docker compose pull &amp;&amp; docker compose up -d</code></pre>



<p class="wp-block-paragraph">Wichtig: Das hilft natürlich nur, wenn das Basis-Image die gepatchte Version auch schon enthält. Laut <a href="https://www.it-connect.tech/php2shell-and-docker-how-to-check-and-update-your-php-containers/">IT-Connect</a> tauchten die neuen Tags anfangs sogar ohne Image dahinter auf, inzwischen liefern allgemeine Tags wie <code>php:8.3-apache</code> das gepatchte PHP. Wer dagegen eine feste Version wie <code>php:8.4.24-fpm</code> im Dockerfile stehen hat, muss sie selbst anheben. Lasst die Schleife nach dem Update einfach noch einmal laufen. Kümmert euch zuerst um die Container, die aus dem Internet erreichbar sind.</p>



<p class="wp-block-paragraph">Wie das in der Praxis aussieht, zeigt die Testumgebung von PlanetFOSS. Das Image baut auf <code>php:8.3-apache</code> auf und packt im Dockerfile nur noch Erweiterungen wie GD und Intl dazu. Mein Deploy-Skript ruft zwar <code>docker compose up -d --build</code> auf, holt dabei aber kein neues Basis-Image, sondern nimmt das vom August aus dem Cache. Daher stammte das alte PHP 8.3.33. Erst <code>--pull</code> lädt die frische Fassung:</p>



<pre class="wp-block-code"><code>$ cd /data/docker/planetfoss
$ docker compose build --pull web
$ docker compose up -d web</code></pre>



<p class="wp-block-paragraph">Nach gut einer Minute stand das neue Image, und der Container lief mit PHP 8.3.36. Die Datenbank im selben Compose-Projekt bleibt davon unberührt, weil beide Befehle nur den Dienst web ansprechen. Die Schleife zeigt PlanetFOSS danach grün, und auch php2shell-check meldet nur noch sisu-web als anfällig. Das alte Image liegt übrigens noch als Leiche auf der Platte, <code>docker image prune</code> räumt es weg.</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
[...]
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">Alles in allem ist PHP2Shell ein gutes Beispiel dafür, dass Selfhosting mit Docker zwar bequem ist, die Updates aber nicht von allein kommen. Weitere Details zu den Lücken hat <a href="https://www.heise.de/en/news/php2shell-Critical-flaws-allow-code-injection-in-PHP-11494897.html">heise</a> zusammengetragen. Wie man Container ohne viel Gefrickel auf Stand hält, habe ich mir übrigens in <a href="https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/">Docker-Container einfach aktuell halten mit Dockcheck</a> angeschaut. Wie haltet ihr eure Container aktuell?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/php2shell-docker-container-pruefen/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Samba für Sonos S1: SMB1 erlauben, ohne das ganze Heimnetz aufzureißen</title>
		<link>https://linuxundich.de/samba-sonos-s1-smb1-ntlmv1-sicher-konfigurieren/</link>
					<comments>https://linuxundich.de/samba-sonos-s1-smb1-ntlmv1-sicher-konfigurieren/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sun, 18 Oct 2026 15:44:10 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Sonos]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48077</guid>

					<description><![CDATA[Alte Sonos-Lautsprecher spielen eure Musiksammlung nur per SMB1 und NTLMv1 ab. Ein eigener Benutzer, eine schreibgeschützte Freigabe und ein paar Zeilen in der smb.conf sorgen dafür, dass die Lautsprecher spielen, ohne dass der Rest des Heimservers unnötig offen steht.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer noch Sonos-Lautsprecher der ersten Generation betreibt und seine Musiksammlung auf dem eigenen Server liegen hat, stößt bei Samba schnell auf ein Problemchen: Ohne SMB1 und die alte NTLMv1-Anmeldung spielen die Lautsprecher keinen einzigen Titel. Die üblichen Anleitungen im Netz drehen deshalb einfach alles auf, was Samba aus gutem Grund abgeschaltet hat. Das geht aber auch deutlich sauberer, ohne auf die Musik zu verzichten.</p>



<h2 class="wp-block-heading">Warum Sonos S1 noch SMB1 braucht</h2>



<p class="wp-block-paragraph">Bei mir hängen noch zwei Play:3, ein Play:1 und ein Connect:Amp im Netz. Alle laufen mit der S1-Software, für die Sonos nur noch Fehlerkorrekturen liefert. Die Lautsprecher spielen nicht nur Streams, sondern auch meine Musiksammlung vom Server. Laut einer <a href="https://en.community.sonos.com/conversations/86047">Diskussion im Sonos-Forum</a> reichen die Ressourcen der S1-Geräte dafür aber nur für SMBv1, mehr ist auf der alten Hardware nicht drin.</p>



<p class="wp-block-paragraph">Samba hat das alte Protokoll dagegen schon lange in Rente geschickt. Seit <a href="https://devel.samba.org/samba/history/samba-4.11.0.html">Version 4.11</a> steht <code>server min protocol</code> ab Werk auf SMB2_02, die NTLMv1-Anmeldung ist laut <a href="https://www.samba.org/samba/security/CVE-2018-1139.html">Samba-Projekt</a> sogar schon seit Version 4.5 abgeschaltet. Die üblichen Anleitungen schalten beides mit zwei Zeilen global wieder ein. Die Lautsprecher spielen dann zwar, aber eben nicht nur sie bekommen die Tür geöffnet.</p>



<p class="wp-block-paragraph">Wer ein System mit S2 betreibt, ist fein raus. Sonos hat dort mit Version 13.4.1 im Dezember 2021 SMBv2 und SMBv3 nachgereicht und spricht inzwischen gar kein SMBv1 mehr. S2-User lassen die Samba-Standards also in Ruhe. Der Rest dieses Artikels richtet sich an alle, die wie ich noch an ihren alten Lautsprechern hängen und sie nicht wegen eines Protokolls entsorgen wollen.</p>



<h2 class="wp-block-heading">Was an der schnellen Lösung das Problem ist</h2>



<p class="wp-block-paragraph">SMB1 lässt sich in Samba nur für den ganzen Server erlauben, nicht für einzelne Freigaben oder Geräte. Spätestens seit WannaCry 2017 eine Lücke in Microsofts SMB1 ausnutzte, gilt das Protokoll als Altlast, und NTLMv1 macht es Angreifern leicht, mitgeschnittene Anmeldungen zu knacken. Meldet sich der Lautsprecher dann auch noch mit eurem normalen Benutzer an, wandert ausgerechnet euer Hauptpasswort im schwächsten Verfahren durchs Netz.</p>



<p class="wp-block-paragraph">Dazu kommen Zeilen, die man beim Abschreiben gern gleich mitnimmt. Mit <code>wide links</code> und <code>allow insecure wide links</code> folgt Samba Symlinks auch dann, wenn sie aus der Freigabe herauszeigen. Gern hängt auch das ganze Datenverzeichnis schreibbar im Netz. Klar, von außen ist so ein Heimserverchen meist dicht. Doch im selben LAN hängen auch Fernseher, Steckdosen und Lautsprecher, deren Software ihr nicht in der Hand habt.</p>



<h2 class="wp-block-heading">Ein eigener Benutzer nur für Sonos</h2>



<p class="wp-block-paragraph">Der wichtigste Schritt ist ein eigener Benutzer, der nur für die Lautsprecher da ist und sonst nichts darf. Er braucht weder ein Home-Verzeichnis noch eine Shell, Samba kennt ihn nur zum Anmelden. Das Passwort vergebt ihr einmalig und verwendet es nirgendwo sonst, denn per NTLMv1 sollte man es als halb öffentlich betrachten. Neu anlegen lässt er sich mit zwei Befehlen:</p>



<pre data-lui-lang="bash" class="wp-block-code"><code>$ sudo useradd -r -M -s /usr/bin/nologin sonos
$ sudo smbpasswd -a sonos</code></pre>



<p class="wp-block-paragraph">Habt ihr schon einen Benutzer, mit dem sich die Lautsprecher anmelden, stutzt ihr ihn mit <code>usermod</code> zurecht. Er verliert die Shell, bekommt <code>/</code> als Home-Verzeichnis und ein gesperrtes Unix-Passwort. Die Anmeldung an Samba läuft über das eigene Passwort aus <code>smbpasswd</code> und funktioniert davon unberührt weiter. Nutzen die Lautsprecher bisher euren normalen Benutzer, legt ihr dagegen lieber einen neuen an:</p>



<pre data-lui-lang="bash" class="wp-block-code"><code>$ sudo usermod -s /usr/bin/nologin -d / sonos
$ sudo passwd -l sonos</code></pre>



<h2 class="wp-block-heading">Die smb.conf</h2>



<p class="wp-block-paragraph">Die Konfiguration erlaubt SMB1 und NTLMv1, grenzt aber alles drumherum ein. Samba lauscht nur auf der LAN-Schnittstelle und nicht auf Docker-Bridges oder VPN-Tunneln. Gäste fliegen raus, Drucker gibt es keine, und jede Freigabe bekommt eine Liste der Benutzer, die rein dürfen. Den Namen der Netzwerkschnittstelle (bei mir <code>enp0s25</code>) und die Pfade müsst ihr natürlich an euer System anpassen:</p>



<pre data-lui-lang="ini" data-lui-file="smb.conf" class="wp-block-code"><code>[global]
   workgroup = WORKGROUP
   server string = bender
   server role = standalone server

   # Sonos S1: nur SMB1 + NTLMv1
   server min protocol = NT1
   server max protocol = SMB3
   ntlm auth = ntlmv1-permitted

   # nur LAN und lokal, nicht auf den Docker-Bridges
   interfaces = lo enp0s25
   bind interfaces only = yes

   map to guest = never

   # keine Drucker
   load printers = no
   printing = bsd
   printcap name = /dev/null
   disable spoolss = yes

[homes]
   browseable = no
   writable = yes
   valid users = %S
   invalid users = sonos

[musik]
   path = /data/musik
   browseable = yes
   read only = yes
   valid users = sonos anna ben lena

[data]
   path = /data
   writable = yes
   valid users = anna ben</code></pre>



<p class="wp-block-paragraph"><code>ntlmv1-permitted</code> ist übrigens nur der sprechende Name für das alte <code>yes</code>. Die Freigabe <code>[musik]</code> ist schreibgeschützt; lesen dürfen <code>sonos</code> und die Familie, hier <code>anna</code>, <code>ben</code> und <code>lena</code>. Selbst wenn jemand die Anmeldung des Lautsprechers knackt, kommt er so nur an die Musik. Auf <code>[data]</code> kommen nur <code>anna</code> und <code>ben</code>, <code>wide links</code> taucht nirgendwo auf, und Symlinks bleiben damit in ihrer Freigabe.</p>



<p class="wp-block-paragraph">Wichtig ist noch die Zeile <code>invalid users = sonos</code> unter <code>[homes]</code>. Diese Freigabe bietet jedem Benutzer sein Home-Verzeichnis an, und das ist beim Lautsprecher-Benutzer nach dem <code>usermod</code> von oben das Wurzelverzeichnis. Ohne die Zeile gäbe es also eine beschreibbare Freigabe <code>\\bender\sonos</code> auf das ganze System. Was dort tatsächlich geht, regeln zwar die Dateirechte, Verzeichnisse wie <code>/tmp</code> stehen aber für alle offen.</p>



<p class="wp-block-paragraph">Lässt sich die Sonos-Bibliothek gerade nicht neu einrichten, gibt es auch einen Zwischenschritt ohne eigene Musikfreigabe. Dann nehmt ihr <code>sonos</code> in die <code>valid users</code> der bestehenden Freigabe auf und setzt zusätzlich <code>read list = sonos</code>. Der Lautsprecher darf dann weiter alles lesen, was die Dateirechte hergeben, aber nichts schreiben. Auf Dauer ist die eigene Freigabe aber klar die bessere Wahl.</p>



<p class="wp-block-paragraph">Bevor ihr die neue Datei aktiviert, lasst ihr sie von <code>testparm</code> prüfen. Das Programm meckert über Tippfehler und unbekannte Optionen, bevor Samba über sie stolpert. Danach startet ihr den Dienst neu, unter Arch heißt er <code>smb</code>, unter Debian und Ubuntu <code>smbd</code>. Offene Verbindungen brechen dabei kurz ab, eingehängte Freigaben auf euren Rechnern verbinden sich aber normalerweise von selbst wieder:</p>



<pre class="wp-block-code"><code>$ sudo testparm -s
$ sudo systemctl restart smb</code></pre>



<h2 class="wp-block-heading">Die Musikbibliothek in der Sonos-App</h2>



<p class="wp-block-paragraph">Zum Schluss tragt ihr die Freigabe in der S1-App als Musikbibliothek ein. Öffnet dazu die <em>Einstellungen</em> und geht dort auf <em>Musikbibliothek</em> und <em>Musikbibliothek einrichten</em>. Als Pfad tragt ihr die Freigabe im Windows-Format ein, also <code>\\bender\musik</code>, darunter den Benutzer <code>sonos</code> und sein Passwort. Danach liest Sonos die Sammlung ein, was bei großen Bibliotheken etwas dauern kann.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adbe595a225b&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595a40a7&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595a40a7" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="456" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48073" src="https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-456x1024.webp" alt="Einstellungen der Musikbibliothek in der Sonos-S1-App" class="wp-image-48073" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek.webp 1080w" sizes="(max-width: 456px) 100vw, 456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">In der S1-App tragt ihr die Samba-Freigabe als neuen Ordner für die Musikbibliothek ein.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595a538a&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595a538a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="456" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48074" src="https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-456x1024.webp" alt="Eingabe von Freigabepfad, Benutzer und Passwort in der Sonos-S1-App" class="wp-image-48074" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung.webp 1080w" sizes="auto, (max-width: 456px) 100vw, 456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Als Anmeldung für die Freigabe dient der eigene Benutzer sonos, nicht euer normaler Benutzer.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595a6b7d&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595a6b7d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="456" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48075" src="https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-456x1024.webp" alt="Musikbibliothek in der Sonos-S1-App nach dem Einlesen" class="wp-image-48075" srcset="https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen.webp 1080w" sizes="auto, (max-width: 456px) 100vw, 456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nach dem Einlesen taucht die Musiksammlung vom Heimserver in der Sonos-App auf.</figcaption></figure>

</figure>



<h2 class="wp-block-heading">Kontrolle</h2>



<p class="wp-block-paragraph">Ob alles so läuft wie gedacht, zeigt euch <code>smbstatus</code>. In der Spalte <em>Protocol Version</em> seht ihr, wer mit welchem Protokoll angemeldet ist. Normale Rechner sollten sich weiter mit SMB3 verbinden, mein Notebook etwa mit SMB3_11, nur die Lautsprecher tauchen mit NT1 auf. Ein Gastzugriff ohne Passwort sollte dagegen mit <code>NT_STATUS_ACCESS_DENIED</code> abprallen, wenn ihr ihn mit <code>smbclient</code> von einem anderen Rechner aus probiert:</p>



<pre class="wp-block-code"><code>$ sudo smbstatus -b
$ smbclient -N //bender/data -c ls</code></pre>



<p class="wp-block-paragraph">Vom Ergebnis des zweiten Befehls solltet ihr euch nicht in die Irre führen lassen. Die Zeile „Anonymous login successful“ klingt zwar nach offener Tür, sie betrifft aber nur die Verbindung zum Server selbst, über die ein Client etwa die Liste der Freigaben abfragt. Entscheidend ist die zweite Zeile, denn in die Freigabe selbst kommt ohne Benutzer und Passwort niemand hinein:</p>



<pre class="wp-block-code"><code>$ smbclient -N //bender/data -c ls
Anonymous login successful
tree connect failed: NT_STATUS_ACCESS_DENIED</code></pre>



<p class="wp-block-paragraph">Bei mir sieht das so aus: Der Lautsprecher im Schlafzimmer liest als <code>sonos</code> per NT1, das Notebook hängt mit SMB3_11 und signierter Verbindung dran. Genau so soll es sein, denn das alte Protokoll bleibt damit auf die Geräte beschränkt, die nichts anderes können. Die übrigen Lautsprecher tauchen erst auf, wenn sie gerade auf die Bibliothek zugreifen:</p>



<pre class="wp-block-code"><code>$ sudo smbstatus -b

Samba version 4.25.0
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
732192  sonos        sonos        192.168.0.60 (ipv4:192.168.0.60:38427)    NT1               -                    -                    
711090  anna         anna         192.168.0.191 (ipv4:192.168.0.191:52826)  SMB3_11           -                    partial(AES-128-CMAC)</code></pre>



<h2 class="wp-block-heading">Und auf Dauer?</h2>



<p class="wp-block-paragraph">Ganz glücklich bin ich mit SMB1 natürlich trotzdem nicht. Auf meinem Server läuft ohnehin schon <a href="https://github.com/simojenki/bonob">bonob</a>, das Navidrome als Musikdienst in die Sonos-App bringt. Kommt die Musik darüber, braucht kein Lautsprecher mehr eine Samba-Freigabe, und SMB1 könnte endgültig weg. Wer jedoch ohne die interne Sonos-Bibliothek nicht auskommt, für den ist die eingegrenzte Variante in meinen Augen ein guter Kompromiss.</p>



<p class="wp-block-paragraph">Alles in allem kostet die saubere Variante nur einen Benutzer und ein paar Zeilen mehr in der <code>smb.conf</code>. Die Lautsprecher spielen genauso wie mit der schnellen Lösung, nur führt über sie kein Weg zum Rest des Servers. Wie habt ihr eure alten Sonos-Lautsprecher angebunden? Hängt bei euch auch noch SMB1 im Netz, oder seid ihr längst auf S2 umgestiegen?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/samba-sonos-s1-smb1-ntlmv1-sicher-konfigurieren/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>DDNSS.de: Betreiber verhandelt über eine Übernahme des DynDNS-Dienstes</title>
		<link>https://linuxundich.de/ddnss-uebernahme-vielen-dank/</link>
					<comments>https://linuxundich.de/ddnss-uebernahme-vielen-dank/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sun, 11 Oct 2026 08:23:00 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[DynDNS]]></category>
		<category><![CDATA[Fritz!Box]]></category>
		<category><![CDATA[Homelab]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=47994</guid>

					<description><![CDATA[Seit 2013 betreibt Robert Niedziela den kostenlosen DynDNS-Dienst DDNSS.de. Nun verhandelt er über eine Übergabe an einen neuen Betreiber, spätestens Ende Oktober soll die Entscheidung fallen. Eure Einträge laufen vorerst weiter.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Im Mai 2013 machte Dyn, früher einmal dyndns.org, den Login alle 30 Tage zur Pflicht. Ich hatte mich damals in <a href="https://linuxundich.de/dyn-ehemals-dyndns-org-macht-login-alle-30-tage-zur-pflicht-alternative-selfhost-de/">einem Artikel</a> nach einem DynDNS-Anbieter umgeschaut, der nicht jeden Monat nervt. Wenige Wochen später meldete sich Robert Niedziela in den Kommentaren mit einem knappen „biete kostenlosen dyndns dienst.“ Sein Dienst <a href="https://ddnss.de/">DDNSS.de</a> war da gerade einmal einen Monat alt.</p>



<p class="wp-block-paragraph">Im Mai 2014 habe ich mir dort einen Account angelegt, seitdem begleitet mich DDNSS. 2016 habe ich den Dienst <a href="https://linuxundich.de/dyn-ehemals-dyndns-org-macht-login-alle-30-tage-zur-pflicht-alternative-selfhost-de/#comment-67378">in den Kommentaren</a> selbst als Anbieter „ohne Nervereien“ weiterempfohlen. Nun liegt eine E-Mail von Robert in meinem Postfach, mit der ich so nicht gerechnet hätte. Nach mehr als 13 Jahren Betrieb steht DDNSS.de vor einer Veränderung: Robert führt derzeit Gespräche über eine mögliche Übernahme des Dienstes.</p>



<h2 class="wp-block-heading">Übernahme statt Abschaltung</h2>



<p class="wp-block-paragraph">Ein endgültiges Aus ist damit allerdings nicht beschlossen. Spätestens bis zum 31. Oktober 2026 soll eine Entscheidung fallen und die Übergabe geregelt sein – vorausgesetzt, die Gespräche führen zu einem Ergebnis. Kommt die Übernahme zustande, führt der neue Betreiber DDNSS einfach weiter. Scheitern die Gespräche, will Robert rechtzeitig Bescheid geben, damit ihr euch in Ruhe auf einen Wechsel einstellen könnt.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595aca6f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595aca6f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="811" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-1280x811.webp" alt="Browserfenster mit dem User Dashboard von DDNSS.de: links das Menü, oben ein Schnellmenü mit Symbolen, darunter Benutzerdaten, Account-Status und ein Spenden-Knopf. Persönliche Daten sind verpixelt." class="wp-image-47992" srcset="https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-1280x811.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-640x405.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-768x487.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend.webp 1490w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Im Dashboard verwaltet ihr eure Hosts. Mein Account läuft seit Mai 2014, unterstützen lässt sich DDNSS freiwillig per Spende.</figcaption></figure>



<p class="wp-block-paragraph">Wer DDNSS in seiner FRITZ!Box oder auf dem eigenen Serverchen eingetragen hat, muss also erst einmal nichts tun. Eure bestehenden DynDNS-Einträge laufen vorerst unverändert weiter, akuten Handlungsbedarf gibt es laut Robert nicht. Rückfragen beantwortet er unter webmaster@ddnss.de. Schaden kann es trotzdem nicht, schon mal nachzusehen, wo bei euch DDNSS überall eingetragen ist – im Router, im ddclient oder in irgendeinem Skript.</p>



<h2 class="wp-block-heading">Danke, Robert</h2>



<p class="wp-block-paragraph">Leicht fällt Robert der Schritt nicht. Seit Mai 2013 hat er nach eigenen Worten sehr viel Zeit und Arbeit in DDNSS.de gesteckt – ein Geschäftsmodell gab es dabei nie, wer wollte, konnte spenden. Nach über 13 Jahren ist so eine Entscheidung für ihn persönlich alles andere als einfach. Von daher bemüht er sich um eine tragfähige Lösung, statt einfach den Stecker zu ziehen.</p>



<p class="wp-block-paragraph">Ich möchte mich an dieser Stelle ganz herzlich bei Robert bedanken. In meinen Augen ist es keine Selbstverständlichkeit, so einen kostenlosen Dienst über so viele Jahre am Laufen zu halten. Bei DynDNS merkt man ja meist erst, was man daran hat, wenn es plötzlich nicht mehr funktioniert. Ich hoffe, dass Robert für sein Baby ein ordentliches neues Zuhause findet.</p>



<p class="wp-block-paragraph">Ich selbst leiste mir inzwischen eine „richtige“ Domain für meine Selfhosting-Aktivitäten. Bei meinem Webhoster geht das recht einfach: Die FRITZ!Box aktualisiert die Einträge meiner eigenen Domain direkt per DynDNS, ein externer Dienst ist dafür nicht mehr nötig. Wer ohnehin eine Domain besitzt, sollte bei seinem Hoster mal nachschauen, ob der so etwas anbietet.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/ddnss-uebernahme-vielen-dank/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Homarr 2.0: Homelab-Dashboard mit Custom Widgets und Workshop</title>
		<link>https://linuxundich.de/homarr-2-0-homelab-dashboard-custom-widgets-workshop/</link>
					<comments>https://linuxundich.de/homarr-2-0-homelab-dashboard-custom-widgets-workshop/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sat, 03 Oct 2026 08:08:18 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Homepage]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=47843</guid>

					<description><![CDATA[Das Homelab-Dashboard Homarr ist in Version 2.0 erschienen. Selbst gebaute Widgets, ein Workshop zum Teilen und ein neuer Board-Editor machen es zum ernsthaften Gegenspieler für Homepage.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer im Homelab ein paar <a href="https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/" data-type="post" data-id="44233">Docker-Container</a> betreibt, braucht früher oder später eine Startseite, die alle Dienste bündelt. Bei mir erledigt das aktuell <a href="https://gethomepage.dev/">Homepage</a>, weil es sich so einfach einrichten lässt und viele fertige Widgets mitbringt. Mit <a href="https://homarr.dev/blog/2026/09/03/homarr-2.0/">Homarr 2.0</a> schielt nun allerdings ein Konkurrent deutlich in meine Richtung.</p>



<p class="wp-block-paragraph">Bevor Fragen aufkommen: Nein, <a href="https://github.com/homarr-labs/homarr">Homarr</a> hat nichts mit dem *arr-Stack zu tun, mit dem so mancher Homelab&#8217;er auf hoher See segelt. Kleine Ironie am Rande: Ausgerechnet <a href="https://sonarr.tv/">Sonarr</a> und <a href="https://radarr.video/">Radarr</a> dienen in den Release Notes immer wieder als Paradebeispiele für die Integrationen des Dashboards.</p>



<p class="wp-block-paragraph">Die Entwickler sprechen selbst vom „ultimativen Homarr-Update“. Wer keine Lust auf die ziemlich ausführlichen Release Notes hat, bekommt – O-Ton des Projekts – ein Video für die kurze Aufmerksamkeitsspanne. Es zeigt die wichtigsten Neuerungen von Homarr 2.0 in knapp zwei Minuten im Schnelldurchlauf.</p>



<figure class="wp-block-video"><video height="1080" style="aspect-ratio: 1920 / 1080;" width="1920" controls src="https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-showreel.mp4"></video><figcaption class="wp-element-caption">Homarr 2.0 in unter zwei Minuten: Das Video der Entwickler zeigt die wichtigsten Neuerungen.</figcaption></figure>



<h2 class="wp-block-heading">Widgets nach Maß und ein Workshop zum Teilen</h2>



<p class="wp-block-paragraph">Das Herzstück der neuen Version sind die Custom Widgets v2. Eigene Widgets entstehen aus JSX, API-Anfragen, Aktionen und typisierten Einstellungen. Wer nicht selbst programmieren mag, beschreibt dem eingebauten Assistant einfach, was er braucht, und testet das Ergebnis anschließend in einer Art Werkbank.</p>



<p class="wp-block-paragraph">Genau das macht für mich den Reiz aus: Das Widget-System sieht wesentlich umfangreicher und variabler aus als das von Homepage. Laut den Entwicklern lässt sich damit fast jedes Widget bauen – auch das, welches nur drei Leute brauchen. Die müssen jetzt nicht mehr warten.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595c1ba3&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595c1ba3" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="497" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex-1280x497.webp" alt="Ein funktionierendes Pokédex-Widget auf einem lokalen Homarr-Dashboard mit Suchfeld, Pokémon-Grafik und Werten." class="wp-image-47839" srcset="https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex-1280x497.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex-640x249.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex-768x298.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex-1536x597.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-custom-widget-pokedex.webp 1570w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ein selbst gebautes Pokédex-Widget zeigt, wie weit sich Homarr mit Custom Widgets verbiegen lässt.</figcaption></figure>



<p class="wp-block-paragraph">Die zweite Hälfte des Konzepts heißt <a href="https://homarr.dev/workshop">Workshop</a>. Dort veröffentlichen, bewerten und installieren User fertige Widgets und eigenes CSS. Ungetesteter KI-Slop hat dort laut den Entwicklern nichts verloren, der Workshop wird moderiert. Zugangsdaten und Adressen der eigenen Instanz bleiben dabei auf dem eigenen Server.</p>



<p class="wp-block-paragraph">Ebenfalls neu ist eine Schnittstelle, über die Widgets, Skripte oder KI-Agenten per <a href="https://modelcontextprotocol.io/">MCP</a> die gespeicherten Integrationen nutzen. Homarr kennt die Adressen und API-Schlüssel der Dienste ja ohnehin. Es prüft die Rechte, hängt die Zugangsdaten an und reicht die Anfrage weiter, ohne die Schlüssel jemals herauszugeben.</p>



<h2 class="wp-block-heading">Neuer Board-Editor und viel Kleinkram</h2>



<p class="wp-block-paragraph">Den Board-Editor haben die Entwickler außerdem von Grund auf neu aufgebaut. Das alte Drag-and-Drop flog raus, Verschieben und Skalieren laufen jetzt über <a href="https://dndkit.com/">dnd-kit</a> und prüfen Kollisionen vor dem Speichern. Gruppen und dynamische Abschnitte weichen sogenannten Containern, und feste Seitenleisten kehren zurück.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595c47b9&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595c47b9" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-dashboard-1280x800.webp" alt="Ein gefülltes Homarr-2.0-Dashboard mit kompakten Widgets, dem Assistant und einer Leiste mit Anwendungen." class="wp-image-47841" srcset="https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-dashboard-1280x800.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-dashboard-640x400.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-dashboard-768x480.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/homarr-2-dashboard.webp 1440w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ein gut gefülltes Homarr-2.0-Dashboard mit kompakten Widgets, dem Assistant und einer Leiste für Anwendungen.</figcaption></figure>



<p class="wp-block-paragraph">Dazu kommen eine neue Ersteinrichtung in sechs Schritten, ein frei konfigurierbarer Header und 31 neue Integrationen, etwa für <a href="https://linuxundich.de/mozilla-stellt-pocket-bookmarks-ein/" data-type="post" data-id="45029">Linkwarden und Karakeep</a>, <a href="https://frigate.video/">Frigate</a> oder <a href="https://github.com/mealie-recipes/mealie">Mealie</a>. Docker und <a href="https://podman.io/">Podman</a> lassen sich mit mehreren Hosts anbinden. Für Umsteiger wie mich praktisch: Homarr versteht auch die Docker-Labels von Homepage.</p>



<p class="wp-block-paragraph">Wichtig für bestehende Installationen: Homarr 2.0 unterstützt nur noch SQLite und PostgreSQL, hier laufen die Migrationen beim Start automatisch. Wer bisher MySQL nutzt, muss seine Daten vor dem Update mit einem separaten Skript nach SQLite überführen. Die nötigen Schritte beschreibt eine <a href="https://homarr.dev/docs/advanced/mysql-to-sqlite">Anleitung</a> des Projekts.</p>



<p class="wp-block-paragraph">Ob ich mein Homepage-Setup tatsächlich in Rente schicke, weiß ich noch nicht. Interessant wird Homarr 2.0 für mich aber ganz sicher. Die <a href="https://demo.homarr.dev/">Live-Demo</a> zum Reinschnuppern hilft euch gerade allerdings nicht weiter: Sie wird aktuell förmlich überrannt und ist daher offline. Welches Dashboard nutzt ihr in eurem Homelab?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/homarr-2-0-homelab-dashboard-custom-widgets-workshop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Netzwerkfreigaben automatisch einhängen: Was beim NetworkManager-Dispatcher schiefgehen kann</title>
		<link>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/</link>
					<comments>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 16:11:08 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Tipps]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45301</guid>

					<description><![CDATA[Eigentlich sollte das Mount-Skript nur eine Sache erledigen: die Samba-Freigabe einhängen, wenn ich zu Hause bin. Am Ende hat es mir Shutdown, Resume und Standby zerschossen – und mir einiges über D-Zustand-Prozesse und den Linux-Freezer beigebracht.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ihr kennt das vielleicht: Zu Hause läuft ein NAS oder ein Cloud-Speicher, den ihr per Samba oder WebDAV einbindet. Aber nur, wenn ihr auch wirklich im Heimnetz seid – niemand will im Café warten, weil der Laptop verzweifelt versucht, eine Freigabe zu mounten, die gerade schlicht nicht erreichbar ist.</p>



<p class="wp-block-paragraph">Die naheliegende Lösung: <code>/etc/fstab</code> plus ein Dispatcher-Skript für NetworkManager, das anhand von SSID oder Server-Erreichbarkeit automatisch mountet. Klingt nach einer Feierabend-Sache. Ist es aber nicht ganz – ich bin dabei über drei Stolperfallen gestolpert, die einem erst auffallen, wenn der Rechner runterfährt, aufwacht oder in den Standby soll. Genau die drei nehme ich hier mit euch durch.</p>



<p class="wp-block-paragraph">Getestet habe ich das Ganze auf Arch Linux, aber das Setup ist nicht Arch-spezifisch: Solange eure Distribution systemd und NetworkManager mitbringt – also etwa auch Fedora, Ubuntu, Debian oder openSUSE –, funktioniert alles hier eins zu eins.</p>



<h3 class="wp-block-heading">Der Grundaufbau</h3>



<p class="wp-block-paragraph">Netzwerkfreigaben bekommen in der fstab klassischerweise <code>noauto</code>, damit sie beim Boot nicht sofort, sondern erst bei Bedarf eingehängt werden:</p>



<pre class="wp-block-code"><code>//server/home /mnt/server/home cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev 0 0
//server/data /mnt/server/data cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev 0 0</code></pre>



<p class="wp-block-paragraph">Für den Mount-Typ selbst gibt&#8217;s je nach Protokoll gute Anleitungen im Arch Wiki, etwa zu <a href="https://wiki.archlinux.org/title/Samba">Samba/CIFS</a> und zu <a href="https://wiki.archlinux.org/title/Davfs2">davfs2 für WebDAV</a> – beide funktionieren unabhängig von der Distribution, solange <em>cifs-utils</em> beziehungsweise <em>davfs2</em> installiert sind.</p>



<p class="wp-block-paragraph">Das eigentliche Mounten übernimmt dann ein Skript unter <code>/etc/NetworkManager/dispatcher.d/</code>. NetworkManager ruft solche Skripte bei jeder Verbindungsänderung auf und übergibt Interface und Status (up, down, pre-down und ein paar weitere) mit – alle Details dazu stehen in der <a href="https://man.archlinux.org/man/NetworkManager-dispatcher.8.en">NetworkManager-dispatcher-Manpage</a>. Ein simples Skript prüft die aktive WLAN-SSID und mountet, wenn&#8217;s passt:</p>



<pre class="wp-block-code"><code>#!/bin/bash
IFACE="$1"
STATUS="$2"

case "$STATUS" in
    up)
        SSID=$(nmcli -t -f active,ssid dev wifi | awk -F: '$1 == "yes" {print $2; exit}')
        if &#91;&#91; "$SSID" == "MeinHeimnetz" ]]; then
            mount /mnt/server/home
            mount /mnt/server/data
        fi
        ;;
    down)
        umount /mnt/server/home
        umount /mnt/server/data
        ;;
esac</code></pre>



<p class="wp-block-paragraph">Fertig, oder? Nicht ganz. Sobald ihr das System runterfahrt, aus dem Standby weckt oder in den Standby schickt, zeigt sich, dass die Sache Tücken hat.</p>



<h3 class="wp-block-heading">Warum nicht einfach GVfs?</h3>



<p class="wp-block-paragraph">Ihr fragt euch jetzt vielleicht, wieso ich mir das mit fstab und Dispatcher-Skripten überhaupt antue – GNOME bietet über „Mit Server verbinden“ im Dateimanager doch einen viel einfacheren Weg, Netzwerkfreigaben per SMB oder WebDAV einzubinden. Genau da liegt für mich das Problem.</p>



<p class="wp-block-paragraph">Solche Mounts laufen nicht über den Kernel, sondern über GVfs, GNOMEs virtuelles Dateisystem. Programme, die die GIO-Bibliothek nutzen – fast alle GTK-Anwendungen, allen voran der Dateimanager selbst –, sprechen Freigaben direkt über eigene URIs wie <code>smb://</code> oder <code>dav://</code> an und zeigen entsprechend auch Vorschaubilder und Metadaten korrekt an. Für Programme, die das nicht können, blendet GVfs die Freigabe zusätzlich unter <code>/run/user/&lt;uid&gt;/gvfs</code> als ganz normalen Pfad ein. Diese Brücke läuft tatsächlich über FUSE – GVfs selbst ist zwar kein klassisches FUSE-Dateisystem, sondern eine eigene Architektur mit Daemon-Prozessen pro Protokoll, stellt aber genau für diesen Fall über gvfsd-fuse einen POSIX-kompatiblen Pfad bereit.</p>



<p class="wp-block-paragraph">Genau diese Brücke ist bei mir der Knackpunkt: Nicht jedes Programm kommt damit zuverlässig klar. Konkret zeigt sich das bei mir in einem Markdown-Editor, in den ich auch Bilder für Artikel einbinde. Der Dateimanager zeigt die Bilder auf dem Netzlaufwerk ganz normal an, weil er GVfs nativ spricht. Der Markdown-Editor dagegen zeigt für dasselbe Bild nur einen Platzhalter – die Einbindung über den FUSE-Pfad funktioniert schlicht nicht zuverlässig, obwohl die Datei nachweislich da ist.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595cb98b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595cb98b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1280x720.webp" alt="Zwei Fenster sind auf einem Computerbildschirm geöffnet. Links ist ein Texteditor mit einer Datei, die einen strukturierten Text mit Überschriften und Absätzen zeigt. Rechts befindet sich ein Dokumentenbetrachter mit einem längeren Fließtext, der ebenfalls Absätze und eine Überschrift enthält. Im Hintergrund ist ein Desktop mit einem Verlauf aus dunklen und violetten Farbtönen sichtbar. Die Benutzeroberfläche zeigt oben eine Menüleiste mit Symbolen und Uhrzeit." class="wp-image-45299" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1280x720.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1536x864.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-2048x1152.webp 2048w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Ein klassischer Kernel-Mount über CIFS oder davfs2, wie im Rest dieses Artikels beschrieben, taucht dagegen als ganz normaler, stabiler POSIX-Pfad im Dateisystem auf – ohne Sonderbehandlung, für jedes Programm gleich. Der Mehraufwand mit fstab und Dispatcher-Skripten zahlt sich also gerade dann aus, wenn ihr Freigaben nicht nur im Dateimanager, sondern in ganz unterschiedlichen Anwendungen zuverlässig nutzen wollt.</p>



<h3 class="wp-block-heading">Problem 1: Der Rechner fährt nicht mehr sauber runter</h3>



<p class="wp-block-paragraph">Fehlt in der fstab die Option _netdev, weiß systemd nicht, dass es sich hier um eine Netzwerkfreigabe handelt. Beim Shutdown kann es dann passieren, dass systemd versucht auszuhängen, <em>nachdem</em> das Netzwerk schon weg ist – der umount blockiert, bis der Job-Timeout greift, und euer System hängt beim Herunterfahren fest.</p>



<p class="wp-block-paragraph"><a href="https://wiki.archlinux.org/title/Fstab#Remote_filesystem">_netdev</a> behebt das, weil systemd damit die richtige Reihenfolge kennt: erst aushängen, dann Netzwerk kappen. Wichtig ist außerdem, dass ein Dispatcher-Skript nicht nur auf down, sondern auf pre-down reagiert – der Status feuert, bevor die Verbindung wirklich fällt, während down schon danach kommt und für ein sauberes Aushängen zu spät ist. Damit das klappt, braucht es zusätzlich einen Symlink im Unterordner <code>pre-down.d/</code>.</p>



<h3 class="wp-block-heading">Problem 2: Nach dem Aufwachen hängt sich der Dateimanager auf</h3>



<p class="wp-block-paragraph">Ein mount-Aufruf für CIFS oder WebDAV läuft im Kernel und kann bei nicht erreichbarem Server ziemlich lange blockieren – gerade kurz nach dem Aufwachen, wenn DNS oder Routing noch nicht ganz da sind. NetworkManager wartet standardmäßig synchron, bis so ein Dispatcher-Skript fertig ist, bevor es weitermacht. Hängt der mount-Aufruf, hängt bei euch plötzlich auch der Dateimanager oder die Netzwerkanzeige, weil die vom Verbindungsstatus abhängen.</p>



<p class="wp-block-paragraph">Die Lösung: Mount-Versuche einfach im Hintergrund laufen lassen, damit das Dispatcher-Skript selbst sofort zurückkehrt, egal wie lange der eigentliche Mount braucht.</p>



<pre class="wp-block-code"><code>run_async() {
    ( "$@" ) &amp;&gt;/dev/null &amp;
    disown
}</code></pre>



<h3 class="wp-block-heading">Problem 3: Der Standby funktioniert plötzlich nicht mehr</h3>



<p class="wp-block-paragraph">Und hier wird&#8217;s spannend. Mit der Lösung aus Problem 2 stolpert ihr in ein neues, deutlich fieseres Problem, das sich in meinem Fall so äußerte: Der Bildschirm geht aus, aber Tastaturbeleuchtung und LEDs bleiben an – ihr müsst hart abschalten. Was war passiert?</p>



<p class="wp-block-paragraph">Der mount-Syscall für CIFS oder davfs blockiert bei nicht erreichbarem Server im sogenannten <a href="https://eklitzke.org/uninterruptible-sleep">D-Zustand (uninterruptible sleep)</a> – einem Zustand, den kein Signal unterbricht, auch SIGKILL nicht. Bevor der Kernel sich tatsächlich schlafen legt, versucht er, alle Prozesse einzufrieren. Ein Prozess im D-Zustand lässt sich aber nicht einfrieren, und der ganze Standby hängt fest, bis die Netzwerkoperation im Kernel von selbst aufgibt – das kann durchaus ein paar Minuten dauern.</p>



<p class="wp-block-paragraph">Weil die Mount-Versuche aus Problem 2 jetzt länger im Hintergrund weiterlaufen, steigt eben auch die Chance, dass genau in dem Moment, in dem ihr in Standby gehen wollt, so ein blockierender Verbindungsversuch gerade aktiv ist.</p>



<p class="wp-block-paragraph">Der zuverlässige Ausweg: Vor jedem mount erst mit einem echten Userspace-Verbindungstest prüfen, ob der Server überhaupt erreichbar ist – so einer lässt sich per Timeout wirklich abbrechen, zum Beispiel über Bashs eingebautes /dev/tcp:</p>



<pre class="wp-block-code"><code>tcp_reachable() {
    local HOST="$1"
    local PORT="$2"
    local TIMEOUT_SECONDS="${3:-2}"
    timeout "${TIMEOUT_SECONDS}s" bash -c "echo &gt;/dev/tcp/${HOST}/${PORT}" &amp;&gt;/dev/null
}</code></pre>



<p class="wp-block-paragraph">Nur wenn der Test klappt, folgt der eigentliche mount. Damit landet ihr so gut wie nie mehr im riskanten, blockierenden Kernel-Connect, weil ihr zu dem Zeitpunkt schon wisst, dass der Server da ist.</p>



<h3 class="wp-block-heading">Die Kombination, die bei mir funktioniert</h3>



<p class="wp-block-paragraph">Am Ende braucht ein robustes Setup vier Zutaten:</p>



<ul class="wp-block-list">
<li><strong>_netdev</strong> in der fstab, damit systemd Netzwerkfreigaben beim Herunterfahren richtig einordnet.</li>



<li><strong>pre-down-Handling</strong> samt Symlink in pre-down.d/, damit das Aushängen garantiert vor dem Verbindungsabbau passiert – mit Timeout und Lazy-Unmount als Backup, falls der normale umount mal zickt.</li>



<li><strong>Asynchrone Mounts</strong> im up-Fall, damit NetworkManager und alles, was davon abhängt, nicht blockiert.</li>



<li><strong>Ein Erreichbarkeitstest</strong> vor jedem mount, damit der eigentliche, potenziell blockierende Kernel-Connect gar nicht erst passiert.</li>
</ul>



<p class="wp-block-paragraph">Dazu noch ein kleiner Healthcheck per systemd-Timer, der ein paar Minuten nach dem Boot und danach regelmäßig nachschaut, ob die Freigaben wirklich da sind, und notfalls nachhilft. Praktisch, falls der auslösende Netzwerk-Event mal zu früh oder zu spät kommt.</p>



<h3 class="wp-block-heading">Alle Dateien im Überblick</h3>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595ce04a&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595ce04a" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1246" height="884" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper.webp" alt="Ein Computerbildschirm zeigt ein Terminalfenster mit schwarzem Hintergrund und weißer Schrift. Im oberen Bereich ist eine Baumstruktur der Verzeichnisse und Dateien unter '/etc/NetworkManager/dispatcher.d' zu sehen. Die Struktur enthält mehrere Unterverzeichnisse und Shell-Skripte. Links sind Zeitstempel und Befehle sichtbar, rechts die jeweiligen Ausgaben. Das Fenster ist von einer grauen Menüleiste umrahmt." class="wp-image-45300" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper.webp 1246w, https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper-640x454.webp 640w, https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper-768x545.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">So sieht der Spaß bei mir aus: Der NetworkManager-Dispatcher hängt Freigaben automatisch ein, sobald er den passenden Server im Netzwerk findet oder sich per WLAN zu einer bestimmten SSID verbindet.</figcaption></figure>



<p class="wp-block-paragraph">Damit ihr das Ganze direkt nachbauen könnt, hier der komplette Satz an Dateien. Ich habe die Beispielnamen aus meinem eigenen Setup (ein Samba-Server namens bender, WebDAV via tuxedo) durch generische Platzhalter ersetzt – die müsst ihr natürlich an eure eigene Umgebung anpassen.</p>



<p class="wp-block-paragraph"><strong>/etc/fstab</strong> – die beiden Freigaben, einmal Samba, einmal WebDAV:</p>



<pre class="wp-block-code"><code>//server/home /mnt/server/home cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev,x-systemd.mount-timeout=15s,soft 0 0
//server/data /mnt/server/data cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev,x-systemd.mount-timeout=15s,soft 0 0
https://cloud.example.com/remote.php/dav/files/user /mnt/webdav davfs noauto,_netdev,uid=1000,gid=100,x-systemd.automount,x-systemd.idle-timeout=300,x-systemd.mount-timeout=15s 0 0</code></pre>



<p class="wp-block-paragraph">Die fstab referenziert die Zugangsdaten nur, gespeichert werden sie in eigenen Dateien – schon damit das Passwort nicht im Klartext in einer Datei steht, die jeder lesen kann.</p>



<p class="wp-block-paragraph"><strong>/etc/samba/server.credentials</strong> – Zugangsdaten für die Samba-Freigabe:</p>



<pre class="wp-block-code"><code>username=maxmuster
password=GeheimesPasswort123</code></pre>



<p class="wp-block-paragraph"><strong>/etc/davfs2/secrets</strong> – Zugangsdaten für die WebDAV-Freigabe, referenziert wird hier der Mountpunkt statt einer Option in der fstab:</p>



<pre class="wp-block-code"><code>/mnt/webdav maxmuster GeheimesPasswort123</code></pre>



<p class="wp-block-paragraph">Beide Dateien gehören root und dürfen für niemand sonst lesbar sein:</p>



<pre class="wp-block-code"><code>$ sudo chmod 600 /etc/samba/server.credentials /etc/davfs2/secrets
$ sudo chown root:root /etc/samba/server.credentials /etc/davfs2/secrets</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh</strong> – die gemeinsame Bibliothek, die alle anderen Skripte einbinden:</p>



<pre class="wp-block-code"><code>#!/bin/bash
log() {
    &#91;&#91; "$DEBUG" == "1" ]] &amp;&amp; logger -t "$LOG_TAG" -- "$1"
}

run_async() {
    ( "$@" ) &amp;&gt;/dev/null &amp;
    disown
}

tcp_reachable() {
    local HOST="$1"
    local PORT="$2"
    local TIMEOUT_SECONDS="${3:-2}"
    timeout "${TIMEOUT_SECONDS}s" bash -c "echo &gt;/dev/tcp/${HOST}/${PORT}" &amp;&gt;/dev/null
}

mount_with_retry() {
    local MOUNT="$1"
    local MAX_ATTEMPTS="${2:-3}"
    local SLEEP_SECONDS="${3:-2}"
    local MOUNT_TIMEOUT="${4:-10}"

    if mountpoint -q "$MOUNT"; then
        log "$MOUNT ist bereits eingehängt"
        return 0
    fi

    log "Hänge $MOUNT ein"

    local OUT ATTEMPT
    for ((ATTEMPT = 1; ATTEMPT &lt;= MAX_ATTEMPTS; ATTEMPT++)); do
        if OUT=$(timeout "${MOUNT_TIMEOUT}s" mount "$MOUNT" 2&gt;&amp;1); then
            log "$MOUNT erfolgreich eingehängt"
            return 0
        fi
        log "Versuch $ATTEMPT/$MAX_ATTEMPTS für $MOUNT fehlgeschlagen (evtl. Timeout nach ${MOUNT_TIMEOUT}s): $OUT"
        &#91;&#91; "$ATTEMPT" -lt "$MAX_ATTEMPTS" ]] &amp;&amp; sleep "$SLEEP_SECONDS"
    done

    log "Alle Versuche für $MOUNT fehlgeschlagen"
    return 1
}

umount_with_fallback() {
    local MOUNT="$1"
    local TIMEOUT_SECONDS="${2:-5}"

    if ! mountpoint -q "$MOUNT"; then
        log "$MOUNT ist nicht eingehängt"
        return 0
    fi

    log "Hänge $MOUNT aus"

    if timeout "${TIMEOUT_SECONDS}s" umount "$MOUNT"; then
        log "$MOUNT erfolgreich ausgehängt"
        return 0
    fi

    log "Normaler Unmount von $MOUNT fehlgeschlagen, versuche Lazy Unmount"
    if umount -l "$MOUNT"; then
        log "$MOUNT per Lazy Unmount ausgehängt"
        return 0
    fi

    log "$MOUNT konnte nicht ausgehängt werden"
    return 1
}</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/90-server-mount</strong> – Samba-Freigabe, gebunden an eine bestimmte WLAN-SSID oder ans Kabelnetz:</p>



<pre class="wp-block-code"><code>#!/bin/bash

DEBUG=1
LOG_TAG="server-mount"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

IFACE="$1"
STATUS="$2"

MOUNTS=(
    "/mnt/server/home"
    "/mnt/server/data"
)

mount_server() {
    if ! tcp_reachable server 445 2; then
        log "server auf Port 445 nicht erreichbar, überspringe Mount-Versuch"
        return 1
    fi

    for MOUNT in "${MOUNTS&#91;@]}"; do
        mount_with_retry "$MOUNT" 3 2 10
    done
}

umount_server() {
    for MOUNT in "${MOUNTS&#91;@]}"; do
        umount_with_fallback "$MOUNT" 5
    done
}

log "Dispatcher gestartet: Interface=$IFACE, Status=$STATUS"

case "$STATUS" in
    up)
        if &#91;&#91; "$IFACE" == wl* ]]; then
            SSID=$(nmcli -t -f active,ssid dev wifi |
                awk -F: '$1 == "yes" {print $2; exit}')

            log "Aktive WLAN-SSID: $SSID"

            if &#91;&#91; "$SSID" == "MeinHeimnetz" ]]; then
                run_async mount_server
            fi

        elif &#91;&#91; "$IFACE" == enp* || "$IFACE" == eth* ]]; then
            run_async mount_server
        fi
        ;;

    pre-down|vpn-pre-down)
        log "Netzwerkverbindung wird beendet – Mounts aushängen"
        umount_server
        ;;
esac

log "Dispatcher beendet"
exit 0</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/90-webdav-mount</strong> – WebDAV-Freigabe, die einfach nur einen erreichbaren Cloud-Server voraussetzt:</p>



<pre class="wp-block-code"><code>#!/bin/bash

DEBUG=1
LOG_TAG="webdav-mount"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

IFACE="$1"
STATUS="$2"

MOUNTPOINT="/mnt/webdav"
HOST="cloud.example.com"

mount_webdav() {
    if ! tcp_reachable "$HOST" 443 3; then
        log "$HOST auf Port 443 nicht erreichbar, überspringe Mount-Versuch"
        return 1
    fi

    mount_with_retry "$MOUNTPOINT" 3 2 10
}

log "Dispatcher gestartet: Interface=$IFACE, Status=$STATUS"

case "$STATUS" in
    up)
        run_async mount_webdav
        ;;

    pre-down|vpn-pre-down)
        log "Netzwerkverbindung wird beendet – Mount aushängen"
        umount_with_fallback "$MOUNTPOINT" 5
        ;;
esac

log "Dispatcher beendet"
exit 0</code></pre>



<p class="wp-block-paragraph">Für beide Skripte braucht ihr zusätzlich noch die passenden Symlinks, damit pre-down garantiert vor dem Verbindungsabbau feuert:</p>



<pre class="wp-block-code"><code>$ sudo ln -s /etc/NetworkManager/dispatcher.d/90-server-mount 
             /etc/NetworkManager/dispatcher.d/pre-down.d/90-server-mount
$ sudo ln -s /etc/NetworkManager/dispatcher.d/90-webdav-mount 
             /etc/NetworkManager/dispatcher.d/pre-down.d/90-webdav-mount</code></pre>



<p class="wp-block-paragraph"><strong>/usr/local/bin/mount-healthcheck.sh</strong> – das Sicherheitsnetz, das regelmäßig nachschaut:</p>



<pre class="wp-block-code"><code>#!/bin/bash
DEBUG=1
LOG_TAG="mount-healthcheck"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

log "Healthcheck gestartet"

SSID=$(nmcli -t -f active,ssid dev wifi 2&gt;/dev/null |
    awk -F: '$1 == "yes" {print $2; exit}')

if &#91;&#91; "$SSID" == "MeinHeimnetz" ]] || ping -c 1 -W 1 server &gt;/dev/null 2&gt;&amp;1; then
    mount_with_retry "/mnt/server/home" 2 3
    mount_with_retry "/mnt/server/data" 2 3
else
    log "server im aktuellen Netz nicht erreichbar, überspringe"
fi

mount_with_retry "/mnt/webdav" 2 3

log "Healthcheck beendet"
exit 0</code></pre>



<p class="wp-block-paragraph"><strong>/etc/systemd/system/mount-healthcheck.service</strong> und <strong>mount-healthcheck.timer</strong> – Systemd-Einheiten, die das Healthcheck-Skript 60 Sekunden nach dem Boot und danach alle 10 Minuten anstoßen:</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=Prueft und stellt Netzwerk-Mounts sicher
After=network-online.target
Wants=network-online.target

&#91;Service]
Type=oneshot
TimeoutStartSec=120
ExecStart=/usr/local/bin/mount-healthcheck.sh</code></pre>



<pre class="wp-block-code"><code>&#91;Unit]
Description=Fuehrt den Mount-Healthcheck 60s nach Boot und danach alle 10 Minuten aus

&#91;Timer]
OnBootSec=60s
OnUnitActiveSec=10min
AccuracySec=30s

&#91;Install]
WantedBy=timers.target</code></pre>



<p class="wp-block-paragraph">Aktivieren nicht vergessen:</p>



<pre class="wp-block-code"><code>$ sudo systemctl daemon-reload
$ sudo systemctl enable --now mount-healthcheck.timer</code></pre>



<p class="wp-block-paragraph"><strong>/usr/lib/systemd/system-sleep/90-cancel-network-mounts</strong> – optionales Sicherheitsnetz vor dem Suspend:</p>



<pre class="wp-block-code"><code>#!/bin/bash
case "$1/$2" in
    pre/*)
        logger -t sleep-mount-guard "Breche evtl. laufende Netzwerk-Mount-Versuche vor Suspend ab"
        pkill -9 -f 'mount.cifs' 2>/dev/null
        pkill -9 -f 'mount.davfs' 2>/dev/null
        ;;
esac

exit 0</code></pre>



<p class="wp-block-paragraph">Alle Skripte müssen ausführbar sein:</p>



<pre class="wp-block-code"><code>$ sudo chmod +x /etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh 
              /etc/NetworkManager/dispatcher.d/90-server-mount 
              /etc/NetworkManager/dispatcher.d/90-webdav-mount 
              /usr/local/bin/mount-healthcheck.sh 
              /usr/lib/systemd/system-sleep/90-cancel-network-mounts</code></pre>



<h3 class="wp-block-heading">Lange Rede, kurzer Sinn</h3>



<p class="wp-block-paragraph">Automatisches Einhängen von Netzwerkfreigaben über NetworkManager funktioniert gut, ist aber kein Fünf-Minuten-Job, wie es die Doku vermuten lässt. Wenn ihr nur den mount-Befehl in ein up-Skript packt, holt euch früher oder später eines der drei Probleme ein – meistens genau dann, wenn ihr unterwegs seid und kein Log zur Hand habt.</p>



<p class="wp-block-paragraph">Mit _netdev, korrektem pre-down-Timing, asynchroner Ausführung und einem echten Erreichbarkeitstest vor jedem Mount seid ihr auf der sicheren Seite. Und das Muster lässt sich eins zu eins auf andere netzwerkabhängige Automatisierungen übertragen, etwa VPN-Verbindungen oder Backup-Jobs, die nur im richtigen Netz laufen sollen.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>WireGuard-VPN zwischen Fritzbox und Linux einrichten</title>
		<link>https://linuxundich.de/wireguard-vpn-fritzbox-linux-einrichten/</link>
					<comments>https://linuxundich.de/wireguard-vpn-fritzbox-linux-einrichten/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 23 May 2025 10:46:32 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Fritz!Box]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45046</guid>

					<description><![CDATA[Mit einer neuen Fritzbox kommt erstmals offizieller WireGuard-Support ins Haus. Der VPN-Zugang ins Heimnetz klappt unter Linux damit besonders unkompliziert. Moderne Distributionen bringen die nötigen Werkzeuge meist direkt mit.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Jetzt, da ja eine neue <a href="https://linuxundich.de/umzug-avm-fritzbox-5690-pro/">Fritzbox 5690 Pro</a> in meinem Flur steht, kann ich endlich mal das (gar nicht so) neue WireGuard-VPN der <a href="https://linuxundich.de/tag/fritzbox/" data-type="link" data-id="https://linuxundich.de/tag/fritzbox/">Fritzbox</a> ausprobieren. Ganz neu ist das VPN-Protokoll für mich nicht, schließlich kann man es problemlos mit <a href="https://github.com/wg-easy/wg-easy">wg-easy</a> und ähnlichen Tools aufsetzen. Trotzdem finde ich es praktisch, wenn so eine Funktion direkt im Router integriert ist und nicht auf einem separaten Server laufen muss.</p>



<p class="wp-block-paragraph">So bleibt der Zugriff auf das eigene Netzwerk auch dann möglich, wenn der Server eines Tages mal nicht so funktioniert, wie er soll. Wenn mit der Box generell etwas nicht stimmt und die Internetverbindung komplett wegbricht, ist in der Regel ohnehin alles verloren. Zudem sind Portweiterleitungen in diesem Fall ebenso wenig notwendig wie ein zusätzlicher DynDNS-Dienst, das übernimmt AVM mit seinem <a href="https://fritz.com/pages/myfritz-net-hilfe">MyFritz-Service</a>.</p>



<h2 class="wp-block-heading">WireGuard auf der Fritzbox einrichten</h2>



<p class="wp-block-paragraph">Einrichten lässt sich das Ganze in der Fritzbox unter <em>Internet</em> » <em>Freigaben</em> im Reiter <em>VPN (WireGuard)</em>. Dort wählt man <em>Verbindung hinzufügen</em> und anschließend <em>Einzelgerät verbinden</em>. Den Namen der Verbindung könnt ihr frei wählen, üblicherweise nutzt man hier den Namen des Client-Rechners oder der Person, die das VPN nutzen wird. Zum Schluss muss das Anlegen der Verbindung noch bestätigt werden, etwa per Telefon, Tastendruck oder über die Fritz-App.</p>



<p class="wp-block-paragraph">Anschließend zeigt euch die Fritzbox eine Seite mit einem QR-Code. Den könnt ihr zum Beispiel mit dem Smartphone scannen, um die Verbindung direkt in die offizielle <a href="https://play.google.com/store/apps/details?id=com.wireguard.android">WireGuard App</a> für Android zu übernehmen. Alternativ geht auch die Open-Source-App <a href="https://web.archive.org/web/20250720165257/https://f-droid.org/de/packages/com.zaneschepke.wireguardautotunnel/">WG Tunnel</a>, die deutlich mehr Funktionen bietet als der &#8222;offizielle&#8220; WireGuard-Client für Android. Ich persönlich nutze WG Tunnel, das ich über F-Droid installiert habe.</p>



<h2 class="wp-block-heading">WireGuard-Konfiguration in NetworkManager</h2>



<p class="wp-block-paragraph">Für Linux (und generell Desktop-PCs) bietet die Fritzbox die Möglichkeit, die Konfiguration herunterzuladen. Klickt auf den Button und speichert die Datei lokal auf der Festplatte ab. Die Datei wird standardmäßig als <code>wg_config.conf</code> im Ordner <code>Downloads</code> gespeichert. Der Name ist nicht ganz unwichtig, da einige WireGuard-Clients diesen Namen automatisch zur Benennung der Schnittstelle heranziehen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595d45cd&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595d45cd" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="856" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01-1280x856.webp" alt="Die Fritzbox erzeugt die Konfiguration automatisch. Ihr müsst sie nur noch herunterladen oder den QR-Code nutzen. Danach lässt sich das VPN sofort einsetzen." class="wp-image-45048" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01-1280x856.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01-1536x1027.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01-768x514.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_01.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Fritzbox erzeugt die Konfiguration automatisch. Ihr müsst sie nur noch herunterladen oder den QR-Code nutzen. Danach lässt sich das VPN sofort einsetzen.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595d7574&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595d7574" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="856" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02-1280x856.webp" alt="Wählt die Option Einzelgerät, um eine Verbindung zwischen einem mobilen Gerät oder Laptop und eurem Heimnetzwerk aufzubauen. Für Site to Site braucht es andere Einstellungen." class="wp-image-45049" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02-1280x856.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02-1536x1027.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02-768x514.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_02.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Wählt die Option Einzelgerät, um eine Verbindung zwischen einem mobilen Gerät oder Laptop und eurem Heimnetzwerk aufzubauen. Für Site-to-Site braucht es andere Einstellungen.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595d9a76&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595d9a76" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="856" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03-1280x856.webp" alt="Der QR-Code ist ideal für Smartphones. Unter Linux arbeitet ihr jedoch meist komfortabler mit der exportierten Konfigurationsdatei, die sich leicht in NetworkManager importieren lässt." class="wp-image-45050" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03-1280x856.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03-1536x1027.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03-768x514.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-wireguard_03.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Der QR-Code ist ideal für Smartphones. Unter Linux arbeitet ihr jedoch meist komfortabler mit der exportierten Konfigurationsdatei, die sich leicht in NetworkManager importieren lässt.</figcaption></figure>



<p class="wp-block-paragraph">Den Import erledigt ihr direkt über den NetworkManager am Desktop oder per Kommandozeile. Unter <a href="https://linuxundich.de/tag/gnome/" data-type="post_tag" data-id="1734">GNOME</a> geht ihr in die <em>Einstellungen</em>, dann <em>Netzwerk</em>, dort klickt ihr auf das Plus-Symbol und wählt <em>Aus Datei importieren …</em>. Danach die Datei <code>wg_config.conf</code> auswählen und importieren. Den Namen der Verbindung könnt ihr dann in den Einstellungen beliebig anpassen, ich empfehle aber, den Schnittstellennamen auf <code>wg0</code> zu setzen.</p>



<pre class="wp-block-code"><code>$ <strong>nmcli connection import type wireguard file ~/Downloads/wg_config.conf</strong>
Verbindung »wg_config« (39724859-b102-4446-bdb2-1ec60f501360) erfolgreich hinzugefügt.</code></pre>



<p class="wp-block-paragraph">Das war es schon. Ihr könnt das VPN jetzt direkt über die Quick Settings in GNOME aktivieren. Auch andere Desktopumgebungen wie KDE bieten passende Möglichkeiten. Wenn ihr prüfen möchtet, ob die Verbindung steht, installiert unter GNOME die Erweiterung <a href="https://extensions.gnome.org/extension/2983/ip-finder/">IP Finder</a>. Sie zeigt euch die öffentliche IP-Adresse mitsamt Länderflagge. Sobald dort die Flagge eures Wohnorts erscheint statt eures aktuellen Aufenthaltsorts (bspw. im Urlaub im Ausland), steht das VPN.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595dc225&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595dc225" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="856" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01-1280x856.webp" alt="Die GNOME Oberfläche erlaubt den Import von VPN Konfigurationen mit wenigen Klicks. Damit ist der Tunnel in Sekundenschnelle einsatzbereit und ohne Terminal nutzbar." class="wp-image-45051" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01-1280x856.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01-1536x1027.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01-768x514.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_01.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die GNOME-Oberfläche erlaubt den Import von VPN-Konfigurationen mit wenigen Klicks. Damit ist der Tunnel in Sekundenschnelle einsatzbereit und ohne Terminal nutzbar.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595dfa45&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595dfa45" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="856" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02-1280x856.webp" alt="Nach dem Import lässt sich der Name der Verbindung noch anpassen. Auch das Interface lässt sich umbenennen, zum Beispiel auf das klassische wg0." class="wp-image-45052" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02-1280x856.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02-1536x1027.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02-768x514.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_02.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nach dem Import lässt sich der Name der Verbindung noch anpassen. Auch das Interface lässt sich umbenennen, zum Beispiel auf das klassische wg0.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595e366b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595e366b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="822" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03-1280x822.webp" alt="Ist die Konfiguration einmal importiert, könnt ihr die VPN-Verbindung jederzeit über die Schnellzugriffe aktivieren. So bleibt euer System stets mit dem Heimnetz verbunden." class="wp-image-45053" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03-1280x822.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03-640x411.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03-1536x987.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03-768x493.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/networkmanager-wireguard_03.webp 1583w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ist die Konfiguration einmal importiert, könnt ihr die VPN-Verbindung jederzeit über die Schnellzugriffe aktivieren. So bleibt euer System stets mit dem Heimnetz verbunden.</figcaption></figure>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/wireguard-vpn-fritzbox-linux-einrichten/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Mozilla stellt Pocket ein. Plant euren Umstieg zu Wallabag und Co.</title>
		<link>https://linuxundich.de/mozilla-stellt-pocket-bookmarks-ein/</link>
					<comments>https://linuxundich.de/mozilla-stellt-pocket-bookmarks-ein/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 22 May 2025 18:25:20 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Wallabag]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45029</guid>

					<description><![CDATA[Pocket wird eingestellt. Zum Glück gibt es freie Alternativen zum Selbsthosten. So behältst du die Kontrolle über deine Daten und machst dich unabhängig von Diensten, die jederzeit vom Netz verschwinden können.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ich konnte mich mit <a href="https://www.mozilla.org/en-US/firefox/pocket/">Pocket</a> nie so richtig anfreunden. Die Idee eines „Read-it-later“-Dienstes ist in meinen Augen zwar super wichtig, aber die Umsetzung bei Pocket wirkte auf mich immer ein wenig zu geschlossen – vor allem, seit <a href="https://linuxundich.de/tag/mozilla/" data-type="post_tag" data-id="367">Mozilla</a> die Plattform nach der Übernahme 2017 zunehmend in den Firefox-Kosmos integriert hat.</p>



<p class="wp-block-paragraph">Eine Zeit lang habe ich stattdessen Omnivore ausprobiert, was einen offenen Ansatz verfolgte und auch mit einem Linux-Desktop gut zusammenspielte. Doch auch dieser Dienst wurde inzwischen <a href="https://www.heise.de/news/Spaeter-Lesen-App-Omnivore-macht-dicht-9998718.html">eingestellt</a>. Heute setze ich auf eine selbstgehostete Lösung: <a href="https://linuxundich.de/tag/wallabag/" data-type="post_tag" data-id="1652">Wallabag</a>. Die Anwendung lässt sich auf dem eigenen Server betreiben, unterstützt zahlreiche Importformate und bringt Apps und Erweiterungen für verschiedene Plattformen mit.</p>



<p class="wp-block-paragraph">Dass Mozilla Pocket nun endgültig einstellt, überrascht mich also nicht persönlich. Betroffen macht es trotzdem, denn für viele war der Dienst ein zuverlässiger Begleiter im digitalen Alltag.</p>



<h2 class="wp-block-heading">Am 8. Juli 2025 ist Schluss</h2>



<p class="wp-block-paragraph">Wie Mozilla <a href="https://support.mozilla.org/en-US/kb/future-of-pocket">mitteilt</a>, wird der Dienst zum 8. Juli 2025 offiziell abgeschaltet. Bis dahin bleibt Pocket noch wie gewohnt nutzbar, per App, Browser-Erweiterung oder Weboberfläche. Ab diesem Datum wechselt der Dienst in einen sogenannten &#8222;Export-Only-Modus&#8220;: Ihr könnt eure gespeicherten Inhalte weiterhin exportieren, aber nicht mehr nutzen oder neue Inhalte hinzufügen.</p>



<p class="has-white-color has-vivid-red-background-color has-text-color has-background has-link-color wp-elements-1 wp-block-paragraph"><strong>Wichtig:</strong> Die Frist zum Export läuft am 8. Oktober 2025 ab. Danach werden sämtliche Nutzerkonten und gespeicherte Daten gelöscht – unwiderruflich. Eine <a href="https://support.mozilla.org/en-US/kb/exporting-your-pocket-list">Anleitung</a> gibt detaillierte Informationen, wie man seine gespeicherten Daten exportieren kann.</p>



<h2 class="wp-block-heading">Mozillas Begründung zum Ende</h2>



<p class="wp-block-paragraph">Offiziell heißt es, das Nutzungsverhalten im Netz habe sich verändert. Mozilla wolle sich auf Projekte konzentrieren, die „besser zu den heutigen Surfgewohnheiten“ passen. Im Hintergrund dürfte aber vor allem eines eine Rolle spielen: Ressourcen.</p>



<p class="wp-block-paragraph">Seit der Übernahme im Jahr 2017 hatte Mozilla Pocket zwar technisch weiterentwickelt und in Firefox eingebunden, zuletzt aber immer weniger Aufmerksamkeit darauf gelenkt. Die automatische Integration in den „Neuer Tab“-Bildschirm von <a href="https://linuxundich.de/tag/firefox/" data-type="post_tag" data-id="73">Firefox</a> zeigte bereits, dass Pocket zunehmend als Content-Empfehlungsmaschine und nicht mehr als Lesezeichen-Dienst verstanden wurde.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595ed5a2&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595ed5a2" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="874" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox-1280x874.png" alt="Die Neuer-Tab-Seite von Firefox zeigt Artikelempfehlungen mit Bildern, teils als Werbung gekennzeichnet." class="wp-image-45032" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox-1280x874.png 1280w, https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox-640x437.png 640w, https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox-1536x1048.png 1536w, https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox-768x524.png 768w, https://linuxundich.de/wp-content/uploads/2025/05/pocket-startseite-firefox.png 1635w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Inhalte auf der &#8222;Neuen-Tab-Seite&#8220; von Firefox stammen von Pocket. Zum Glück kann man die Startseite von diesem ganzen Unsinn befreien. Noch.</figcaption></figure>



<p class="wp-block-paragraph">Mit dem Aus für Pocket will Mozilla diese Empfehlungssparte nun über andere Kanäle fortführen: Im Firefox-Startbildschirm, per Newsletter („Ten Tabs“) und über redaktionell kuratierte Inhalte. Ich hoffe mal stark, dass man in Firefox alle diese Inhalte weiterhin deaktivieren kann. Ich für meinen Teil will beim Öffnen eines Tabs nichts anderes sehen als eine weiße Fläche. Schon allein eine kurze Bedenkzeit zum Laden dieser Inhalte bremst beim Arbeiten aus.</p>



<h2 class="wp-block-heading">Wie ihr eure Daten rettet</h2>



<p class="wp-block-paragraph">Wenn ihr Pocket genutzt habt, solltet ihr nicht bis Juli warten, sondern eure Inhalte möglichst bald sichern. Der Export enthält: Eure Leseliste, die archivierten Artikel, Favoriten und die Notizen und Markierungen. Die Daten lassen sich als HTML-Datei exportieren, die sich lokal speichern und mit anderen Diensten weiterverarbeiten lässt. Eine direkte Migration zu Alternativen ist zwar nicht vorgesehen, aber manche Drittanbieter bieten zumindest Importfunktionen für Pocket-Exporte an. Bei Wallabag <a href="https://doc.wallabag.org/user/import/pocket/">läuft der Import</a> über die Pocket API.</p>



<h2 class="wp-block-heading">Was passiert mit Pocket Premium?</h2>



<p class="wp-block-paragraph">Wer ein kostenpflichtiges <a href="https://support.mozilla.org/en-US/kb/what-is-the-difference-between-pocket-free-and-premium-accounts">Pocket-Premium-Abo</a> abgeschlossen hat, erhält eine anteilige Rückerstattung. Die Regeln sind dabei klar:</p>



<ul class="wp-block-list">
<li>Monatsabos: Die automatische Verlängerung wird sofort gestoppt. Es fallen keine weiteren Kosten an, Rückerstattungen sind nicht vorgesehen.</li>



<li>Jahresabos: Die Abonnements werden am 8. Juli 2025 gekündigt. Der ungenutzte Zeitraum wird automatisch auf das ursprüngliche Zahlungsmittel zurückerstattet.</li>
</ul>



<p class="wp-block-paragraph">Ein manuelles Eingreifen ist in beiden Fällen nicht nötig. Ich glaube aber, dass hier kaum jemand für Pocket gezahlt haben dürfte.</p>



<h2 class="wp-block-heading">Erweiterungen und Apps: Was bleibt, was verschwindet?</h2>



<p class="wp-block-paragraph">Ab dem 22. Mai 2025 wird die Pocket-Erweiterung nicht mehr über die offiziellen Browser-Add-on-Seiten angeboten. Bereits installierte Erweiterungen bleiben zunächst bestehen, funktionieren aber nur bis zum 8. Juli. Danach verweisen sie lediglich noch auf die Export-Seite. Entfernen müsst ihr die Erweiterungen dann selbst – eine automatische Deinstallation erfolgt nicht.</p>



<p class="wp-block-paragraph">Auch die <a href="https://getpocket.com/add">Pocket-App</a> für Android- oder Apple-Smartphones und Tablets verschwindet nach dem 22. Mai aus den App Stores. Wer sie bereits installiert hat, kann sie noch bis zum 8. Oktober neu installieren. Auch wenn sie nicht automatisch vom Handy verschwindet. Nach dem offiziellen Ende ist auch hier Schluss. Ein Grund mehr, sich nach Alternativen umzusehen.</p>



<h2 class="wp-block-heading">Alternativen: Wohin jetzt?</h2>



<p class="wp-block-paragraph">Das Ende von Pocket reißt eine Lücke – gerade für all jene unter euch, die plattformübergreifend lesen, speichern und sortieren möchten, ohne sich auf datenhungrige Konzerne verlassen zu müssen. Es gibt Alternativen, die teilweise freie Software sind und mehr Kontrolle bieten:</p>



<ul class="wp-block-list">
<li><a href="https://wallabag.org/">Wallabag</a>: Eine selbst hostbare, freie Pocket-Alternative. Unterstützt Importe, Tags, Offline-Lesen und hat Apps für Android &amp; iOS.</li>



<li><a href="https://github.com/sissbruecker/linkding">Linkding</a>: Ein minimalistischer Self-Hoster für Lesezeichen, nicht speziell für „Read-it-later“, aber flexibel erweiterbar.</li>



<li><a href="https://github.com/go-shiori/shiori">Shiori</a>: Einfache, self-hostbare Lesezeichenverwaltung mit Read-it-later-Funktion und Webinterface.</li>



<li><a href="https://github.com/karakeep-app/karakeep">Karakeep</a> (ehemals Hoarder): Moderner „Read-it-later“-Dienst mit Markdown-Unterstützung und Webclipper-Erweiterung.</li>
</ul>



<p class="wp-block-paragraph">Diese Lösungen setzen teils einen eigenen Server voraus, was Aufwand bedeutet, aber auch mehr Kontrolle über eure Daten. Ich bin es mittlerweile leid, solche Dienste alle naselang zu migrieren. Neben Feedreadern hoste ich auch meinen Read-It-Later-Dienst lieber selber. Eine Liste mit weiteren Alternativen findet ihr bei <a href="https://selfh.st/alternatives/read-later/">selfh.st</a>.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595ef22f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595ef22f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="874" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox-1280x874.webp" alt="Die Weboberfläche von Wallabag listet die ungelesenen Artikel als Kacheln mit Vorschaubild und Lesedauer." class="wp-image-45033" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox-1280x874.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox-640x437.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox-1536x1049.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox-768x525.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/wallapag-firefox.webp 1600w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Auch wenn ich die Aufmachung von Wallabag bislang nicht so gut finde. Den Open-Source-Dienst kann man ohne Probleme selbst hosten. Neben der WebUI gibt es auch Apps für Android und Co.</figcaption></figure>



<h2 class="wp-block-heading">Fazit: Ein leiser Abschied mit großem Echo</h2>



<p class="wp-block-paragraph">Die Einstellung von Pocket ist mehr als nur das Ende eines Produkts. Sie erinnert uns daran, wie schnell selbst langjährig genutzte Dienste verschwinden können, selbst wenn sie von gemeinnützigen Organisationen betrieben werden. Ich habe Pocket zwar nicht selber genutzt, ich kann mir aber gut vorstellen, dass es Mozilla-User gibt, die dem Dienst nachtrauern werden.</p>



<p class="wp-block-paragraph">Die wichtigste Lehre daraus sollte sein: Setzt euch mit Selfhosting auseinander. Wer Dienste selbst betreibt, hat mehr Kontrolle über Funktionen, Daten und Zukunftssicherheit und spart auf lange Sicht oft sogar Zeit und Geld. Die freie Software-Welt bietet für praktisch jeden proprietären Dienst eine leistungsfähige Open-Source-Alternative. Nutzt sie!</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/mozilla-stellt-pocket-bookmarks-ein/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Tempo und Android Auto: So nutzt ihr Navidrome für eure Musikbibliothek im Auto</title>
		<link>https://linuxundich.de/tempo-android-auto-navidrome-streaming/</link>
					<comments>https://linuxundich.de/tempo-android-auto-navidrome-streaming/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 22 May 2025 16:27:58 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[Navidrome]]></category>
		<category><![CDATA[Streaming]]></category>
		<category><![CDATA[Subsonic]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=44988</guid>

					<description><![CDATA[Musik unterwegs hören, ganz ohne Spotify &#038; Co: Mit dem freien Musikserver Navidrome und der App Tempo bringt ihr eure eigene Sammlung ins Auto, sogar via Android Auto.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Musik ist für mich ein Stück Zuhause. Egal, ob ich am Schreibtisch sitze, mit dem Rad unterwegs bin oder im Auto längere Strecken fahre. Statt meine Sammlung in die Hände von Spotify, Apple Music oder YouTube zu legen, betreibe ich meinen eigenen Musikserver mit <a href="https://www.navidrome.org/">Navidrome</a>, einem leichtgewichtigen, quelloffenen, Subsonic-kompatiblen Server.</p>



<p class="wp-block-paragraph">Auf dem Smartphone nutze ich je nach Laune die ambitioniert entwickelte und bis ins kleinste Detail konfigurierbare, dafür aber proprietäre App <a href="https://symfonium.app">Symfonium</a> oder die Open-Source-App <a href="https://github.com/CappielloAntonio/tempo">Tempo</a>. Beide integrieren sich via Android Auto in das Display geeigneter Fahrzeuge. Bei Tempo muss man allerdings wissen, wie. Denn als Open-Source-App steht Google als Gatekeeper im Weg.</p>







<h2 class="wp-block-heading" id="warum-navidrome">Warum Navidrome?</h2>



<p class="wp-block-paragraph"><a href="https://www.navidrome.org/" data-type="link" data-id="https://www.navidrome.org/">Navidrome</a> ist ein freier Musikserver, der über das <a href="https://www.subsonic.org/pages/api.jsp">Subsonic-Protokoll</a> funktioniert. Er läuft ressourcenschonend (bei mir in einem Docker-Container) und kommt mit einem relativ modernen Web-Interface, einer umfangreichen API und Support für <a href="https://www.subsonic.org/pages/apps.jsp">zahlreiche Clients</a> für alle gängigen Betriebssysteme. Natürlich auch für Linux und Android. Der große Vorteil: Ich habe jederzeit und überall Zugriff auf meine eigene Musik, ohne dass ich Drittanbieter bezahlen oder Werbung konsumieren muss.</p>



<ul class="wp-block-list">
<li><strong>Läuft auf nahezu allem</strong>: Raspberry Pi, NAS, Server</li>



<li><strong>Standardisierte Schnittstelle</strong>: Kompatibel zu vielen <a href="https://www.subsonic.org/pages/apps.jsp">Subsonic-Clients</a></li>



<li><strong>Unterstützt mehrere Benutzer</strong>: Praktisch, wenn ihr eure Sammlung mit Familie oder WG teilt</li>



<li><strong>Transcoding</strong>: Wer mag, kann die Musik je nach Verbindung automatisch herunterrechnen lassen</li>
</ul>



<p class="wp-block-paragraph">Für mich ist <a href="https://linuxundich.de/tag/navidrome/" data-type="post_tag" data-id="2042">Navidrome die ideale Lösung</a>, weil ich meine Musik selbst tagge und verwalte, ohne dass eine Plattform mir „ähnliche Künstler“ aufdrängen oder meine Playlisten analysieren muss. Und ja, wir kommen ja alle mal in ein Alter, in dem man nicht mehr tagtäglich ein neues Album oder neue Künstler in der eigenen Musiksammlung willkommen heißt und sich daher ein Account bei Spotify und Co. auf jeden Fall lohnt. #leiderwahr</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe595f3c4a&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe595f3c4a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="864" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser-1280x864.webp" alt="Navidrome im Browser: Die Weboberfläche des Musikservers hier unter Arch Linux in Firefox." class="wp-image-44989" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser-1280x864.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser-640x432.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser-1536x1037.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser-768x518.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/navidrome-browser.webp 1600w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Navidrome im Browser: Die Weboberfläche des Musikservers hier unter Arch Linux in Firefox.</figcaption></figure>



<h2 class="wp-block-heading" id="tempo-schlichter-client-mit-klarer-linie">Tempo: Schlichter Client mit klarer Linie</h2>



<p class="wp-block-paragraph"><a href="https://github.com/CappielloAntonio/tempo">Tempo</a> ist eine native Android-App, die sich gezielt an Nutzer von Subsonic-kompatiblen Servern richtet. Playback lokal gespeicherter Musik gibt es beispielsweise nicht. Im Gegensatz zu überladenen Playern setzt Tempo auf Klarheit und Geschwindigkeit. Die App ist quelloffen, werbefrei und lässt sich unkompliziert via F-Droid oder GitHub installieren.</p>



<p class="wp-block-paragraph">Ich, wie auch die Entwickler, empfehle allerdings die Installation der <a href="https://github.com/CappielloAntonio/tempo/releases">GitHub-Version</a> über die APK-Datei, da nur sie alle Funktionen beinhaltet. Zudem hinkt die F-Droid-Version schon seit einiger Zeit hinterher. Auf der GitHub-Seite steht daher auch: &#8222;Use the GitHub version of the app for full Android Auto and Chromecast support.&#8220;</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adbe595f4164&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59600dc9&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59600dc9" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45013" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_01-461x1024.webp" alt="Die Startseite von Tempo zeigt eine Entdeckungsreise mit Albencovern und darunter die Leiste des laufenden Songs." class="wp-image-45013" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_01-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_01.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59601f3d&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59601f3d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45014" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_02-461x1024.webp" alt="Die Sammlungsansicht von Tempo listet Alben, Künstler und Genres untereinander auf." class="wp-image-45014" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_02-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_02.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59603075&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59603075" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45015" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_03-461x1024.webp" alt="Die Player-Ansicht von Tempo mit Albumcover, Titel, Fortschrittsbalken und den Wiedergabetasten." class="wp-image-45015" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_03-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_03.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe596042f1&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe596042f1" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45016" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_04-461x1024.webp" alt="Ein Info-Dialog nennt Titel, Album, Künstler, Bitrate und Dateigröße des laufenden Songs." class="wp-image-45016" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_04-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_04.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59606495&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59606495" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45017" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_05-461x1024.webp" alt="Die Transkodierungseinstellungen von Tempo mit getrennten Formaten und Bitraten für WLAN und Mobilfunk." class="wp-image-45017" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_05-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-phone_05.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Der Open-Source-Client für Subsonic-Server wie Navidrome bietet alle grundlegenden Funktionen zum Streamen der eigenen Musiksammlung.</figcaption></figure>



<p class="wp-block-paragraph">Für Symfonium muss man hingegen nach einer kurzen Testphase eine lebenslang gültige Lizenz erwerben. Mit einer mindestens 7 Euro großen <a href="https://ko-fi.com/tolriq">Spende</a> kostet diese allerdings nicht die Welt. Zudem kümmert sich der Entwickler regelmäßig um seine App. Das Changelog der zuverlässig eintrudelnden Updates ist meist zu lang zum Lesen.</p>



<h3 class="wp-block-heading" id="funktionen-von-tempo">Funktionen</h3>



<ul class="wp-block-list">
<li>Übersichtliche Navigation nach Künstlern, Alben, Genres oder Jahrzehnten</li>



<li>Gapless Playback für nahtloses Hören (wichtig bei Live-Alben)</li>



<li>Playlist-Verwaltung direkt in der App</li>



<li>Unterstützung von Last.fm-Scrobbling</li>



<li>Chromecast-Integration</li>



<li>Android Auto-Support</li>
</ul>



<h2 class="wp-block-heading" id="android-auto-mit-tempo-nutzen">Android Auto mit Tempo nutzen</h2>



<p class="wp-block-paragraph">Damit Tempo im Auto funktioniert, muss Android Auto nicht nur auf dem Smartphone installiert sein, sondern auch bestimmte Einstellungen freigegeben werden. Gerade bei Apps, die wie Tempo nicht über Googles Play Store kommen, ist das etwas versteckt.</p>



<h3 class="wp-block-heading" id="entwicklermodus-in-android-auto-aktivieren">Entwicklermodus für Android Auto aktivieren</h3>



<p class="wp-block-paragraph">Zuerst müsst ihr den <a href="https://developer.android.com/training/cars/testing?hl=de">Entwicklermodus von Android Auto</a> aktivieren, damit Tempo als App auf dem Display im Auto erscheint. Geht dazu auf eurem Handy in die Android-Auto-Einstellungen:</p>



<ul class="wp-block-list">
<li>Android 10 oder neuer: <em>Einstellungen</em> » <em>Apps</em> » <em>Alle X Apps ansehen</em> » <em>Android Auto</em> » <em>Zusätzliche Einstellungen in der App</em></li>



<li>Android 9 oder älter: Direkt in der Android-Auto-App unter <em>Menü</em> » <em>Einstellungen</em></li>
</ul>



<p class="wp-block-paragraph">Scrollt dort ganz nach unten und tippt zehnmal auf die Versionsnummer. Ähnliches kennt man ja vom Entwicklermodus von Android selbst. Danach erscheint die Frage, ob ihr die Entwickleroptionen aktivieren wollt. Bestätigt mit <em>OK</em>. Öffnet danach das <em>Dreipunkt-Menü</em> oben rechts und wählt dort <em>Entwicklereinstellungen</em>.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adbe59607584&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59608307&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59608307" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44994" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_01-461x1024.webp" alt="Die Android-Einstellungen mit dem markierten Eintrag Apps." class="wp-image-44994" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_01-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_01.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5960b233&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5960b233" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44995" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_02-461x1024.webp" alt="Die Liste der zuletzt geöffneten Apps mit dem Eintrag Alle Apps ansehen." class="wp-image-44995" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_02-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_02.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5962615f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5962615f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44997" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_03-461x1024.webp" alt="Die App-Info von Android Auto mit dem Eintrag Zusätzliche Einstellungen in der App." class="wp-image-44997" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_03-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_03.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59627f4c&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59627f4c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44998" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_04-461x1024.webp" alt="Die Versions- und Berechtigungsinformationen von Android Auto, auf die zehnmal getippt wird." class="wp-image-44998" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_04-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_04.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5962912d&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5962912d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44996" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_05-461x1024.webp" alt="Im Menü von Android Auto ist der Eintrag Entwicklereinstellungen hervorgehoben." class="wp-image-44996" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_05-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_05.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5962a26f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5962a26f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="461" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="44999" src="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_06-461x1024.webp" alt="In den Entwicklereinstellungen ist der Haken bei Unbekannte Quellen gesetzt." class="wp-image-44999" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_06-461x1024.webp 461w, https://linuxundich.de/wp-content/uploads/2025/05/android-auto-developer_06.webp 540w" sizes="auto, (max-width: 461px) 100vw, 461px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">In den Android-Auto-Einstellungen tippt ihr zehnmal auf die Versionsnummer, um den Entwicklermodus zu aktivieren – nötig für alternative Medien-Apps wie Tempo.</figcaption></figure>



<p class="wp-block-paragraph">Aktiviert in diesem Dialog nun die Option <em>Unbekannte Quellen</em>. Damit erlaubt ihr auch alternativen Apps wie eben Tempo den Zugriff auf Android Auto. Auch ohne dass die Entwickler eine offizielle Play-Store-Zertifizierung erworben haben, was für Open-Source-Projekte nicht ganz so einfach wäre.</p>



<p class="has-cyan-bluish-gray-background-color has-background wp-block-paragraph"><strong>Hinweis:</strong> Die Aktivierung müsst ihr nur einmal durchführen. Danach wird Tempo automatisch als Medien-App erkannt, sobald euer Smartphone per Kabel oder kabellos mit dem Auto verbunden ist.</p>



<h3 class="wp-block-heading" id="tempo-installieren">Tempo auf dem Smartphone installieren</h3>



<p class="wp-block-paragraph">Da Tempo aktuell nicht im Google Play Store zu finden ist, installiert ihr die App manuell: Über <a href="https://f-droid.org/de/packages/com.cappielloantonio.notquitemy.tempo/">F-Droid</a>, andere Open-Source-Market-Clients wie Droid-ify oder direkt via <a href="https://github.com/CappielloAntonio/tempo/releases">GitHub-Releases</a>. Achtet darauf, dass in den Android-Einstellungen die <em>Installation aus unbekannten Quellen</em> für den jeweiligen Browser oder Dateimanager erlaubt ist.</p>



<p class="has-cyan-bluish-gray-background-color has-background wp-block-paragraph"><strong>Hinweis:</strong> Wie oben bereits erwähnt, benötigt ihr die GitHub-Version (aktuell Tempo 3.9.0), wenn ihr Android Auto verwenden wollt. Mit Tempo 3.8.1 via F-Droid erscheint Tempo zwar auch unter den Android-Auto-Apps, beim Start erscheint allerdings nur ein leerer Bildschirm. Hier ist der entsprechende <a href="https://github.com/CappielloAntonio/tempo/issues/218">Bug</a> dazu.</p>



<p class="wp-block-paragraph">Nach dem ersten Start gebt ihr die <em>URL eures Subsonic-Servers</em>, Benutzernamen und Passwort an. Tempo verbindet sich dann direkt mit eurer Sammlung. Selbstverständlich unterstützt Tempo auch andere Server, die das Subsonic-Protokoll nutzen. Ich für meinen Teil habe die App zusammen mit meinem Navidrome-Server ausprobiert, was ohne Probleme funktioniert.</p>



<h3 class="wp-block-heading" id="optional-transcoding-aktivieren">Optional: Transcoding in Tempo aktivieren</h3>



<p class="wp-block-paragraph">Tempo unterstützt (wenn euer Server das erlaubt) auch Transcoding. Gerade im Auto kann es sinnvoll sein, FLACs oder hochauflösende Formate als MP3 mit 192 oder 256 kbit/s zu streamen. Das spart (zumindest bei mir) begrenztes Datenvolumen und läuft auch bei wackliger Verbindung stabil. Die entsprechenden Einstellungen findet ihr in den Settings von Tempo. In meinem Fall musste ich innerhalb von Navidrome das Transcoding nicht gesondert konfigurieren.</p>



<h3 class="wp-block-heading" id="mit-tempo-auf-dem-handy-und-im-auto">Mit Tempo auf dem Handy und im Auto</h3>



<p class="wp-block-paragraph">Mit Navidrome und Tempo gibt es eine komplett freie Lösung für die mobile Musiknutzung unter Android, inklusive Integration ins Auto via Android Auto. Man ist komplett unabhängig von Streamingdiensten, kann seine eigene Musik in hoher Qualität hören und umgeht vollständig Tracking, Werbung oder Abozwang.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adbe5962b01a&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5962ce8a&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5962ce8a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45001" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_01.webp" alt="Der App-Starter von Android Auto zeigt Tempo zwischen den übrigen Medien-Apps, rechts läuft die Navigation." class="wp-image-45001" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_01.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_01-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_01-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963018b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963018b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45002" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_02.webp" alt="Tempo spielt auf dem Auto-Display einen Song ab, daneben bleibt die Karte sichtbar." class="wp-image-45002" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_02.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_02-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_02-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe596323ec&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe596323ec" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45003" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_03.webp" alt="Die Liste der markierten Alben in Tempo auf dem Auto-Display." class="wp-image-45003" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_03.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_03-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_03-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963338b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963338b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="45000" src="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_04.webp" alt="Die Navigation nimmt den größten Teil des Displays ein, rechts läuft Tempo als schmale Player-Spalte." class="wp-image-45000" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_04.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_04-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/tempo-android-auto_04-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Sind die Entwickleroptionen für Android Auto einmal aktiviert, könnt ihr Tempo auch im Auto verwenden. Der Open-Source-Player erscheint automatisch unter den Auto-Apps.</figcaption></figure>



<p class="wp-block-paragraph">Gerade wer seine Sammlung über Jahre gepflegt hat und Wert auf Datenschutz legt, findet hier eine schlanke, respektvolle Alternative zur Cloud. Und das Beste: Tempo macht auf dem Auto-Display eine richtig gute Figur: Schlicht, funktional und auf das Wesentliche reduziert.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/tempo-android-auto-navidrome-streaming/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Umzug auf eine AVM Fritzbox 5690 Pro: Von Fritzbox zu Fritzbox</title>
		<link>https://linuxundich.de/umzug-avm-fritzbox-5690-pro/</link>
					<comments>https://linuxundich.de/umzug-avm-fritzbox-5690-pro/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sat, 17 May 2025 16:02:19 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Internetzugang]]></category>
		<category><![CDATA[Router]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=44953</guid>

					<description><![CDATA[Die Fritzbox 5690 Pro überzeugt mit Dual-Modem, Wi-Fi 7 und Zigbee. VPN via WireGuard ist möglich, Matter allerdings bislang nicht nutzbar, trotz entsprechender Ankündigungen seitens AVM. Abwarten heißt es auch bei Labor-Firmwares.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Meine bisherige <a href="https://fritz.com/produkte/archiv/fritzbox-7580">Fritzbox 7580</a> hat zuletzt immer häufiger Probleme gemacht. Das WLAN wurde instabil, Smartphones, Tablets und andere auf das drahtlose Netz angewiesene Geräte im Haus verloren mehrmals täglich die Verbindung und wechselten (so vorhanden) ohne Vorwarnung ins Mobilfunknetz. Nach ein paar Minuten tauchte das WLAN wieder auf – nur um wenig später erneut abzubrechen.</p>



<p class="wp-block-paragraph">Trotz aller <a href="https://fritz.com/apps/knowledge-base/FRITZ-Box-7580/27_Haufige-Abbruche-der-WLAN-Verbindung/">Tipps aus der AVM-Wissensdatenbank</a> und unzähliger Anpassungen in den Einstellungen änderte sich daran nichts. Ich vermute ein thermisches Problem: Nach Abschalten und einer Abkühlphase funktioniert das WLAN zunächst stabil, doch je länger die Fritzbox wieder in Betrieb war, desto häufiger traten die Aussetzer erneut auf.</p>







<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963af16&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963af16" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="855" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01-1280x855.webp" alt="Modernes Design, aktuelle Technik: Die Fritzbox 5690 Pro ist für DSL und Glasfaser ausgelegt und bringt mit Wi-Fi 7 sowie Zigbee zukunftstaugliche Standards direkt mit." class="wp-image-44955" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01-1280x855.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01-1536x1026.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01-768x513.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_01.webp 1599w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Modernes Design, aktuelle Technik: Die FRITZ!Box 5690 Pro ist für DSL und Glasfaser ausgelegt und bringt mit Wi-Fi 7 sowie Zigbee zukunftstaugliche Standards direkt mit.</figcaption></figure>



<h2 class="wp-block-heading" id="warum-die-wahl-auf-die-fritzbox-5690-pro-fiel">Warum die Wahl auf die Fritzbox 5690 Pro fiel</h2>



<p class="wp-block-paragraph">Ein kompletter Neustart war also nötig. Allzu sehr hat mich das nicht gestört – die 7580 war ohnehin ein eher enttäuschendes Modell. Zwar ursprünglich von AVM als Flaggschiff gedacht, blieb sie in Sachen Software-Updates und Funktionen schnell auf der Strecke. <a href="https://linuxundich.de/wireguard-vpn-fritzbox-linux-einrichten/">WireGuard als moderne VPN-Lösung</a> wurde zum Beispiel nie integriert. Das war für mich ein echter Minuspunkt, da ich mir nach der <a href="https://stadt-bremerhaven.de/avm-fritzbox-bekommt-wireguard-integration/">Ankündigung seitens AVM</a> einen wesentlich vereinfachten und verbesserten VPN-Zugang zur Fritzbox von Linux-Systemen aus versprochen hatte.</p>



<p class="wp-block-paragraph">Da bei mir – eventuell – in unbestimmter Zukunft ein Wechsel auf Glasfaser ansteht, fiel die Wahl auf die <a href="https://fritz.com/products/fritz-box-5690-pro-20003043">AVM Fritzbox 5690 Pro</a>. Der Router ist für DSL und Glasfaser ausgelegt und somit bestens geeignet für den Übergang. Wer wie ich aktuell noch DSL nutzt, aber mittelfristig auf Glasfaser umsteigen will, muss so nicht erneut Geld in die Hand nehmen. Preislich liegt die neue Fritzbox bei rund 300 Euro – kein Schnäppchen, aber dank der Dual-Modem-Ausstattung irgendwie noch zu vertreten.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963c6be&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963c6be" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="855" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02-1280x855.webp" alt="Links: Der Einschub für AON- und GPON-SFP-Module für Glasfaseranschlüsse. Rechts: der klassische DSL-Port. So ist die Box für beide Zugänge vorbereitet." class="wp-image-44956" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02-1280x855.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02-1536x1026.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02-768x513.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_02.webp 1599w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Links: Der Einschub für AON- und GPON-SFP-Module für Glasfaseranschlüsse. Rechts: der klassische DSL-Port. So ist die Box für beide Zugänge vorbereitet.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963d98c&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963d98c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="855" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03-1280x855.webp" alt="Das Rückgrat fürs Heimnetz: Vier Gigabit-Ports plus ein schneller 2,5-Gbit/s-Anschluss. Der USB-3.1-Port eignet sich für Speicher oder Smart-Home-Erweiterungen." class="wp-image-44957" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03-1280x855.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03-1536x1026.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03-768x513.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/avm-fritzbox-5690-pro_03.webp 1599w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Das Rückgrat fürs Heimnetz: Vier Gigabit-Ports plus ein schneller 2,5-Gbit/s-Anschluss. Der USB-3.1-Port eignet sich für Speicher oder Smart-Home-Erweiterungen.</figcaption></figure>



<h2 class="wp-block-heading" id="reibungsloser-umzug-von-alter-zu-neuer-fritzbox">Reibungsloser Umzug von alter zu neuer Fritzbox</h2>



<p class="wp-block-paragraph">Der Wechsel verlief erstaunlich problemlos. Die Export- und Importfunktion der <a href="https://linuxundich.de/tag/fritzbox/" data-type="post_tag" data-id="756">Fritzbox</a> hat zuverlässig funktioniert: Zugangsdaten für den DSL-Anschluss wurden korrekt übernommen, ebenso meine Netzwerkkonfiguration. In meinem Netzwerk läuft ein Pi-hole zur netzweiten Werbeblockade – das funktionierte sofort wieder wie gewohnt. Auch DynDNS, Portweiterleitungen und das über Google synchronisierte Telefonbuch wurden korrekt übertragen.</p>



<p class="wp-block-paragraph">Nur bei den DECT-Geräten wie dem Fritzfon C6 (nutze ich eigentlich nur noch zum Bestätigen von Einstellungen in der Fritzbox – meine Festnetznummer kennen und nutzen noch genau zwei Personen) sowie bei den Smart-Home-Komponenten wie Steckdosen und Heizkörperthermostaten musste ich einmal manuell Hand anlegen. Die Geräte ließen sich jedoch schnell wieder neu verbinden. Gruppen und Schaltpläne blieben erhalten, sodass der Aufwand minimal war.</p>



<h2 class="wp-block-heading" id="was-die-5690-pro-kann-und-was-noch-nicht">Was die 5690 Pro kann – und was (noch) nicht</h2>



<p class="wp-block-paragraph">Technisch bietet die 5690 Pro vieles, was man aktuell erwarten darf. Mit Wi-Fi 7, Zigbee und DECT-ULE ist die Ausstattung zukunftssicher. Vor allem <a href="https://fritz.com/blogs/fritz-entdecken/smart-home-zigbee-im-fritz-smart-home">Zigbee</a> ist interessant für alle, die smarte Geräte unterschiedlicher Hersteller direkt über die Fritzbox steuern wollen. Ich habe derzeit noch keine Zigbee-Hardware im Einsatz, bin aber gespannt, wie gut das Zusammenspiel in der Praxis funktioniert.</p>



<p class="wp-block-paragraph">Etwas ernüchternd ist allerdings die Situation rund um den Smart-Home-Standard Matter. AVM hatte <a href="https://www.heise.de/news/AVM-laessts-krachen-Fritzboxen-bekommen-Wi-Fi-7-Zigbee-und-Matter-7524241.html">Matter-Support für die FRITZ!Box 5690 Pro angekündigt</a>, doch bislang ist davon rein gar nichts zu sehen. Auf der Produktseite fehlt inzwischen sogar jede Erwähnung von Matter, und wer sich informieren will, muss sich durch ältere Pressemitteilungen klicken – zum Beispiel die von <a href="https://about.fritz.com/presse/presseinformationen/2024/05/avm-auf-der-anga-com-2024">AVM zur ANGA COM 2024</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Fritzbox 5690 Pro: Triband-Fritzbox für Fiber und DSL mit Wi-Fi 7 und Zigbee</strong> … Dank der Unterstützung von Zigbee, DECT ULE und zukünftig auch Matter können zusätzlich zu den smarten FRITZ!-Produkten viele Geräte anderer Hersteller integriert werden. – AVM, 13.05.2024</p>
</blockquote>



<h2 class="wp-block-heading" id="support-fur-matter-grosses-fragezeichen">Support für Matter? Großes Fragezeichen</h2>



<p class="wp-block-paragraph">Wer schon jetzt <a href="https://fritz.com/pages/matter-mit-fritz">Matter mit AVM-Geräten</a> in sein Smart Home einbinden möchte, ist auf das zusätzliche <a href="https://fritz.com/products/fritz-smart-gateway-20003012">FRITZ!Smart Gateway</a> angewiesen. Das kommt für mich aktuell nicht infrage – die nötige Hardware steckt ja bereits in der 5690 Pro. Es wäre wünschenswert, wenn AVM hier bald nachliefert. Irgendwie habe ich allerdings Zweifel daran: Die 5690 Pro war ewig angekündigt, aber lange nicht im Handel erhältlich. Irgendwie ist da der Wurm drin.</p>



<p class="wp-block-paragraph">Ein weiteres Fragezeichen steht hinter den Labor-Firmwares. AVM hatte zwischenzeitlich <a href="https://www.deskmodder.de/blog/2024/12/11/fritzbox-5690-pro-mit-einem-labor-update-7-90-117707-und-einigen-verbesserungen">eine Labor-Version für die 5690 Pro</a> veröffentlicht, aktuell gibt es jedoch <a href="https://fritz.com/pages/fritz-labor">keine neue Testversion</a>. Offenbar wurde das Programm mit dem offiziellen Release von <a href="https://linuxundich.de/tag/fritzos/" data-type="post_tag" data-id="1172">FRITZ!OS 8.0</a> eingestellt. Wer also gerne neue Funktionen ausprobiert, muss sich bei den Boxen der 7x90er-Reihe umsehen. Finde ich persönlich schade, da ich aus persönlichem und beruflichem Interesse ganz gerne die Labor-Firmwares austeste.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe5963f308&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe5963f308" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="860" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01-1280x860.webp" alt="FRITZ!OS 8.03 ist aktuell – aber ohne Labor-Firmware. Wer experimentieren möchte, muss sich derzeit mit dem offiziellen Release begnügen." class="wp-image-44958" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01-1280x860.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01-640x430.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01-1536x1032.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01-768x516.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_01.webp 1596w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">FRITZ!OS 8.03 ist aktuell – aber ohne Labor-Firmware. Wer experimentieren möchte, muss sich derzeit mit dem offiziellen Release begnügen.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe596404b4&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe596404b4" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="860" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02-1280x860.webp" alt="Matter ist bisher ein leeres Versprechen: In den Einstellungen der Fritzbox 5690 Pro fehlt Matter noch. Aktuelle Infos von AVM dazu sind rar." class="wp-image-44959" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02-1280x860.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02-640x430.webp 640w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02-1536x1032.webp 1536w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02-768x516.webp 768w, https://linuxundich.de/wp-content/uploads/2025/05/fritzbox-fritzos8_02.webp 1596w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Matter ist bisher ein leeres Versprechen: In den Einstellungen der Fritzbox 5690 Pro fehlt Matter noch. Aktuelle Infos von AVM dazu sind rar.</figcaption></figure>



<h2 class="wp-block-heading" id="fazit-nach-den-ersten-tagen">Fazit nach den ersten Tagen</h2>



<p class="wp-block-paragraph">Die Fritzbox 5690 Pro läuft bei mir bisher stabil und zuverlässig. Der Umzug verlief erstaunlich einfach, die Konfiguration war schnell wieder einsatzbereit. Dass sich die Box für DSL und Glasfaser gleichermaßen eignet, macht sie besonders flexibel. Im Paket liegen zwei SFP-Module für <a href="https://de.wikipedia.org/wiki/Active_Optical_Network">AON-</a> und <a href="https://de.wikipedia.org/wiki/Passive_Optical_Network">GPON-Glasfaseranschlüsse</a>. Die aktuellen Standards werden also unterstützt, <a href="https://xkcd.com/927/">doch wie immer</a>: Nach dem Standard kommt der nächste Standard.</p>



<p class="wp-block-paragraph">Wi-Fi 7 ist vorhanden, und neue Smartphones verbinden sich auch darüber. In der Praxis ist bei mir die Datenrate via WLAN allerdings gar nicht so viel höher, da ja oft durch Wände hindurch gefunkt werden muss. Da ist dann bei den hohen Frequenzen von Wi-Fi 7 schnell Schluss mit sehr hohem Datendurchsatz. Der integrierte Switch unterstützt immerhin Gigabit-Ethernet und über den kombinierten LAN-/WAN-Port einmal 2,5-Gigabit. Der USB-Anschluss arbeitet mit USB 3.1. Wer einfach nur eine externe USB-Festplatte ins Netz stellen möchte, ist damit vermutlich sogar happy.</p>



<p class="wp-block-paragraph">Es gibt allerdings noch Baustellen: Die Unterstützung für Matter fehlt bislang, und experimentierfreudige Nutzer müssen auf Labor-Updates verzichten. Trotzdem bin ich unterm Strich zufrieden. Die 5690 Pro macht einen soliden Eindruck – auch wenn AVM bei Smart-Home-Standards gern etwas schneller vorankommen dürfte. <em>Erst mit Matter wird die Box allerdings so richtig komplett.</em> Dann lässt sich die Fritzbox auch wieder in <a href="https://fritz.com/apps/service/matter-mit-fritz/3777_FRITZ-Smart-Home-per-Google-Home-App-in-Matter-Netzwerk-einbinden">Google Home einbinden</a>. Etwas, das ich seit dem <a href="https://www.deskmodder.de/blog/2024/09/04/fritzbox-skill-fuer-alexa-und-google-home-eingestellt/">Ende von FRITZ! Smart Home in Alexa und Google Home</a> wirklich vermisse.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/umzug-avm-fritzbox-5690-pro/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Docker-Container einfach aktuell halten mit Dockcheck</title>
		<link>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/</link>
					<comments>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 09:00:53 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Homelab]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=44233</guid>

					<description><![CDATA[Docker-Container aktuell halten ohne Web-GUI? Dockcheck erledigt Updates und Aufräumen direkt im Terminal!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer Container mit Docker betreibt, steht regelmäßig vor der Aufgabe, Images zu aktualisieren und alte, ungenutzte Versionen aufzuräumen. Viele setzen dafür auf Tools mit Web-Oberfläche wie <a href="https://www.portainer.io/">Portainer</a> oder <a href="https://dockge.kuma.pet/">Dockge</a>. Ich finde das Helfer-Skript <a href="https://github.com/mag37/dockcheck">Dockcheck</a> allerdings praktischer: Es läuft im Terminal, aktualisiert Container automatisiert und räumt in einem Rutsch auf, ohne dass ich mich durch Menüs klicken muss.</p>







<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59645c09&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59645c09" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="864" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/dockge-1280x864.webp" alt="Bei Dockge müsste man jedes Update von Hand anstoßen und wird auch nicht über neue Aktualisierungen informiert." class="wp-image-44244" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/03/dockge-1280x864.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/03/dockge-640x432.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/dockge-768x519.webp 768w, https://linuxundich.de/wp-content/uploads/2025/03/dockge.webp 1469w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Bei Dockge müsste man jedes Update von Hand anstoßen und wird auch nicht über neue Aktualisierungen informiert.</figcaption></figure>



<h2 class="wp-block-heading" id="installation-von-dockcheck">Installation von dockcheck</h2>



<p class="wp-block-paragraph">Dockcheck benötigt lediglich eine laufende Docker-Installation inklusive Docker Compose (als Plugin oder standalone) sowie einige kleinere Abhängigkeiten wie <code>jq</code> und <code>regclient/regctl</code>. Fehlende Pakete installiert das Skript bei Bedarf selbst oder gibt Hinweise dazu aus.</p>



<p class="wp-block-paragraph">Die Installation ist denkbar einfach:</p>



<pre class="wp-block-code"><code>$ <strong>curl -L https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh -o ~/.local/bin/dockcheck.sh</strong>
$ <strong>chmod +x ~/.local/bin/dockcheck.sh</strong></code></pre>



<p class="wp-block-paragraph">Anschließend könnt ihr das Skript direkt aufrufen:</p>



<pre class="wp-block-code"><code>$ <strong>dockcheck.sh -h</strong></code></pre>



<p class="has-pale-cyan-blue-background-color has-background wp-block-paragraph"><strong>Info:</strong> Dazu muss der Ordner <code>~/.local/bin</code> natürlich in der <code>$PATH</code>-Variable enthalten sein. Ergänzt bei Bedarf die Pfadangabe in eurer <code>~/.bashrc</code> oder einer anderen passenden Konfigurationsdatei.</p>



<h2 class="wp-block-heading" id="nutzung-von-dockcheck">Nutzung von dockcheck</h2>



<p class="wp-block-paragraph">Dockcheck überprüft die installierten Container-Images und aktualisiert sie bei Bedarf. Mit der Option <code>-x</code> nutzt Dockcheck mehrere Prozesse, was die Geschwindigkeit ganz wesentlich erhöht. Ein einfaches Update aller Container sieht so aus:</p>



<pre class="wp-block-code"><code>### Mit Informationen und Nachfragen:
$ <strong>dockcheck.sh -x 5</strong>

### Alle Container automatisiert aktualisieren:
$ <strong>dockcheck.sh -y -p -x 5</strong></code></pre>



<p class="wp-block-paragraph">Dabei bewirken die Parameter:</p>



<ul class="wp-block-list">
<li><code>-y</code>: Automatische Updates ohne Rückfragen.</li>



<li><code>-p</code>: Bereinigt alte, nicht mehr genutzte Images nach dem Update.</li>



<li><code>-x N</code>: Parallele Update-Prozesse (Standard: 1, kann für schnellere Updates erhöht werden).</li>
</ul>



<p class="wp-block-paragraph">Möchtet ihr bestimmte Container ausschließen, könnt ihr die Option <code>-e</code> nutzen. Das ist praktisch, wenn bei einem wichtigen Projekt größere Updates anstehen oder ein Container einfach nie aktualisiert werden soll.</p>



<pre class="wp-block-code"><code>$ <strong>dockcheck.sh -x 5 -e nextcloud,withings-gc-bridge</strong>
Excluding these names:
nextcloud
withings-gc-bridge

&#91;##################################################] 31/31 

Containers on latest version:
authelia
changedetection-playwright-chrome-1
...
wallabag-wallabag-1

Containers with updates available:
1) changedetection
2) immich_server

Choose what containers to update.
Enter number(s) separated by comma, &#91;a] for all - &#91;q] to quit: </code></pre>



<p class="wp-block-paragraph">Weitere praktische Optionen sind:</p>



<ul class="wp-block-list">
<li><code>-d N</code>: Nur Images aktualisieren, die mindestens N Tage alt sind.</li>



<li><code>-s</code>: Auch gestoppte Container prüfen.</li>
</ul>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbe59647de7&quot;}" data-wp-interactive="core/image" data-wp-key="6adbe59647de7" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1183" height="936" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/dockcheck.webp" alt="Mit nur einem Kommando prüft und aktualisiert Dockcheck alle aktiven Docker-Container, was die Verwaltung des eigenen Homelabs wesentlich vereinfacht. " class="wp-image-44234" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/03/dockcheck.webp 1183w, https://linuxundich.de/wp-content/uploads/2025/03/dockcheck-640x506.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/dockcheck-768x608.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Mit nur einem Kommando prüft und aktualisiert Dockcheck alle aktiven Docker-Container, was die Verwaltung des eigenen Homelabs wesentlich vereinfacht. </figcaption></figure>



<h2 class="wp-block-heading" id="updates-im-blick-behalten">Updates im Blick behalten</h2>



<p class="wp-block-paragraph">Dockcheck macht das Aktualisieren von Docker-Containern sehr einfach – vielleicht aber fast schon zu einfach. Das Skript installiert neue Container-Images ohne weitere Prüfung. Falls ein Update zu Problemen führt oder manuelle Anpassungen erfordert, bekommt ihr das nicht direkt mit. Daher empfiehlt es sich, News-Quellen wie <a href="https://selfh.st">This Week in Self-Hosted</a> im Auge zu behalten, um über Änderungen informiert zu bleiben und Dockcheck nicht einfach jeden Tag blind anzuwerfen.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
