<?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>NET73</title>
	<atom:link href="https://net73.de/feed/" rel="self" type="application/rss+xml" />
	<link>https://net73.de</link>
	<description>Techblog, Freizeitblog &#38; Webhosting</description>
	<lastBuildDate>Tue, 16 Dec 2025 19:21:15 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://net73.de/wp-content/uploads/2025/11/favicon512-150x150.png</url>
	<title>NET73</title>
	<link>https://net73.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Workflowy &#8211; mein digitales BuJo</title>
		<link>https://net73.de/workflowy-mein-digitales-bujo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=workflowy-mein-digitales-bujo</link>
					<comments>https://net73.de/workflowy-mein-digitales-bujo/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Tue, 16 Dec 2025 19:21:14 +0000</pubDate>
				<category><![CDATA[Organisation]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3691</guid>

					<description><![CDATA[<p>Wer sich im Dickicht moderner Produktivitäts-Suiten verliert, sehnt sich oft nach der Einfachheit von Stift und Papier zurück. Der Outliner Workflowy verspricht genau das: Eine radikale Reduktion auf Text, die sich durch eine unendliche Verschachtelungstiefe überraschend gut als digitales Bullet Journal eignet. Der Markt für Task-Manager und Notiz-Apps ist gesättigt. Während diverse Tools versuchen, &#8222;Alles-Könner&#8220; [&#8230;]</p>
<p>The post <a href="https://net73.de/workflowy-mein-digitales-bujo/">Workflowy – mein digitales BuJo</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image alignleft size-large is-resized"><a href="https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x.png"><img fetchpriority="high" decoding="async" width="873" height="1024" src="https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-873x1024.png" alt="" class="wp-image-3693" style="aspect-ratio:0.8525452285351581;width:243px;height:auto" srcset="https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-873x1024.png 873w, https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-256x300.png 256w, https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-768x901.png 768w, https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-1309x1536.png 1309w, https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x-1745x2048.png 1745w, https://net73.de/wp-content/uploads/2025/12/CleanShot-2025-12-16-at-19.56.19@2x.png 2042w" sizes="(max-width: 873px) 100vw, 873px" /></a></figure>



<p>Wer sich im Dickicht moderner Produktivitäts-Suiten verliert, sehnt sich oft nach der Einfachheit von Stift und Papier zurück. Der Outliner <a href="https://workflowy.com" title="">Workflowy</a> verspricht genau das: Eine radikale Reduktion auf Text, die sich durch eine unendliche Verschachtelungstiefe überraschend gut als digitales Bullet Journal eignet.</p>



<p>Der Markt für Task-Manager und Notiz-Apps ist gesättigt. Während diverse Tools versuchen, &#8222;Alles-Könner&#8220; zu sein und den Nutzer mit Datenbanken, Kanban-Boards und Kalender-Ansichten konfrontieren, geht Workflowy den entgegengesetzten Weg. Die App existiert seit über einem Jahrzehnt und hat sich kaum verändert – und das ist ihr größtes Verkaufsargument.</p>



<p>Workflowy ist im Kern ein zoombarer Outliner. Es gibt keine Ordner, keine separaten Dokumente und keine verschiedenen Ansichten. Es gibt nur eine einzige, unendliche Liste.</p>



<h2 class="wp-block-heading">Das technische Konzept: Die fraktale Liste</h2>



<p>Die Benutzeroberfläche von Workflowy ist denkbar spartanisch. Sie präsentiert sich als weißes Blatt mit Aufzählungspunkten (Bullets). Der entscheidende Unterschied zu einer herkömmlichen Textverarbeitung liegt in der Hierarchie der Datenknoten.</p>



<p>Jeder Listenpunkt in Workflowy ist gleichzeitig ein potenzielles Dokument. Durch einen Klick auf einen Punkt zoomt die Ansicht in diesen Punkt hinein („Hoisting“), und er wird zur Überschrift einer neuen Seite. Dieser Vorgang lässt sich ad infinitum wiederholen.</p>



<p>Dieses Konzept der fraktalen Verschachtelung löst ein fundamentales Problem der Informationsorganisation: Die Trennung zwischen Struktur und Inhalt entfällt. Ein Projekt ist ein Listenpunkt. Eine Aufgabe ist ein Listenpunkt. Eine Notiz ist ein Listenpunkt.</p>



<h2 class="wp-block-heading">Adaption des Bullet Journals (BuJo)</h2>



<p>Für Anwender der <em>Bullet Journal</em>-Methode nach Ryder Carroll bietet diese Architektur eine ideale digitale Entsprechung. Das analoge BuJo lebt von &#8222;Rapid Logging&#8220; (schnelles Erfassen) und der Migration von Aufgaben. Workflowy bildet diese Prozesse fast reibungslos digital ab.</p>



<h3 class="wp-block-heading">1. Rapid Logging und Daily Log</h3>



<p>Im analogen Journal werden Aufgaben, Termine und Notizen untereinander weggeschrieben. In Workflowy lässt sich dies über einen simplen Inbox-Knoten oder einen Datums-Knoten abbilden. Dank der Tastaturkürzel (Shortcuts) ist die Eingabegeschwindigkeit vergleichbar mit dem Schreiben auf Papier.</p>



<h3 class="wp-block-heading">2. Collections und Indexierung</h3>



<p>Das Problem analoger Notizbücher ist oft das Wiederfinden von thematischen Sammlungen (Collections). Workflowy ersetzt das manuelle Inhaltsverzeichnis durch seine Suchfunktion und die Möglichkeit, Knotenpunkte mittels Drag-and-Drop sofort in thematische Oberkategorien zu verschieben.</p>



<h3 class="wp-block-heading">3. Migration und Fokus</h3>



<p>Ein Kernaspekt des Bullet Journals ist das Übertragen unerledigter Aufgaben auf den nächsten Tag oder Monat. In Workflowy entfällt das Abschreiben. Stattdessen werden Knoten verschoben.</p>



<p>Die Zoom-Funktion unterstützt dabei den Fokus: Wer am Daily Log arbeitet, zoomt in den heutigen Tag und blendet den Rest des Notizbuches aus. Dies reduziert die kognitive Last (Cognitive Load) erheblich, da visuelles Rauschen eliminiert wird.</p>



<h2 class="wp-block-heading">Funktionsumfang und Features</h2>



<p>Trotz des Minimalismus bietet Workflowy Funktionen, die für ein digitales BuJo essenziell sind, aber im Hintergrund bleiben:</p>



<ul class="wp-block-list">
<li>Tags<strong>:</strong> Mittels <code>#</code> und <code>@</code> lassen sich kontextbezogene Markierungen setzen (z. B. <code>#wichtig</code> oder <code>@meeting</code>), die sofort klickbar sind und als Filter fungieren.</li>



<li>Mirrors (Spiegelung): Ein technisches Highlight. Ein Listenpunkt kann an mehreren Orten gleichzeitig existieren. Ändert man ihn im &#8222;Daily Log&#8220;, ändert er sich auch in der Projektübersicht. Dies löst das Redundanzproblem statischer Listen.</li>



<li>Kanban-Ansicht: Jeder Listenpunkt kann optional als Kanban-Board dargestellt werden, wobei die Unterpunkte zu Spalten werden. Dies ist ein Zugeständnis an visuelle Planer, ohne die Textstruktur zu brechen.</li>
</ul>



<h2 class="wp-block-heading">Kritik und Grenzen</h2>



<p>Für Nutzer, die starke visuelle Reize oder komplexe Datenbankbeziehungen benötigen, ist Workflowy ungeeignet.</p>



<ul class="wp-block-list">
<li>Kein nativer Kalender: Es gibt keine klassische Kalenderübersicht. Termine müssen manuell oder über Behelfslösungen verwaltet werden.</li>



<li>Mobile Nutzung: Die App ist performant, doch bei sehr tiefen Verschachtelungen kann die Navigation auf kleinen Touchscreens fummelig werden.</li>



<li>Formatierung: Es gibt keine Markdown-Unterstützung im klassischen Sinne (Export ja, Editor nein), wenngleich Basisformatierungen (Fett, Kursiv) möglich sind.</li>
</ul>



<h2 class="wp-block-heading">Cloud-Architektur vs. Local-First: Die Frage der Datensouveränität</h2>



<p>Ein wesentlicher Kritikpunkt für Datenschutz-Puristen ist die Architektur von Workflowy. Im Gegensatz zu modernen Local-First-Ansätzen wie Obsidian oder Logseq, bei denen die Daten primär als Markdown-Dateien auf der lokalen Festplatte des Nutzers liegen, ist Workflowy ein cloud-basierter Dienst.</p>



<p>Zwar verfügen die Desktop- und Mobile-Apps über einen robusten Offline-Modus, der es erlaubt, ohne Internetverbindung zu arbeiten (die Daten werden lokal gecacht und bei Wiederverbindung synchronisiert), doch die Single Source of Truth liegt auf den Servern des Anbieters. Es gibt keine lokale Datei, die man einfach im Dateimanager öffnen und mit einem anderen Editor bearbeiten könnte.</p>



<p>Die Frage, was passiert, wenn der Anbieter den Dienst einstellt, ist berechtigt. Da es sich um ein proprietäres System handelt, bestünde ohne Export-Möglichkeit das Risiko eines totalen Datenverlusts. Workflowy mitigiert dieses Risiko durch Export-Schnittstellen:</p>



<ol start="1" class="wp-block-list">
<li>OPML (Outline Processor Markup Language): Das wichtigste Format für die Datenmigration. Workflowy erlaubt den Export kompletter Listenstrukturen als OPML. Dieses XML-basierte Format ist ein Industriestandard für Outliner und ermöglicht den Import der Daten in Konkurrenzprodukte wie Dynalist oder Logseq unter Beibehaltung der Hierarchie.</li>



<li>Plain Text / Formatted: Für die bloße Rettung der Textinhalte lässt sich die Liste auch als formatierter Text oder reiner Text exportieren.</li>
</ol>



<p>Wer die volle Kontrolle über seine Daten im Sinne von physischem Besitz fordert, wird mit Workflowy nicht glücklich. Wer jedoch mit einer Cloud-Lösung leben kann, findet durch den OPML-Standard zumindest einen funktionierenden Notausgang, der einen harten Vendor Lock-in verhindert.</p>



<h2 class="wp-block-heading">Preismodell und Limitierungen</h2>



<p>Workflowy finanziert sich über ein klassisches SaaS-Abonnement (Workflowy Pro), bietet jedoch eine dauerhaft nutzbare Gratis-Variante an. Der entscheidende Flaschenhals der Free-Version ist nicht der Funktionsumfang, sondern das Volumen.</p>



<ul class="wp-block-list">
<li>Das Bullet-Cap: In der kostenlosen Version ist die Erstellung neuer Listenpunkte (Knoten) limitiert. Aktuell liegt das Kontingent meist bei 250 neuen Punkten pro Monat (wobei sich dies durch Empfehlungen erhöhen lässt). Für ein minimalistisches Task-Management reicht dies oft aus; wer Workflowy jedoch als vollwertiges <em>Bullet Journal</em> für Daily Logs und umfangreiche Notizen nutzt, wird dieses Limit schnell erreichen.</li>



<li>Pro-Features: Das Abonnement (ca. 5 US-Dollar pro Monat bei jährlicher Zahlweise) entfernt sämtliche Limits bei der Erstellung von Knoten und beim Datei-Upload.</li>



<li>Backup-Optionen: Für den professionellen Einsatz relevant ist die in der Pro-Version enthaltene automatische Backup-Funktion zu Dropbox. Dies bietet eine zusätzliche Datensicherheits-Ebene außerhalb der Workflowy-Server, was gerade bei der Nutzung als zentraler Wissensspeicher („Second Brain“) ein wichtiges Argument darstellt.</li>
</ul>



<p>Im Wettbewerbsvergleich wirkt die Begrenzung der Listenpunkte restriktiv. Sie dient jedoch effektiv als Demo: Wer das Limit erreicht, hat das System meist so tief in seinen Alltag integriert, dass die Zahlungsbereitschaft gegeben ist.</p>



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



<p>Workflowy ist keine All-in-One-Lösung für Projektmanagement in Großteams. Es ist ein Denkwerkzeug. Die Stärke liegt in der Abwesenheit von Features, die vom Inhalt ablenken.</p>



<p>Wer das Bullet Journaling schätzt, aber die analoge Migration von Aufgaben als mühsam empfindet und seine Notizen durchsuchbar machen will, findet hier eine der saubersten technischen Umsetzungen am Markt. Es zwingt dem Nutzer keine Struktur auf, sondern wächst organisch mit den Anforderungen – von einer simplen Einkaufsliste bis zur kompletten Lebensorganisation.</p>



<p>Die App ersetzt nicht ALLE Tools in Deinem digitalen Orga-System. Ich hatte allerdings jetzt erst vor kurzem komplett aufgeräumt, da ich irgendwo auch teilweise von der Vielfalt meiner Apps fast erschlagen wurde. Ich hatte viele Todo-Listen-Manager, spezielle Kalender-Apps, Notizen-Apps, PKM-Tools am Start und bin jetzt aber erstmal bei Workflowy gelandet und finde das Konzept großartig. Für alle anderen Belange: Ich nutze aktuell die spartanischen Tools an Bord, die mir das Mac OS eben so bietet: Kalender, Notizen, Erinnerungen, Mail. Und für die Orga dann eben Workflowy. Für den Moment funktioniert das für mich erstmal super. Vielleicht war es genau eine solch supersimple Lösung, die letztendlich die Lösung darstellt.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/><p>The post <a href="https://net73.de/workflowy-mein-digitales-bujo/">Workflowy – mein digitales BuJo</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/workflowy-mein-digitales-bujo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Automatisches DNS-Setup mit Cloudflare- und Mailcow-API</title>
		<link>https://net73.de/automatisches-dns-setup-mit-cloudflare-und-mailcow-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automatisches-dns-setup-mit-cloudflare-und-mailcow-api</link>
					<comments>https://net73.de/automatisches-dns-setup-mit-cloudflare-und-mailcow-api/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 22:19:25 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailcow]]></category>
		<category><![CDATA[postfix]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3685</guid>

					<description><![CDATA[<p>Wenn du mehrere Domains mit Mailcow betreibst, wiederholt sich immer derselbe Nervkram: MX setzen, SPF schreiben, DKIM eintragen, DMARC hinterher, Autoconfig und Co. nicht vergessen. Weil ich darauf keine Lust mehr hatte, erledigt das bei mir jetzt ein Bash-Script, das: In diesem Beitrag zeige ich dir: Am Ende findest du das komplette Script und die [&#8230;]</p>
<p>The post <a href="https://net73.de/automatisches-dns-setup-mit-cloudflare-und-mailcow-api/">Automatisches DNS-Setup mit Cloudflare- und Mailcow-API</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Wenn du mehrere Domains mit Mailcow betreibst, wiederholt sich immer derselbe Nervkram: MX setzen, SPF schreiben, DKIM eintragen, DMARC hinterher, Autoconfig und Co. nicht vergessen.</p>



<p>Weil ich darauf keine Lust mehr hatte, erledigt das bei mir jetzt ein Bash-Script, das:</p>



<ul class="wp-block-list">
<li>die DNS-Zone bei Cloudflare findet</li>



<li>den DKIM-Key automatisch aus der Mailcow-API zieht</li>



<li>alle relevanten DNS-Records für Mailcow setzt bzw. aktualisiert</li>
</ul>



<p></p>



<p>In diesem Beitrag zeige ich dir:</p>



<ul class="wp-block-list">
<li>welche DNS-Records angelegt werden und warum</li>



<li>wie das Script aufgebaut ist</li>



<li>wie du die <code>.env</code>-Datei für deine Secrets nutzt</li>



<li>wie du das Ganze in der Praxis einsetzt</li>
</ul>



<p>Am Ende findest du das komplette Script und die passende <code>.env</code>-Datei als kopierbare Code-Blöcke.</p>



<h2 class="wp-block-heading">Was das Script macht – einmal in Kurzform</h2>



<p>Für eine Domain wie <code>example.org</code> macht das Script:</p>



<ul class="wp-block-list">
<li><strong>MX</strong>: zeigt auf deinen Mailcow-Host (z. B. <code>mail.example.org</code>)</li>



<li><strong>SPF (TXT)</strong>: Standardmäßig <code>v=spf1 mx -all</code></li>



<li><strong>DKIM (TXT)</strong>: Holt den Key aus der Mailcow-API und legt <code>dkim._domainkey.example.org</code> (oder deinen Selector) an</li>



<li><strong>DMARC (TXT)</strong>: einfacher Default <code>v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.org</code></li>



<li><strong>Autoconfig/Autodiscover (CNAME)</strong>: <code>autoconfig.example.org</code> und <code>autodiscover.example.org</code> → <code>mail.example.org</code></li>



<li><strong>MTA-STS (CNAME + TXT)</strong>: <code>mta-sts.example.org</code> + <code>_mta-sts.example.org</code></li>



<li><strong>TLS-Reporting (TXT)</strong>: <code>_smtp._tls.example.org</code> für TLS-Reports</li>
</ul>



<p>Wichtig: Existierende DKIM-Records mit anderen Selektoren (z. B. vom alten Mailserver) bleiben absichtlich unberührt. Solange du noch über den alten Server versendest oder alte Mails nachsigniert werden, ist das hilfreich. Aufräumen kannst du später manuell, wenn der alte Server wirklich komplett raus ist.</p>



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



<p>Damit das Script sauber läuft, brauchst du:</p>



<ul class="wp-block-list">
<li>macOS oder Linux mit:</li>



<li><code>bash</code></li>



<li><code>curl</code></li>



<li><code>jq</code></li>



<li><strong>Cloudflare-API-Token</strong> mit:
<ul class="wp-block-list">
<li>Zone → DNS → Edit</li>



<li>Zone → Zone → Read</li>
</ul>
</li>



<li><strong>Mailcow-API-Key</strong> mit Leserechten für DKIM (<code>/api/v1/get/dkim/{domain}</code>)</li>



<li>Eine <strong>Mailcow-Instanz</strong>, z. B. <code>https://mailcow.example.org</code></li>



<li>Deine Domains müssen bereits als Zonen bei Cloudflare existieren</li>
</ul>



<h2 class="wp-block-heading">Wie das Script funktioniert</h2>



<h3 class="wp-block-heading">1. <code>.env</code>-Datei laden</h3>



<p>Das Script liest – falls vorhanden – eine <code>.env</code> im selben Verzeichnis.<br>Darin stehen die sensitiven Daten wie API-Tokens und URLs. So bleiben die Werte getrennt vom Script selbst.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers"># .env automatisch laden, falls vorhanden
if [ -f .env ]; then
  echo "Lade .env..."
  set -o allexport
  source .env
  set +o allexport
fi</code></pre>



<p>Die Kombination aus <code>set -o allexport</code> und <code>source .env</code> sorgt dafür, dass jede Variable aus der <code>.env</code> automatisch als Umgebungsvariable exportiert wird, ohne dass du überall <code>export</code> schreiben musst.</p>



<h3 class="wp-block-heading">2. API-Variablen &amp; Standardwerte</h3>



<p>Das Script nutzt:</p>



<ul class="wp-block-list">
<li>Cloudflare API Token (<code>CF_API_TOKEN</code>)</li>



<li>Mailcow API Key (<code>MAILCOW_API_KEY</code>)</li>



<li>Mailcow Base-URL (<code>MAILCOW_BASEURL</code>)</li>



<li>Mail-Host / MX-Ziel (<code>MAIL_HOST</code>)</li>
</ul>



<p>Dazu kommen ein paar Default-Policies:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">CF_API_TOKEN="${CF_API_TOKEN:-}"
CF_API_BASE="https://api.cloudflare.com/client/v4"

MAILCOW_BASEURL="${MAILCOW_BASEURL:-https://mail.net73.de}"
MAILCOW_API_KEY="${MAILCOW_API_KEY:-}"

DOMAIN="${1:-}"                      # Domain als CLI-Argument
MAIL_HOST="${MAIL_HOST:-mail.net73.de}"

SPF_VALUE="${SPF_VALUE:-v=spf1 mx -all}"
DMARC_VALUE="${DMARC_VALUE:-v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@${DOMAIN}}"
MTA_STS_ID="${MTA_STS_ID:-$(date +%Y%m%d)}"

TTL=3600</code></pre>



<p>Ein paar Punkte dazu:</p>



<ul class="wp-block-list">
<li><code>DOMAIN</code> kommt als erstes Argument, z. B. <code>./setup_mail_dns.sh example.org</code></li>



<li><code>SPF_VALUE</code>, <code>DMARC_VALUE</code>, <code>MTA_STS_ID</code> kannst du bei Bedarf über die <code>.env</code> überschreiben</li>



<li><code>MTA_STS_ID</code> nutzt einfach das aktuelle Datum als ID – reicht völlig</li>
</ul>



<h3 class="wp-block-heading">3. Fehler-Handling &amp; Pflicht-Variablen</h3>



<p>Damit du nicht mit halbgaren Umgebungen arbeitest, prüft das Script die nötigsten Variablen:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">err() { echo "ERROR: $*" &gt;&amp;2; exit 1; }

require_env() {
  local name="$1"
  [ -n "${!name:-}" ] || err "Umgebungsvariable $name ist nicht gesetzt."
}

[ -n "$DOMAIN" ] || err "Usage: $0 &lt;domain.tld&gt; (z.B. example.org)"

require_env CF_API_TOKEN
require_env MAILCOW_API_KEY
require_env MAILCOW_BASEURL</code></pre>



<p>Wenn z. B. <code>CF_API_TOKEN</code> fehlt, bricht das Script mit einer sauberen Fehlermeldung ab.</p>



<h3 class="wp-block-heading">4. Cloudflare-Zone finden</h3>



<p>Cloudflare arbeitet intern mit <strong>Zone-IDs</strong>. Die holt sich das Script über die API:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">echo "Suche Cloudflare Zone-ID für ${DOMAIN}..."
ZONE_ID=$(
  curl -s -X GET "${CF_API_BASE}/zones?name=${DOMAIN}" \
       -H "Authorization: Bearer ${CF_API_TOKEN}" \
       -H "Content-Type: application/json" \
    | jq -r '.result[0].id // empty'
)

[ -n "$ZONE_ID" ] || err "Konnte Zone-ID für ${DOMAIN} nicht finden. Stimmt die Domain in Cloudflare?"</code></pre>



<p>Damit bist du unabhängig von irgendwelchen manuellen IDs.</p>



<h3 class="wp-block-heading">5. DKIM-Key aus der Mailcow-API ziehen</h3>



<p>Statt den DKIM-Key per Copy &amp; Paste ins DNS zu kippen, zieht das Script den aktuellen Key direkt aus Mailcow:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">echo "Hole DKIM-Key von Mailcow für ${DOMAIN}..."

DKIM_JSON=$(
  curl -s -X GET "${MAILCOW_BASEURL}/api/v1/get/dkim/${DOMAIN}" \
       -H "X-API-Key: ${MAILCOW_API_KEY}"
)

DKIM_SELECTOR=$(echo "$DKIM_JSON" | jq -r '.dkim_selector // "dkim"')
DKIM_TXT=$(echo "$DKIM_JSON" | jq -r '.dkim_txt // empty')

[ -n "$DKIM_TXT" ] || err "Kein DKIM-TXT von Mailcow erhalten. Prüfe API-Key, Domain oder ob ein DKIM-Key angelegt wurde."

DKIM_NAME="${DKIM_SELECTOR}._domainkey.${DOMAIN}"

echo "DKIM-Selector: ${DKIM_SELECTOR}"
echo "DKIM-Record:   ${DKIM_NAME}"</code></pre>



<ul class="wp-block-list">
<li><code>dkim_selector</code>: z. B. <code>dkim</code></li>



<li><code>dkim_txt</code>: der komplette DKIM-Record, wie er ins DNS gehört (inkl. <code>v=DKIM1; k=rsa; p=…</code>)</li>
</ul>



<p>Das Script macht daraus später einen TXT-Record bei Cloudflare.</p>



<h3 class="wp-block-heading">6. DNS-Record-Handling mit <code>cf_upsert_record</code></h3>



<p>Der eigentliche Trick steckt in einer kleinen Hilfsfunktion, die Records entweder <strong>aktualisiert</strong> oder <strong>neu anlegt</strong>:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">cf_upsert_record() {
  local TYPE="$1"   # A, CNAME, MX, TXT, ...
  local NAME="$2"
  local CONTENT="$3"
  local TTL_VAL="$4"
  local PROXIED="${5:-false}"   # true/false (nur für A/AAAA/CNAME)
  local PRIORITY="${6:-0}"      # nur für MX relevant

  local DATA
  if [[ "$TYPE" == "MX" ]]; then
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" --argjson priority "$PRIORITY" \
               '{type:$type,name:$name,content:$content,ttl:$ttl,priority:$priority}')
  elif [[ "$TYPE" == "TXT" ]]; then
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" \
               '{type:$type,name:$name,content:$content,ttl:$ttl}')
  else
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" --argjson proxied "$PROXIED" \
               '{type:$type,name:$name,content:$content,ttl:$ttl,proxied:$proxied}')
  fi

  local EXISTING_ID
  EXISTING_ID=$(
    curl -s -X GET "${CF_API_BASE}/zones/${ZONE_ID}/dns_records?type=${TYPE}&amp;name=${NAME}" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
      | jq -r '.result[0].id // empty'
  )

  if [[ -n "$EXISTING_ID" ]]; then
    curl -s -X PUT "${CF_API_BASE}/zones/${ZONE_ID}/dns_records/${EXISTING_ID}" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
         --data "${DATA}" &gt;/dev/null
    echo "Updated ${TYPE} ${NAME}"
  else
    curl -s -X POST "${CF_API_BASE}/zones/${ZONE_ID}/dns_records" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
         --data "${DATA}" &gt;/dev/null
    echo "Created ${TYPE} ${NAME}"
  fi
}</code></pre>



<p>Damit musst du dich im Hauptteil des Scripts nicht mehr darum kümmern, ob ein Record schon existiert.</p>



<h3 class="wp-block-heading">7. Welche DNS-Records das Script setzt</h3>



<p>Im letzten Block legt das Script alle relevanten Records für die Domain an bzw. aktualisiert sie:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">echo "Lege Standard-Mailcow-DNS-Einträge für ${DOMAIN} an / aktualisiere sie..."

# MX
cf_upsert_record "MX" "${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false" 10

# SPF
cf_upsert_record "TXT" "${DOMAIN}" "${SPF_VALUE}" "${TTL}"

# DKIM
cf_upsert_record "TXT" "${DKIM_NAME}" "${DKIM_TXT}" "${TTL}"

# DMARC
cf_upsert_record "TXT" "_dmarc.${DOMAIN}" "${DMARC_VALUE}" "${TTL}"

# Autoconfig / Autodiscover
cf_upsert_record "CNAME" "autoconfig.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"
cf_upsert_record "CNAME" "autodiscover.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"

# Optional: MTA-STS &amp; TLS-RPT
cf_upsert_record "CNAME" "mta-sts.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"
cf_upsert_record "TXT" "_mta-sts.${DOMAIN}" "v=STSv1; id=${MTA_STS_ID}" "${TTL}"
cf_upsert_record "TXT" "_smtp._tls.${DOMAIN}" "v=TLSRPTv1; rua=mailto:tls-reports@${DOMAIN}" "${TTL}"

echo "Fertig. Bitte DNS-Änderungen und Mailcow-Check-Tools (z.B. Mailcow DNS-Check, mail-tester.com) prüfen."</code></pre>



<p>Kurz dazu:</p>



<ul class="wp-block-list">
<li><strong>MX</strong>: zeigt auf deinen Mailcow-Host, Proxy ist ausgeschaltet (Cloudflare darf kein SMTP sprechen)</li>



<li><strong>SPF</strong>: minimalistisch, erlaubt nur den MX-Server</li>



<li><strong>DKIM</strong>: nutzt den aktuellen Key aus Mailcow</li>



<li><strong>DMARC</strong>: schickt Reports an <code>dmarc-reports@deine-domain</code></li>



<li><strong>Autoconfig/Autodiscover</strong>: hilft Mail-Clients bei der Auto-Konfiguration</li>



<li><strong>MTA-STS &amp; TLSRPT</strong>: härten Transportverschlüsselung und sammeln TLS-Reports</li>
</ul>



<h3 class="wp-block-heading">8. Was ist mit alten DKIM-Records?</h3>



<p>Viele migrieren von einem alten Mailserver (anderer Provider, eigene Kiste, …) zu Mailcow. Oft existieren dort bereits DKIM-Records mit einem anderen Selector, z. B.:</p>



<ul class="wp-block-list">
<li><code>google._domainkey.example.org</code></li>



<li><code>mailjet._domainkey.example.org</code></li>



<li><code>oldserver1._domainkey.example.org</code></li>
</ul>



<p>Das Script fasst diese <strong>bewusst nicht an</strong>.</p>



<p>Das ist kein Bug, sondern Feature: Solange der alte Mailserver noch Mails mit seinem Key signiert (oder alte Nachrichten Relevanz haben), ist es sinnvoll, die alten DKIM-Keys im DNS zu lassen. Erst wenn du sicher bist, dass der alte Server endgültig außer Betrieb ist, kannst du seine Selektoren gezielt löschen – das ist eine Entscheidung, die ich lieber manuell treffen möchte.</p>



<h2 class="wp-block-heading">Praxis: Setup, .env und Aufruf</h2>



<h3 class="wp-block-heading">1. Script speichern</h3>



<p>Speichere das Script z. B. als <code>setup_mail_dns.sh</code> in ein Verzeichnis deiner Wahl.</p>



<h3 class="wp-block-heading">2. <code>.env</code> anlegen</h3>



<p>Im selben Verzeichnis legst du eine Datei <code>.env</code> an, z. B.:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">export CF_API_TOKEN="xxxxxxx"
export MAILCOW_API_KEY="xxxxxxx"
export MAILCOW_BASEURL="https://mailcow.example.org"
export MAIL_HOST="mail.example.org"</code></pre>



<p>Für weitere Domains kannst du <code>MAIL_HOST</code> gleich lassen, wenn alle denselben Mailcow-Host nutzen.</p>



<h3 class="wp-block-heading">3. Script ausführbar machen und aufrufen</h3>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">chmod +x setup_mail_dns.sh
./setup_mail_dns.sh example.org</code></pre>



<p>Für jede weitere Domain:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">./setup_mail_dns.sh andere-domain.tld</code></pre>



<h2 class="wp-block-heading">Komplettes Script (kopierfertig)</h2>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">#!/usr/bin/env bash
# .env automatisch laden, falls vorhanden
if [ -f .env ]; then
  echo "Lade .env..."
  set -o allexport
  source .env
  set +o allexport
fi

set -euo pipefail

# 1) Cloudflare
CF_API_TOKEN="${CF_API_TOKEN:-}"    # besser als Umgebungsvariable setzen
CF_API_BASE="https://api.cloudflare.com/client/v4"

# 2) Mailcow
MAILCOW_BASEURL="${MAILCOW_BASEURL:-https://mail.net73.de}"  # ohne trailing slash
MAILCOW_API_KEY="${MAILCOW_API_KEY:-}"

# 3) Domain &amp; Mailserver
DOMAIN="${1:-}"           # z.B. example.org (als Argument)
MAIL_HOST="${MAIL_HOST:-mail.net73.de}"  # MX-Ziel

# 4) Mail-Policy Defaults
SPF_VALUE="${SPF_VALUE:-v=spf1 mx -all}"
DMARC_VALUE="${DMARC_VALUE:-v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@${DOMAIN}}"
MTA_STS_ID="${MTA_STS_ID:-$(date +%Y%m%d)}"  # z.B. 20251115

TTL=3600

# ============================
# HILFSFUNKTIONEN
# ============================

err() { echo "ERROR: $*" &gt;&amp;2; exit 1; }

require_env() {
  local name="$1"
  [ -n "${!name:-}" ] || err "Umgebungsvariable $name ist nicht gesetzt."
}

# Upsert-Funktion für DNS-Records
cf_upsert_record() {
  local TYPE="$1"   # A, CNAME, MX, TXT, ...
  local NAME="$2"
  local CONTENT="$3"
  local TTL_VAL="$4"
  local PROXIED="${5:-false}"   # true/false (nur für A/AAAA/CNAME)
  local PRIORITY="${6:-0}"      # nur für MX relevant

  # JSON-Body je nach Typ bauen
  local DATA
  if [[ "$TYPE" == "MX" ]]; then
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" --argjson priority "$PRIORITY" \
               '{type:$type,name:$name,content:$content,ttl:$ttl,priority:$priority}')
  elif [[ "$TYPE" == "TXT" ]]; then
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" \
               '{type:$type,name:$name,content:$content,ttl:$ttl}')
  else
    # A/AAAA/CNAME mit proxied
    DATA=$(jq -n --arg type "$TYPE" --arg name "$NAME" --arg content "$CONTENT" \
               --argjson ttl "$TTL_VAL" --argjson proxied "$PROXIED" \
               '{type:$type,name:$name,content:$content,ttl:$ttl,proxied:$proxied}')
  fi

  # Existing Record abfragen
  local EXISTING_ID
  EXISTING_ID=$(
    curl -s -X GET "${CF_API_BASE}/zones/${ZONE_ID}/dns_records?type=${TYPE}&amp;name=${NAME}" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
      | jq -r '.result[0].id // empty'
  )

  if [[ -n "$EXISTING_ID" ]]; then
    curl -s -X PUT "${CF_API_BASE}/zones/${ZONE_ID}/dns_records/${EXISTING_ID}" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
         --data "${DATA}" &gt;/dev/null
    echo "Updated ${TYPE} ${NAME}"
  else
    curl -s -X POST "${CF_API_BASE}/zones/${ZONE_ID}/dns_records" \
         -H "Authorization: Bearer ${CF_API_TOKEN}" \
         -H "Content-Type: application/json" \
         --data "${DATA}" &gt;/dev/null
    echo "Created ${TYPE} ${NAME}"
  fi
}

# ============================
# CHECKS
# ============================

[ -n "$DOMAIN" ] || err "Usage: $0 &lt;domain.tld&gt; (z.B. example.org)"

require_env CF_API_TOKEN
require_env MAILCOW_API_KEY
require_env MAILCOW_BASEURL

# ============================
# ZONE ID HOLEN
# ============================

echo "Suche Cloudflare Zone-ID für ${DOMAIN}..."
ZONE_ID=$(
  curl -s -X GET "${CF_API_BASE}/zones?name=${DOMAIN}" \
       -H "Authorization: Bearer ${CF_API_TOKEN}" \
       -H "Content-Type: application/json" \
    | jq -r '.result[0].id // empty'
)

[ -n "$ZONE_ID" ] || err "Konnte Zone-ID für ${DOMAIN} nicht finden. Stimmt die Domain in Cloudflare?"

echo "Gefundene Zone-ID: ${ZONE_ID}"

# ============================
# DKIM PER MAILCOW-API HOLEN
# ============================

echo "Hole DKIM-Key von Mailcow für ${DOMAIN}..."

DKIM_JSON=$(
  curl -s -X GET "${MAILCOW_BASEURL}/api/v1/get/dkim/${DOMAIN}" \
       -H "X-API-Key: ${MAILCOW_API_KEY}"
)

DKIM_SELECTOR=$(echo "$DKIM_JSON" | jq -r '.dkim_selector // "dkim"')
DKIM_TXT=$(echo "$DKIM_JSON" | jq -r '.dkim_txt // empty')

[ -n "$DKIM_TXT" ] || err "Kein DKIM-TXT von Mailcow erhalten. Prüfe API-Key, Domain oder ob ein DKIM-Key angelegt wurde."

DKIM_NAME="${DKIM_SELECTOR}._domainkey.${DOMAIN}"

echo "DKIM-Selector: ${DKIM_SELECTOR}"
echo "DKIM-Record:   ${DKIM_NAME}"

# ============================
# DNS-RECORDS ANLEGEN / AKTUALISIEREN
# ============================

echo "Lege Standard-Mailcow-DNS-Einträge für ${DOMAIN} an / aktualisiere sie..."

# MX
cf_upsert_record "MX" "${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false" 10

# SPF
cf_upsert_record "TXT" "${DOMAIN}" "${SPF_VALUE}" "${TTL}"

# DKIM
cf_upsert_record "TXT" "${DKIM_NAME}" "${DKIM_TXT}" "${TTL}"

# DMARC
cf_upsert_record "TXT" "_dmarc.${DOMAIN}" "${DMARC_VALUE}" "${TTL}"

# Autoconfig / Autodiscover
cf_upsert_record "CNAME" "autoconfig.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"
cf_upsert_record "CNAME" "autodiscover.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"

# Optional: MTA-STS &amp; TLS-RPT
cf_upsert_record "CNAME" "mta-sts.${DOMAIN}" "${MAIL_HOST}" "${TTL}" "false"
cf_upsert_record "TXT" "_mta-sts.${DOMAIN}" "v=STSv1; id=${MTA_STS_ID}" "${TTL}"
cf_upsert_record "TXT" "_smtp._tls.${DOMAIN}" "v=TLSRPTv1; rua=mailto:tls-reports@${DOMAIN}" "${TTL}"

echo "Fertig. Bitte DNS-Änderungen und Mailcow-Check-Tools (z.B. Mailcow DNS-Check, mail-tester.com) prüfen."</code></pre>



<h2 class="wp-block-heading">Beispiel-.env zum direkten Einsatz</h2>



<pre class="wp-block-code"><code lang="bash" class="language-bash line-numbers">export CF_API_TOKEN="xxxxxxx"
export MAILCOW_API_KEY="xxxxxxx"
export MAILCOW_BASEURL="https://mailcow.example.org"
export MAIL_HOST="mail.example.org"</code></pre><p>The post <a href="https://net73.de/automatisches-dns-setup-mit-cloudflare-und-mailcow-api/">Automatisches DNS-Setup mit Cloudflare- und Mailcow-API</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/automatisches-dns-setup-mit-cloudflare-und-mailcow-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Autoresponder-, Ticket- &#038; Support-Spam?</title>
		<link>https://net73.de/autoresponder-ticket-support-spam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=autoresponder-ticket-support-spam</link>
					<comments>https://net73.de/autoresponder-ticket-support-spam/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 06:11:43 +0000</pubDate>
				<category><![CDATA[ITSec]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[spam]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3639</guid>

					<description><![CDATA[<p>Plötzlich trudeln Mails ein, die ich nie initiiert hatte: Support-Bestätigungen, Autoresponder, sogar Ticket-IDs aus fremden Systemen. Die Inhalte wirken echt – sauber signiert, oft aus seriösen Tools. Und doch hat man mit den Absendern nie etwas zu tun gehabt. Was hier passiert, ist kein klassischer Hack des eigenen Postfachs oder &#8222;normaler Spam&#8220;, sondern eine fremde, [&#8230;]</p>
<p>The post <a href="https://net73.de/autoresponder-ticket-support-spam/">Autoresponder-, Ticket- & Support-Spam?</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Plötzlich trudeln Mails ein, die ich nie initiiert hatte: Support-Bestätigungen, Autoresponder, sogar Ticket-IDs aus fremden Systemen. Die Inhalte wirken echt – sauber signiert, oft aus seriösen Tools. Und doch hat man mit den Absendern nie etwas zu tun gehabt. Was hier passiert, ist kein klassischer Hack des eigenen Postfachs oder &#8222;normaler Spam&#8220;, sondern eine fremde, offen konfigurierte Google-Group, die die eigene Adresse als Empfänger führt und seitdem alles ungefiltert weiterverteilt.</p>



<p>Genau das sieht man in den Kopfzeilen: Neben echten System-Absendern taucht eine List-ID wie <code><em>kj.zf.thesparklebar.com</em></code> auf; häufig sind weitere, dubiosere Gruppen-Domänen in der Kette zu finden, etwa <code><em>ek.shirleyaraujo.com.br</em></code> oder <code><em>af.fluidcom.com.br</em></code>. Die Gruppe ist der Dreh- und Angelpunkt: Sie nimmt Nachrichten aus allen Richtungen an – Spam, Autoresponder, legitime Tickets – und verteilt sie an alle eingetragenen Mitglieder. Ist die eigene Adresse (oder ein weitergeleiteter Alias) dort gelandet, spült es all das ins eigene Postfach.</p>



<h2 class="wp-block-heading">Was da technisch im Hintergrund passiert</h2>



<p>Google-Groups sind eigentlich praktische Verteiler. Wie offen eine Gruppe ist, entscheidet jedoch die Administration der jeweiligen Workspace-Domain. Viele ältere oder schlecht konfigurierte Gruppen erlauben das Hinzufügen externer Adressen ohne Verifizierung und akzeptieren Postings „von allen“. Trägt ein Bot dann <code>ich@example.tld</code> als Mitglied ein, liefert die Gruppe ab sofort alles an diese Adresse aus. Das wird seit Jahren für Spam- und Backscatter-Ketten missbraucht. Derzeit aber wieder akut und sehr stark über die oben genannten Gruppen.</p>



<p>In den Mail-Headern erkennt man das verlässlich: Neben der List-ID stehen häufig <code>Sender: &lt;gruppenname@…></code> und <code>X-Google-Group-Id</code>. Der eigentliche Inhalt kann von seriösen Systemen stammen (z. B. <code>support@anbieter.example</code> via <code>anbieter.zdesk.example</code>), deshalb bestehen SPF/DKIM/DMARC dort oft sogar mit „pass“. Der Fehlkonfigurations-Hotspot ist nicht der Absender, sondern die Gruppe dazwischen.</p>



<p>Übrigens: Der <code>Return-Path</code> enthält bei weitergeleiteten Mails oft ein SRS-Präfix wie <code>SRS0=…@meinedomain.tld</code>. Das ist lediglich die Absender-Umschreibung deines Mailservers beim Weiterleiten, kein Zeichen, dass du versendet hättest.</p>



<h2 class="wp-block-heading">Ist Google für diesen Spam verantwortlich?</h2>



<p>Kurz: meist nein<strong>.</strong> Google stellt die Plattform bereit, aber die Verantwortung für Mitgliedschaften und Posting-Regeln liegt bei den Gruppen-Betreibern (also der jeweiligen Workspace-Domain). Rechtlich ist das Plattform-/Hoster-Logik: Google bietet standardisierte Abmeldewege (List-Unsubscribe) und reagiert auf Abuse-Meldungen, doch die Fehlkonfiguration liegt beim Gruppen-Owner. Das Ergebnis ist trotzdem nervig – aber es ist kein „Google verschickt Spam“, sondern „eine fremde Gruppe verteilt zu großzügig“.</p>



<h2 class="wp-block-heading">Woran man das erkennt</h2>



<p>Ein Blick in die Header reicht. Typische Marker:</p>



<ul class="wp-block-list">
<li><code>List-Id: &lt;kj.zf.thesparklebar.com></code> (oder ähnlich)</li>



<li><code>Sender: kj@zf.thesparklebar.com</code></li>



<li><code>X-Google-Group-Id: …</code></li>



<li><code>List-Unsubscribe: &lt;mailto:…+unsubscribe@googlegroups.com></code> und/oder <code>https://groups.google.com/...</code></li>



<li><code>Precedence: list</code></li>
</ul>



<p>Sind diese Zeilen da, ist das Rätsel in der Regel gelöst.</p>



<h2 class="wp-block-heading">Rauskommen: korrekt austragen – so findet man die Adresse</h2>



<p>Der eleganteste Weg führt nicht über eine Antwort an die Gruppe, sonst erhältst du E-Mails, die du wahrscheinlich auch schon bekommen hast: &#8222;Stop Spamming&#8220; oder &#8222;Unterlassen sie das!&#8220; landet dann ebenfalls wieder bei ALLEN Empfängern der Gruppe. Nutze stattdessen die standardisierte List-Unsubscribe-Adresse, die ebenfalls im Header steht. Sie sieht typischerweise so aus:</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup">List-Unsubscribe: &lt;mailto:googlegroups-manage+XXXXXXXXXXXX+unsubscribe@googlegroups.com>
</code></pre>



<p>Man muss genau diese Adresse verwenden, die in DEINEM Header steht. Diese sieht vermutlich anders aus als die in meinem Beispiel! Das Schreiben an <code>List-Post</code> (die Gruppenadresse selbst) wäre kontraproduktiv – das würde nur in die Gruppe posten.</p>



<p>Wenn die betroffene Zieladresse ein Alias der eigenen Domain ist (z. B. <code>alias@meinedomain.tld</code>), kann man die Abmeldung direkt und „sauber“ vom eigenen Mailserver mit korrektem Envelope-Absender senden. Beispiel mit Postfix/Sendmail:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sendmail -f alias@meinedomain.tld \
  googlegroups-manage+XXXXXXXXXXXX+unsubscribe@googlegroups.com &lt;&lt;'EOF'
Subject: unsubscribe
From: alias@meinedomain.tld
To: googlegroups-manage+XXXXXXXXXXXX+unsubscribe@googlegroups.com

unsubscribe
EOF
</code></pre>



<p>Der Body kann leer bleiben; wichtig sind die Envelope-From-Adresse (<code>-f alias@…</code>) und die exakte Unsubscribe-Adresse. Je nach Gruppen-Einstellung erhält man entweder keine Rückfrage (sofort ausgetragen) oder eine kurze Bestätigungsmail, die man einmalig quittieren muss.</p>



<h2 class="wp-block-heading">Wenn Austragen (noch) nicht greift: gezielt spam blocken statt Holzhammer</h2>



<p>Pauschal „alle Google-Groups“ zu sperren, ist selten sinnvoll – es erwischt auch legitime Listen. Besser ist ein gezielter Schnitt auf die konkrete Gruppe, erkennbar an der <code>List-Id</code>.</p>



<ul class="wp-block-list">
<li><strong>Postfix (serverseitig, präzise):</strong> <code># /etc/postfix/header_checks /^List-Id:\s*&lt;kj\.zf\.thesparklebar\.com>$/ REJECT Unwanted Google Group</code> In <code>main.cf</code> aktivieren: <code>header_checks = regexp:/etc/postfix/header_checks</code> Dann <code>postfix reload</code>.</li>



<li><strong>SpamAssassin (nur score erhöhen):</strong> <code>header GGLGROUP_SPAM List-Id =~ /zf\.thesparklebar\.com/i score GGLGROUP_SPAM 6.0 describe GGLGROUP_SPAM Unwanted Google Group</code></li>



<li><strong>Client-seitig (z. B. Outlook 365):</strong><br>Eine Regel, die Nachrichten mit <code>List-Id: kj.zf.thesparklebar.com</code> in einen Ordner verschiebt oder löscht – als Sicherheitsleine, falls serverseitig nichts geändert werden soll.</li>
</ul>



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



<p>Für die eigene Domain lohnt es sich ohnehin, die Hausaufgaben zu machen: DMARC konsequent auf <code>p=reject</code>, SPF/DKIM sauber halten, keine Catch-Alls, unbekannte Empfänger ablehnen und Logs im Blick behalten. Das verhindert nicht jede fremde Gruppen-Fehlkonfiguration, reduziert aber Backscatter generell und hilft beim Troubleshooting.</p>



<p><strong>Fazit:</strong> Nicht dein Postfach ist „gehackt“, sondern eine fremde Google-Group verteilt zu großzügig – und deine Adresse hing oder hängt als Empfänger drin. Der Ausweg ist unspektakulär: List-Unsubscribe aus dem Header nehmen, austragen, fertig. Falls das (noch) nicht greift, hilft ein gezielter Header-Filter auf die konkrete <code>List-Id</code>. So bleibt der Rest deiner legitimen Gruppen unberührt – und das Postfach wieder ruhig.</p>



<p></p><p>The post <a href="https://net73.de/autoresponder-ticket-support-spam/">Autoresponder-, Ticket- & Support-Spam?</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/autoresponder-ticket-support-spam/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mailcow: Bestimmte Absender blockieren, ablehnen oder bouncen</title>
		<link>https://net73.de/mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen</link>
					<comments>https://net73.de/mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 20:35:45 +0000</pubDate>
				<category><![CDATA[ITSec]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3635</guid>

					<description><![CDATA[<p>Immer wieder dieselben nervigen Absender, die mit Kaltaquise-Mails, Follow-ups und „nur kurz nachgehakt“-Nachrichten dein Postfach fluten.Selbst ein gut trainiertes Spamfilter-System erkennt diese Mails oft nicht, weil sie halbwegs sauber formuliert und nicht klassischer Spam sind. Was also tun?In diesem Artikel zeige ich dir, wie du unter Mailcow solche Absender hart und sauber ablehnst, direkt auf [&#8230;]</p>
<p>The post <a href="https://net73.de/mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen/">Mailcow: Bestimmte Absender blockieren, ablehnen oder bouncen</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Immer wieder dieselben nervigen Absender, die mit Kaltaquise-Mails, Follow-ups und „nur kurz nachgehakt“-Nachrichten dein Postfach fluten.<br>Selbst ein gut trainiertes Spamfilter-System erkennt diese Mails oft nicht, weil sie halbwegs sauber formuliert und nicht klassischer Spam sind.</p>



<p>Was also tun?<br>In diesem Artikel zeige ich dir, wie du unter Mailcow solche Absender hart und sauber ablehnst, direkt auf SMTP-Ebene – und das elegant mit einem kleinen Shell-Script zur Verwaltung.</p>



<span id="more-3635"></span>



<h2 class="wp-block-heading">Warum nicht einfach filtern?</h2>



<p>Natürlich könnte man mit Sieve-Filtern oder Roundcube-Regeln solche Mails in den Papierkorb werfen.<br>Aber:</p>



<ul class="wp-block-list">
<li>Das belastet trotzdem dein Postfach.</li>



<li>Der Absender bekommt <em>keine</em> Fehlermeldung.</li>



<li>Und du siehst sie eventuell noch in Quarantäne oder Logs.</li>
</ul>



<p>Besser ist, sie gar nicht erst anzunehmen.<br>Damit wird die Mail schon beim Eingang mit einem „550 5.7.1 Message rejected as spam or unwanted mail“ abgewiesen.<br>Kein Speicherverbrauch, kein Logging-Müll, kein Ärger.</p>



<h2 class="wp-block-heading">Schritt 1: Eigene Rspamd-Blockliste aktivieren</h2>



<p>Mailcow bringt Rspamd bereits als Spamfilter mit.<br>Wir nutzen dessen <em>multimap</em>-Funktion, um eine eigene Blockliste zu definieren.</p>



<p>Editiere daher (in einer Standard-Mailcow-Installation die folgende Datei:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo vim /opt/mailcow-dockerized/data/conf/rspamd/local.d/multimap.conf</code></pre>



<p>Inhalt:</p>



<pre title="multimap.conf" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">block_senders {
    type = "from";
    map = "/etc/rspamd/local.d/blocked_senders.map";
    action = "reject";
    message = "550 5.7.1 Message rejected as spam or unwanted mail";
    description = "Custom sender blocklist";
}</code></pre>



<p>Damit sagst du Rspamd:<br>„Schau in diese Map-Datei, und wenn der Absender dort gelistet ist – <strong>lehne die Mail ab</strong>.“</p>



<h2 class="wp-block-heading">Schritt 2: Blockliste anlegen</h2>



<p>Lege die Datei an, in der du deine geblockten Adressen pflegst:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo vim /opt/mailcow-dockerized/data/conf/rspamd/local.d/blocked_senders.map</code></pre>



<p>Beispielinhalt:</p>



<pre title="blocked_senders.map" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">*@nervfirma.tld
vertrieb@example.org
doofie*@example.org</code></pre>



<p>Jede Zeile ist ein Eintrag.<br>Wildcards <code>*@domain.tld</code> sind erlaubt.</p>



<h2 class="wp-block-heading">Schritt 3: Konfiguration prüfen und Rspamd neu starten</h2>



<p>Jetzt sicherstellen, dass die Syntax stimmt und dann den Dienst neu starten:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">cd /opt/mailcow-dockerized
docker compose exec rspamd-mailcow rspamadm configtest
docker compose restart rspamd-mailcow</code></pre>



<p>Wenn <code>syntax OK</code> erscheint, ist alles gut.<br>Absender aus deiner Liste werden ab sofort auf SMTP-Ebene geblockt – sie bekommen also ein korrektes <em>550</em>-Reject und die Mail landet nie bei dir.</p>



<h2 class="wp-block-heading">Schritt 4: Komfortabler mit Shell-Script verwalten</h2>



<p>Natürlich willst du nicht jedes Mal herumeditieren.<br>Deshalb hier ein kleines Script, das dich fragt, ob du einen Eintrag <strong>hinzufügen</strong> oder <strong>entfernen</strong> willst, und danach automatisch Rspamd neu startet.</p>



<p>Speichere dieses Script als<br><code>/opt/mailcow-dockerized/blocksender.sh</code><br>und mach es ausführbar:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">chmod +x /opt/mailcow-dockerized/blocksender.sh</code></pre>



<h3 class="wp-block-heading">Inhalt:</h3>



<pre title="blocksender.sh" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">#!/bin/bash
#
# blocksender.sh
# Kleine Helper-CLI zum Verwalten der Rspamd-Blockliste in Mailcow
# - Einträge hinzufügen/entfernen
# - rspamd neu starten bei Änderungen
#
# Voraussetzung:
#   - läuft auf dem Mailcow-Host
#   - wird aus /opt/mailcow-dockerized ausgeführt (oder wir cd'n dorthin)
#

MAILCOW_DIR="/opt/mailcow-dockerized"
BLOCKLIST_FILE="$MAILCOW_DIR/data/conf/rspamd/local.d/blocked_senders.map"
SERVICE_NAME="rspamd-mailcow"

cd "$MAILCOW_DIR" || { echo "Fehler: Konnte nicht nach $MAILCOW_DIR wechseln."; exit 1; }

if [ ! -f "$BLOCKLIST_FILE" ]; then
    echo "Fehler: Blocklisten-Datei $BLOCKLIST_FILE existiert nicht."
    exit 1
fi

restart_rspamd() {
    echo "Starte $SERVICE_NAME neu..."
    docker compose exec "$SERVICE_NAME" rspamadm configtest &gt;/tmp/rspamd_configtest.out 2&gt;&amp;1
    if ! grep -q "syntax OK" /tmp/rspamd_configtest.out; then
        echo "WARNUNG: configtest meldet kein 'syntax OK'. Ausgabe:"
        cat /tmp/rspamd_configtest.out
        echo "Breche ab, kein Restart durchgeführt."
        exit 1
    fi

    docker compose restart "$SERVICE_NAME"
    if [ $? -ne 0 ]; then
        echo "Fehler: Neustart von $SERVICE_NAME fehlgeschlagen."
        exit 1
    fi

    echo "OK: $SERVICE_NAME neu gestartet."
}

echo "Was möchtest du tun?"
echo "[A] Hinzufügen"
echo "[R] Entfernen"
read -r -p "&gt; " ACTION

case "$ACTION" in
    A|a)
        read -r -p "Bitte Absender/Domain eingeben (z.B. spam@firma.de oder *@nervfirma.de): " ENTRY
        if [ -z "$ENTRY" ]; then
            echo "Keine Eingabe. Abbruch."
            exit 1
        fi

        # Prüfen ob schon vorhanden (exakte Zeile)
        if grep -Fxq "$ENTRY" "$BLOCKLIST_FILE"; then
            echo "'$ENTRY' ist bereits in der Blockliste, keine Änderung."
            exit 0
        fi

        echo "$ENTRY" &gt;&gt; "$BLOCKLIST_FILE"
        if [ $? -ne 0 ]; then
            echo "Fehler: Konnte '$ENTRY' nicht in $BLOCKLIST_FILE schreiben."
            exit 1
        fi

        echo
        echo "Neuer Stand der Blockliste:"
        nl -ba "$BLOCKLIST_FILE"
        echo

        restart_rspamd
        ;;

    R|r)
        echo "Aktuelle Blockliste:"
        nl -ba "$BLOCKLIST_FILE"
        echo
        read -r -p "Welchen Eintrag exakt entfernen? (bitte exakt kopieren): " ENTRY
        if [ -z "$ENTRY" ]; then
            echo "Keine Eingabe. Abbruch."
            exit 1
        fi

        # Prüfen ob vorhanden
        if ! grep -Fxq "$ENTRY" "$BLOCKLIST_FILE"; then
            echo "Fehler: '$ENTRY' wurde nicht gefunden. Keine Änderung durchgeführt."
            exit 1
        fi

        # Temporäre Datei erstellen ohne diese Zeile
        TMPFILE=$(mktemp)
        grep -Fxv "$ENTRY" "$BLOCKLIST_FILE" &gt; "$TMPFILE"

        if [ $? -ne 0 ]; then
            echo "Fehler beim Bearbeiten der Liste."
            rm -f "$TMPFILE"
            exit 1
        fi

        mv "$TMPFILE" "$BLOCKLIST_FILE"

        echo
        echo "'$ENTRY' entfernt. Neuer Stand:"
        nl -ba "$BLOCKLIST_FILE"
        echo

        restart_rspamd
        ;;

    *)
        echo "Ungültige Auswahl. Bitte A oder R."
        exit 1
        ;;
esac

exit 0</code></pre>



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



<p>Starte das Script einfach mit:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">cd /opt/containers/mailcow
./blocksender.sh</code></pre>



<p>Dann wählst du <code>A</code> (add) oder <code>R</code> (remove) und gibst die Adresse ein.<br>Das Script prüft automatisch die Syntax und startet Rspamd nur neu, wenn alles korrekt ist.</p>



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



<p>Mit dieser kleinen Ergänzung hast du dein Mailcow-System um ein richtig nützliches Feature erweitert:</p>



<ul class="wp-block-list">
<li>Du blockst gezielt Absender oder ganze Domains auf SMTP-Ebene.</li>



<li>Der Spammer bekommt eine korrekte „550 5.7.1“-Antwort.</li>



<li>Du hast keine Mails im Postfach, kein Quarantäne-Müll, keine Nacharbeit.</li>



<li>Und dank des Scripts kannst du das Ganze bequem in Sekunden pflegen.</li>
</ul>



<p>Kleine Änderung, große Wirkung!</p>



<p></p><p>The post <a href="https://net73.de/mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen/">Mailcow: Bestimmte Absender blockieren, ablehnen oder bouncen</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/mailcow-bestimmte-absender-blockieren-ablehnen-oder-bouncen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Let me searx that for you</title>
		<link>https://net73.de/let-me-searx-that-for-you/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=let-me-searx-that-for-you</link>
					<comments>https://net73.de/let-me-searx-that-for-you/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Mon, 27 Oct 2025 14:56:01 +0000</pubDate>
				<category><![CDATA[ITSec]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[searx]]></category>
		<category><![CDATA[searxNG]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3510</guid>

					<description><![CDATA[<p>Wer im Internet nach Informationen sucht, nutzt meist eine der großen Suchmaschinen wie Google, Bing oder DuckDuckGo. Dabei werden oft umfangreiche Daten über das Suchverhalten der Nutzer gesammelt und für personalisierte Werbung oder andere Zwecke eingesetzt. Eine Alternative bietet&#160;SearxNG, eine datenschutzfreundliche Metasuchmaschine, die Suchanfragen an verschiedene Suchdienste weiterleitet, ohne selbst Nutzerdaten zu speichern oder zu [&#8230;]</p>
<p>The post <a href="https://net73.de/let-me-searx-that-for-you/">Let me searx that for you</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Wer im Internet nach Informationen sucht, nutzt meist eine der großen Suchmaschinen wie Google, Bing oder DuckDuckGo. Dabei werden oft umfangreiche Daten über das Suchverhalten der Nutzer gesammelt und für personalisierte Werbung oder andere Zwecke eingesetzt. Eine Alternative bietet&nbsp;<a href="https://github.com/searxng/searxng">SearxNG</a>, eine datenschutzfreundliche Metasuchmaschine, die Suchanfragen an verschiedene Suchdienste weiterleitet, ohne selbst Nutzerdaten zu speichern oder zu übermitteln.</p>


<a class="wp-block-read-more" href="https://net73.de/let-me-searx-that-for-you/" target="_self">Weiterlesen<span class="screen-reader-text">: Let me searx that for you</span></a>


<h2 class="wp-block-heading">Was ist SearxNG?</h2>



<p>SearxNG ist eine Abspaltung des Open-Source-Projekts SearX und wird aktiv weiterentwickelt. Die Software bietet Nutzern die Möglichkeit, über eine anpassbare Weboberfläche anonyme Suchanfragen an verschiedene Suchmaschinen zu stellen. Dabei wird die IP-Adresse nicht an die Dienste weitergegeben und Tracking-Skripte werden blockiert.</p>



<p>Ein wesentlicher Vorteil von SearxNG ist die Möglichkeit, eine eigene Instanz zu betreiben. Dadurch ist es möglich, selbst zu steuern, welche Suchanbieter genutzt werden und welche Daten erhoben werden.</p>



<h2 class="wp-block-heading">Technische Grundlagen</h2>



<p>SearxNG ist in&nbsp;Python&nbsp;geschrieben und verwendet das&nbsp;Flask-Webframework. Die Suchergebnisse werden durch sogenannte&nbsp;Engines&nbsp;aggregiert, die unterschiedliche Suchdienste anbinden. Neben klassischer Websuche unterstützt SearxNG auch Bilder, Nachrichten, Wissenschaft, Software-Downloads und viele weitere Kategorien.</p>



<p>Die Weboberfläche ist in&nbsp;Jinja2,&nbsp;HTML&nbsp;und&nbsp;JavaScript&nbsp;realisiert und ermöglicht eine umfangreiche Konfiguration.</p>



<h2 class="wp-block-heading">SearxNG als Docker-Container betreiben</h2>



<p>Die Installation von SearxNG kann je nach Umgebung manuell oder über Container-Management erfolgen. Eine einfache Möglichkeit zur Einrichtung bietet Docker.</p>



<h3 class="wp-block-heading">Voraussetzungen</h3>



<ul class="wp-block-list">
<li>Installiertes&nbsp;<strong>Docker</strong>&nbsp;und&nbsp;<strong>Docker Compose</strong>&nbsp;(bei Bedarf kann&nbsp;<a href="https://docs.docker.com/get-docker/">Docker</a>&nbsp;auf dem System installiert werden).</li>
</ul>



<h3 class="wp-block-heading">Schritte zur Installation mit Docker</h3>



<pre title="SearxNG-Repository klonen" class="wp-block-code"><code lang="bash" class="language-bash">g<span style="background-color: initial; font-family: inherit; font-size: 1rem;">it clone https://github.com/searxng/searxng-docker.git </span>
<span style="background-color: initial; font-family: inherit; font-size: 1rem;">cd searxng-docker</span></code></pre>



<pre title="Docker-Umgebung konfigurieren" class="wp-block-code"><code lang="bash" class="language-bash"># Die Datei .env im Projektverzeichnis erlaubt Anpassungen. Standardmässig läuft SearxNG auf Port 8080
vim .env</code></pre>



<pre title="Container starten" class="wp-block-code"><code lang="bash" class="language-bash"># Die Instanz im Hintergrund starten:
compose up -d</code></pre>



<p>Im Anschluss kannst du SearxNG über deinen Browser unter http://localhost:8080 aufrufen und nutzen.</p>



<h3 class="wp-block-heading">Anpassung der Konfiguration</h3>



<p>Die Datei&nbsp;<code>searxng/settings.yml</code>&nbsp;enthält zahlreiche Konfigurationsoptionen, etwa die Auswahl der genutzten Suchmaschinen oder das Aktivieren von Caching. Nach Änderungen kann der Container durch&nbsp;<code>docker compose restart</code>&nbsp;neugestartet werden, um die Anpassungen zu übernehmen.</p>



<h2 class="wp-block-heading">Eigene SearxNG-Instanz nutzen</h2>



<p>Wer eine öffentliche Instanz sucht, kann beispielsweise die von mir betriebene Instanz unter&nbsp;<a href="https://searx.net73.de">searx.net73.de</a>&nbsp;nutzen. Dabei sollte jedoch bedacht werden, dass öffentliche Instanzen von Dritten betrieben werden und keine garantierte Verfügbarkeit bieten.</p>



<p>Für höchste Kontrolle empfiehlt sich der Betrieb einer eigenen Instanz, insbesondere wenn bestimmte Suchdienste priorisiert oder personalisierte Einstellungen genutzt werden sollen.</p>



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



<p>SearxNG bietet eine interessante Alternative zu kommerziellen Suchmaschinen und ermöglicht eine anonyme Suche ohne Tracking. Die Möglichkeit, eine eigene Instanz zu betreiben, erlaubt eine individuelle Anpassung der Suchumgebung. Wer Wert auf Datenschutz legt und sich eine personalisierte, werbefreie Suchmaschine wünscht, findet in SearxNG eine flexible Lösung.</p><p>The post <a href="https://net73.de/let-me-searx-that-for-you/">Let me searx that for you</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/let-me-searx-that-for-you/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hell Yeah or No? Hell Yeah!</title>
		<link>https://net73.de/hell-yeah-or-no-hell-yeah/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hell-yeah-or-no-hell-yeah</link>
					<comments>https://net73.de/hell-yeah-or-no-hell-yeah/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Thu, 29 May 2025 09:30:49 +0000</pubDate>
				<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[GTD]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3572</guid>

					<description><![CDATA[<p>Jeder von uns hat sicherlich ein Dutzend Dinge, die er/sie gerne erledigen würde &#8211; aber es gibt einfach so viel zu tun und so wenig Zeit. Diverse Tools und die eigene Motivation verleiten einen ganz schnell dazu, alles minutiös zu planen und organisieren. Um danach festzustellen: Der Plan war für die Katz&#8216; &#8211; denn: Es [&#8230;]</p>
<p>The post <a href="https://net73.de/hell-yeah-or-no-hell-yeah/">Hell Yeah or No? Hell Yeah!</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Jeder von uns hat sicherlich ein Dutzend Dinge, die er/sie gerne erledigen würde &#8211; aber es gibt einfach so viel zu tun und so wenig Zeit. Diverse Tools und die eigene Motivation verleiten einen ganz schnell dazu, alles minutiös zu planen und organisieren. Um danach festzustellen: Der Plan war für die Katz&#8216; &#8211; denn: Es kam dann doch alles ganz anders als geplant.</p>



<p>Schon vor einigen Monaten bin ich auf ein Buch gestoßen, welches hier speziell darauf eingeht, <em>was</em> wir hier überhaupt versuchen zu planen. Eine Erkenntnis aus jahrelanger Organisation dieser täglichen Aufgaben ist, eben <em>nicht</em> alles minutiös zu planen. “Hell Yeah or No” zeigt hier noch einen weiteren Punkt auf: Bevor geplant wird, wann wir was erledigen, sollten wir uns entscheiden, ob auch wirklich jede Aufgabe, jeder Termin, jede Planung überhaupt sinnvoll ist &#8211; oder uns im Endeffekt keinen Schritt weiterbringt und somit einfach Zeitverschwendung ist.<br>Das Buch “Hell Yeah or No” von Derek Sivers bietet eine erfrischende Perspektive auf Entscheidungsfindung und Prioritätensetzung im Leben. Sivers, der für seine Philosophie des minimalistischen Lebens bekannt ist, ermutigt die Leser dazu, Entscheidungen mit Klarheit und Entschlossenheit zu treffen. Der Titel selbst ist eine Art Mantra: Entweder man ist von einer Idee oder einem Vorhaben begeistert – ein klares “Hell Yeah” – oder man lässt es bleiben. Diese Schwarz-Weiß-Denkweise hilft, unnötige Verpflichtungen und halbherzige Entscheidungen zu vermeiden, die oft Zeit und Energie rauben.</p>



<p>Ein zentraler Punkt, den Sivers in seinem Buch anspricht, ist das Thema Selbstkontrolle. Der Autor argumentiert, dass der Hauptgrund, warum viele Menschen nicht das Leben führen, das sie sich wünschen, in einem Mangel an Selbstdisziplin liegt. Im Zitat “Your main obstacle to this amazing life will be self-control. You’ll need good time management to stop addictions like social media and video-watching, and make your art your main relaxing activity. You’ll need good mind management to not think of your job after you leave the office.” hebt er hervor, dass die Beherrschung der eigenen Zeit und Gedanken entscheidend ist, um ein erfülltes Leben zu führen. In einer Zeit, in der Ablenkungen nur einen Klick entfernt sind, wird die Fähigkeit, sich auf das Wesentliche zu konzentrieren und störende Einflüsse zu minimieren, immer wichtiger.</p>



<p>Abschließend bietet “Hell Yeah or No” nicht nur eine Anleitung für persönliche und berufliche Entscheidungsfindung, sondern auch eine tiefere Einsicht in die Kunst der Lebensführung. Sivers fordert uns auf, unsere Gewohnheiten zu überdenken und bewusstere Entscheidungen zu treffen. Indem wir uns darauf konzentrieren, was uns wirklich begeistert und erfüllt, können wir ein authentisches Leben führen, das unsere wahren Werte widerspiegelt.<br>Es ist jedenfalls ein sehr interessanter Ansatz, der noch vor der eigentlichen Aufgabenverteilung ansetzt.</p><p>The post <a href="https://net73.de/hell-yeah-or-no-hell-yeah/">Hell Yeah or No? Hell Yeah!</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/hell-yeah-or-no-hell-yeah/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Journal, ToDo, PKM: Capacities</title>
		<link>https://net73.de/journal-todo-pkm-capacities/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=journal-todo-pkm-capacities</link>
					<comments>https://net73.de/journal-todo-pkm-capacities/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Wed, 30 Apr 2025 05:19:16 +0000</pubDate>
				<category><![CDATA[Organisation]]></category>
		<category><![CDATA[capacities]]></category>
		<category><![CDATA[mac os]]></category>
		<category><![CDATA[pkms]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3553</guid>

					<description><![CDATA[<p>Von Bullet Journal und Notiz-Wirrwarr zum All-in-One-Tool Viele Wege führen zu einem organisierten digitalen Leben. Zig Tools habe ich inzwischen in diesem Bereich ausprobiert – von analogen Bullet Journals über Notion, Obsidian, TickTick, Things 3 bis hin zu diversen Tagebuch-, Kalender- und ToDo-Apps. Mittlerweile bin ich bei Capacities gelandet: Mein derzeit tägliches Journal und persönliches [&#8230;]</p>
<p>The post <a href="https://net73.de/journal-todo-pkm-capacities/">Journal, ToDo, PKM: Capacities</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Von Bullet Journal und Notiz-Wirrwarr zum All-in-One-Tool</h2>



<p>Viele Wege führen zu einem organisierten digitalen Leben. Zig Tools habe ich inzwischen in diesem Bereich ausprobiert – von analogen Bullet Journals über Notion, Obsidian, TickTick, Things 3 bis hin zu diversen Tagebuch-, Kalender- und ToDo-Apps. Mittlerweile bin ich bei Capacities gelandet: Mein derzeit tägliches Journal und persönliches Wissensmanagement-Tool (pkms &#8211; personal knowledge management system). Auch wenn keine Software sämtliche Bedürfnisse perfekt erfüllt, kommt Capacities meiner Vision einer zentralen, intuitiv nutzbaren Informationszentrale erstaunlich nah.</p>



<p>In diesem Artikel möchte ich einen Einblick geben, warum und wie ich Capacities für mich einsetze – und was es konkret zu meinem täglich genutzten Werkzeug macht. Zukünftige Artikel werden tiefer in spezifische Aspekte eintauchen und praktische Details zeigen. Doch beginnen wir hier mit einem ausführlichen Überblick.</p>



<h2 class="wp-block-heading">Warum überhaupt Capacities?</h2>



<p>Capacities unterscheidet sich auf angenehme Weise von den klassischen Organisationstools: Es verbindet den besten Kern von Wissensmanagement à la Notion oder Obsidian mit einer ansprechenden Gestaltung und reduziert den Arbeitsaufwand. Statt für jeden Anwendungsfall ein eigenes Tool zu verwenden, bündle ich meine Notizen, Tagebücher, Listen und persönlichen Inventare in einer Anwendung – einfach zugänglich und intuitiv verknüpfbar.</p>



<p>Der Mehrwert: Die Fähigkeit, Informationen flexibel zu strukturieren und sie intelligent miteinander zu vernetzen, passend zu eigenen Bedürfnissen. So entsteht Schritt für Schritt ein digitales Gehirn, das tatsächlich genutzt wird.</p>



<p>Ein entscheidendes Alleinstellungsmerkmal von Capacities im Vergleich mit Anwendungen wie Notion oder Obsidian liegt in seiner objektorientierten Notizstruktur. Dabei ist „Objekt“ ein wichtiger Begriff: Statt nur Seiten oder Dokumente anzulegen, arbeitet Capacities mit flexiblen, selbstdefinierten Objekttypen. Diese einzelnen Objekttypen bilden die Grundlage dafür, dass Informationen viel präziser strukturiert und verwaltet werden können.</p>



<p>Ein anschauliches Beispiel ist meine Vinyl-Schallplattensammlung: Für diese Sammlung habe ich mir ein maßgeschneidertes „LP“-Objekt erstellt. Dieses spezielle Objekt enthält genau jene Attribute, die für mich persönlich relevant sind, etwa Erscheinungsdatum, Album-Cover, Trackliste, Genre oder persönliches Review. Durch diese klar definierten, individuellen Eigenschaften sind Einträge in Capacities bedeutend besser nutzbar als einfache Textseiten oder Standarddatenbanken anderer Anbieter – weil sie exakt die Informationen präsentieren, die relevant sind.</p>



<figure class="wp-block-image size-large"><a href="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-13.35.58-1.png"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-13.35.58-1-1024x703.png" alt="Screenshot der App Capacities mit dem Beispiel einer Plattensammlung." class="wp-image-3558"/></a><figcaption class="wp-element-caption">Capacities &#8211; Plattensammlung in der Übersicht als Gallerie</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-13.43.13.png"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-13.43.13-1024x620.png" alt="" class="wp-image-3562"/></a><figcaption class="wp-element-caption">Capacities &#8211; Einzelobjekt-Ansicht</figcaption></figure>



<p>Diese Objektorientierung lässt sich auf beliebige Anwendungen übertragen und ist daher ideal geeignet für individuelles, persönliches Wissensmanagement. Ob Gesundheitsdaten, Bücherrezensionen, berufliche Projekte, Termine oder Journal-Einträge – jedes Objekt enthält maßgeschneiderte Felder und Metadaten, die genau zu dessen Zweck passen. Dadurch entsteht eine intuitive Datenbank des eigenen Lebens – leistungsfähiger und zugleich schneller zur Hand als alternative Lösungen.</p>



<p>Diese Art der Informationsverwaltung erklärt auch, warum Capacities so flexibel individuell angepasst werden kann: Die Möglichkeit, jede beliebige Art von Information objektorientiert und zielgenau zu strukturieren und miteinander zu verknüpfen, ist ein Kernprinzip, das beim täglichen Einsatz unschlagbare Vorteile bietet.</p>



<h2 class="wp-block-heading">Mein tägliches Journal: Die fixe Struktur für Fokus und Klarheit</h2>



<p>Das Rückgrat meines Einsatzes von Capacities bildet ein tägliches Journaling-Template, das ich selbst definieren und jederzeit anpassen konnte. Datumsbasierte Tages-Notizen sind dabei zentral, und Capacities erlaubt automatisch generierte Tagesobjekte, mit klarem Fokus auf morgendlicher Planung und abendlicher Reflexion.</p>



<p>Ein Blick auf mein tägliches Journaling-Template:</p>



<ul class="wp-block-list">
<li><strong>Morgendliche Reflexion:</strong>&nbsp;Kurz und knapp formulierte Gedanken zum Start in den Tag mit Fokus und Zielsetzung.</li>



<li><strong>Anstehende Termine:</strong>&nbsp;Hier trage ich (ergänzend zu meinem eigentlichen Kalender in BusyCal) täglich manuell ein, welche Termine bevorstehen – ein schneller Überblick, der Ablenkungen reduziert.</li>



<li><strong>Tägliche ToDos:</strong>&nbsp;Zentrale Aufgaben des Tages finden hier ihren Platz, basierend auf Prinzipien eines modifizierten „Getting Things Done“-Systems.</li>



<li><strong>Dankbarkeitslog:</strong>&nbsp;Kleine Sätze, kurze Stichpunkte oder Gedanken, die Bedürfnisse nach mentaler Klarheit und positiver Reflexion bedienen – bewusst kurz gehalten, um täglich umsetzbar zu bleiben.</li>



<li><strong>Gesundheitsdaten:</strong>&nbsp;Hier erfasse ich für mich wichtige Gesundheitsindikatoren, etwa Gewicht oder Blutdruck.</li>
</ul>



<p>Diese tägliche Routine erlaubt mir, produktiv und klar zu bleiben, ohne mich in endlosen Konfigurationsdetails zu verlieren.</p>



<figure class="wp-block-image size-large"><a href="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-14.22.13.png"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/CleanShot-2025-05-02-at-14.22.13-1024x620.png" alt="" class="wp-image-3565"/></a><figcaption class="wp-element-caption">Capacities &#8211; Daily Template: Tracking, Journal, Teilweise BuJo-Elemente, Kalender, Termine</figcaption></figure>



<h2 class="wp-block-heading">Überblick behalten mit dem PARA-System</h2>



<p>Neben der Tagesplanung nutze ich Capacities als umfassendes „zweites Gehirn“, inspiriert vom PARA-System nach Tiago Forte. Die PARA-Struktur – Projects, Areas, Resources, Archives – erlaubt mir einen klaren Überblick, ganz gleich ob kurzfristiges Projekt oder langfristige Wissensquelle.</p>



<p>Ein Beispiel meiner Anwendung:</p>



<ul class="wp-block-list">
<li><strong>Projects:</strong>&nbsp;Alle konkreten Vorhaben mit klarem Ziel, etwa „Weblog-Serie über AI-Tools“.</li>



<li><strong>Areas:</strong>&nbsp;Lebensbereiche wie Gesundheit, Beruf, Blog oder Privates.</li>



<li><strong>Resources:</strong>&nbsp;Allgemeine Ressourcen, etwa Wissen, Tutorials oder Sammlungen.</li>



<li><strong>Archives:</strong>&nbsp;Abgeschlossene Dinge, einfach wegsortiert und doch leicht wieder hervorholbar.</li>
</ul>



<p>Innerhalb von Capacities habe ich mir passende „Objekte“ definiert, etwa ein „LP“-Objekt, in dem ich meine komplette Vinyl-Plattensammlung strukturiert erfasse. Solche angepassten Objekttypen lassen sich flexibel auf jede Informationsart zuschneiden, von Gesundheitseinträgen über journalistische Recherchematerialien bis hin zu kreativen Ideen.</p>



<h2 class="wp-block-heading">Capacities als „Low-Level“-Kalender und ToDo: Reicht das?</h2>



<p>Zugegeben: Capacities ist für mich keine vollständige Ersatzlösung für externe professionelle Kalender oder spezialisierte GTD-Programme. Ich verwende weiterhin BusyCal, um Termine und Erinnerungen zu verwalten. Doch Capacities bietet die ideale Ergänzung, indem es meine wichtigsten täglichen Termine übersichtlich direkt in das Journal einbindet und Aufgaben unkompliziert erfassbar macht.</p>



<p>Die cleveren Verlinkungsmöglichkeiten zwischen Tagesnotizen, ToDos und Terminen helfen mir, auch komplexen Überblick zu behalten – tatsächlich reduziert dieses Zusammenspiel die mentalen Reibungsverluste.</p>



<h2 class="wp-block-heading">Bullet Journal-Elemente intelligent digital übertragen</h2>



<p>Wer – wie ich – mit einem Bullet Journal startete, wird bestimmte Modellkonzepte nicht missen wollen. Monthly Logs, Habit Tracking, Reflexionen, projektbasierte Checklisten – all das lässt sich in Capacities sehr gut umsetzen. Hier gelingt der Spagat zwischen rigoroser Struktur und maximaler Flexibilität, der analoge Bullet Journal Nutzer begeistert, ohne je starr und gezwungen zu wirken.</p>



<p>(Konkrete Beispiele und Einblicke, wie ich Monats-Logs und Habit Tracker abbildete, folgen in einem späteren Artikel.)</p>



<h2 class="wp-block-heading">Capacities als Cloud-Zentrale – bleibe ich wirklich dabei?</h2>



<p>Die größte Frage beim persönlichen Wissensmanagement mit Digitaltools dreht sich um Konsistenz: Wie bleibe ich am Ball? Mein Schlüssel dazu in Capacities sind angenehm minimale Routinen und clevere Automatisierung: máßgeschneiderte Eingabemasken und sinnvolle Templates reduzieren mentalen Aufwand deutlich.</p>



<p>Die flexible Vernetzung einzelner Notizen, Objekte und Ressourcen sorgt wiederum für ständigen Mehrwert – was die Motivation, das System kontinuierlich und langfristig zu pflegen, stark unterstützt.</p>



<h2 class="wp-block-heading">Fazit: Lohnt sich der Einstieg in Capacities?</h2>



<p>Für Nutzer, die nach einem digitalen Alleskönner für Journaling, Wissensmanagement, ToDo-Listen und reflexiver Selbstorganisation zugleich suchen, überzeugt Capacities durch seinen zwischen klarer Struktur und sympathischer Einfachheit ausbalancierten Ansatz.</p>



<p>Gerade Nutzer, die bislang in der Vielzahl spezialisierter Tools keinen echten Mehrwert finden konnten, dürften hier effektiv und schnell ihre perfekte digitale Heimat entdecken.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>In kommenden Artikeln werde ich einzelne Aspekte meines Systems weiter vertiefen. Geplante Themen sind unter anderem:</p>



<ul class="wp-block-list">
<li>Termine einfach integrieren und abrechnen</li>



<li>Effektive ToDo-Listen nach dem GTD-System</li>



<li>Umsetzung spezifischer Bullet-Journal-Elemente</li>



<li>Tipps, um langfristig dran zu bleiben</li>



<li>Der Einstieg in Capacities für Einsteiger</li>
</ul>



<p>Haben Sie Fragen oder konkrete Anmerkungen zu diesem Artikel? Ich freue mich über jeden Dialog!</p><p>The post <a href="https://net73.de/journal-todo-pkm-capacities/">Journal, ToDo, PKM: Capacities</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/journal-todo-pkm-capacities/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Die weiße Meddl-Paula</title>
		<link>https://net73.de/die-weisse-meddl-paula/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=die-weisse-meddl-paula</link>
					<comments>https://net73.de/die-weisse-meddl-paula/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Sat, 19 Apr 2025 08:45:41 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[gitarre]]></category>
		<category><![CDATA[meddlstadl]]></category>
		<category><![CDATA[metal]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3526</guid>

					<description><![CDATA[<p>Im Sommer 2012 war meine damalige Band MEDDLSTADL im Stuttgarter Umland ganz gut dabei. Die Demo wurde ganz gut im Metal Hammer rezensiert, einige ganz hochwertige Gigs standen an, was irgendwann 2014 dann als Abschluss-Slot auf dem Metalacker Festival &#8211; damals mit Crematory &#8211; endete. In der Zeit wurde &#8211; ich falle generell in JEDES [&#8230;]</p>
<p>The post <a href="https://net73.de/die-weisse-meddl-paula/">Die weiße Meddl-Paula</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Im Sommer 2012 war meine damalige Band MEDDLSTADL im Stuttgarter Umland ganz gut dabei. Die Demo wurde ganz gut im Metal Hammer rezensiert, einige ganz hochwertige Gigs standen an, was irgendwann 2014 dann als Abschluss-Slot auf dem Metalacker Festival &#8211; damals mit Crematory &#8211; endete.</p>



<p>In der Zeit wurde &#8211; ich falle generell in JEDES Rabbithole &#8211; die ganze Sache um die Gitarre immer nerdiger. Es gab keine Klampfe von der Stange, die mir das bot, was ich mir vorstellte. So dachte ich jedenfalls. Dabei entstand allerdings ein kleines Projekt, welches mich vor allem beim Verständnis der Gitarrentechnik und -Elektronik um einiges weitergebracht hatte. </p>



<p>Letztendlich sollte es eine Bauart nach Les Paul werden, bestückt mit passiven Pickups, die aber ordentlich Output liefern sollten. Die aktiven EMGs waren mir damals du abgeschliffen, zu wenig analog dynamisch &#8211; aus heutiger Sicht winke ich dabei ab. Ich bin in der Sache auch sehr viel ausgeglichener, weniger verbissen und offener geworden. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Basis war eine sehr, sehr billige China-Les-Paul von einem Noname-Hersteller, die allerdings in den Grundzügen eine ganz solide Basis darstellte (auch wenn das Holz jetzt nicht sonderlich hochwertig war).</p>



<p>In diesem Beitrag beschreibe ich, wie ich vorgegangen bin und wie lange ich das Teil auch tatsächlich gespielt habe.</p>



<span id="more-3526"></span>



<h2 class="wp-block-heading">Vorüberlegungen</h2>



<p>Bevor der ganze Spaß losging, war es aus meiner Sicht wichtig, sämtliche Kleinteile auszusuchen und in ein passendes Gesamtkonzept zu bringen. Die Gitarre sollte komplett neu bestückt werden &#8211; von der Bridge, Tonabnehmer, Elektronik bis zu den Mechaniken. Mir schwebte vor, eine komplett weiße Gitarre zu bauen, die in hartem Kontrast dazu schwarze Hardware nutzt. Allerdings: Mir gefiel &#8222;Black Nickel&#8220; besser als das typische Hochglanzschwarz. Die Komponenten sollten auch alle hochwertig sein, so dass ich Hardware von Schaller beschaffte (alles im Ton Black Nickel). Ebenso natürlich die SecureLocks für den Gurt. Damit sind eh schon alle meine Gitarren und Bässe ausgestattet.</p>



<p>Tonabnehmer: Hier hatte ich die IronGear Steam Hammer Humbucker ausgesucht. Ich hatte diese schon mal auf einer anderen Gitarre testen können und &#8222;alter Schwede&#8220;: Die Dinger sind aggro!</p>



<h2 class="wp-block-heading">Bünde abrichten</h2>



<p>Die Bünde am Rohbau waren nicht sonderlich fein verarbeitet. Ich wollte diese aber butterfein bespielbar haben. Daher wurde erstmal das gesamte Griffbrett abgeklebt und im Anschluss die Bünde sauber herausgeschliffen und abgerichtet.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120610-1833.jpeg" alt="" class="wp-image-3530"/><figcaption class="wp-element-caption">Abgeklebte Bünde</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120610-1837.jpeg" alt="" class="wp-image-3534"/><figcaption class="wp-element-caption">Überprüfen, ob der Hals plan ist</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120610-2022.jpeg" alt="" class="wp-image-3535"/><figcaption class="wp-element-caption">Schöne Perlmutt-Inlays auf dem Griffbrett</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120610-2041.jpeg" alt="" class="wp-image-3536"/><figcaption class="wp-element-caption">Die Bridge wird verbaut. Die zuvor angebrachte Bridge hat netterweise diesselben Bohrmasse wie die Schallerbridge. Das ist nicht immer so &#8211; hier hat es gepasst. Das erspart natürlich sehr viel Gebohre und neues ausrichten.</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120610-2247.jpeg" alt="" class="wp-image-3537"/><figcaption class="wp-element-caption">Die Irongear Steamhammer Humbucker werden verbaut. Der typische Drei-Wege-Schalter ist ebenfalls schon montiert. </figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611_0004.jpeg" alt="" class="wp-image-3538"/><figcaption class="wp-element-caption">Die haptisch wirklich sehr geil anmutenden Gotoh-Mechaniken (ebenfalls Black Nickel) werden angeschraubt.</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611-0005.jpeg" alt="" class="wp-image-3539"/><figcaption class="wp-element-caption">Leider geil &#8211; die Klampfe ist sehr stimmstabil &#8211; soviel sei jetzt schon gesagt, aber an den Teilen dreht man schon sehr gerne herum&#8230; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611-0014.jpeg" alt="" class="wp-image-3540"/><figcaption class="wp-element-caption">Äußerst wichtig: sauber löten. Das darf ruhig nach Chaos aussehen, aber die Kontakte müssen alle ordentlich verlötet sein und nichts sollte sich berühren. Dazu nutze ich auch an etlichen Kabeln noch zusätzliche Gummischläuche. Wenns später raschelt und/oder brummt, kannst du den ganzen Mist wieder auseinandernehmen und auf Fehlersuche gehen.</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611-0123-001-1.jpeg" alt="" class="wp-image-3541"/><figcaption class="wp-element-caption">Kostet nicht viel &#8211; erspart aber auch Ärger, wenn man nicht das günstigste Teil verbaut: Der Klinkenanschluss. Sicherheitshalber ebenfalls ersetzt. Sieht zwar kein Mensch &#8211; aber den wollte ich ebenfalls in schwarz haben.</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611-0223.jpeg" alt="" class="wp-image-3542"/><figcaption class="wp-element-caption">Schlagbrett war m.W. am gekauften Rohling gar nicht vorgesehen. Hier montiere ich eins &#8211; auch weil es nochmal den Kontrast schwarz/weiß unterstützt. Potis: Da gibts ja inzwischen einen ganzen Markt. Ich fand die klaren mit schwarzem Boden ganz schick.</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://net73.de/wp-content/uploads/2025/04/20120611-0345.jpeg" alt="" class="wp-image-3543"/><figcaption class="wp-element-caption">Noch Saiten drauf, dann siehts schon so langsam nach Gitarre aus. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></figcaption></figure>



<p>Ich hatte die Gitarre auch tatsächlich ein paar Mal auf Gigs gespielt. Letztendlich wurde es aber nicht meine Hauptgitarre. Zwischenzeitlich habe ich auch gar keine Hauptgitarre. Da ich für verschiedene Zwecke auch immer eine jeweils andere Gitarre nutze. Das reicht von der uralten echten Les Paul (Custom, Bj. 1978) über diverse Fender mit klassischem Tremolo, Floyd Rose, hin zu einem reinen Metalbrett mit Schaller FR, einer analogen Metalklampfe mit analogen Tonabnehmern bis hin zu den akkustischen Gitarren. Die weiße LP ist natürlich auch noch da und wird auch für diverse Metal-Aufnahmen herausgeholt.</p>



<p>Weiter unten habe ich noch ein Stück aus 2012 aus der ersten Meddlstadl-Demo verlinkt. Das ganze Stück sollte so ein wenig im Manowar-Stil umgesetzt sein. Überhaupt war ja die Idee hinter Meddlstadl, dass wir deutsche Volkslieder im Metal-Style neu arrangieren. Also keine Schlager, sondern tatsächlich Volkslieder (was auch lizenzrechtliche Gründe hatte).</p>



<figure 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 class="wp-block-image size-large"><a href="https://net73.de/wp-content/uploads/2025/04/Facebook-Bild-1.jpg"><img decoding="async" data-id="3545" src="https://net73.de/wp-content/uploads/2025/04/Facebook-Bild-1-683x1024.jpg" alt="" class="wp-image-3545"/></a></figure>



<figure class="wp-block-image size-large"><a href="https://net73.de/wp-content/uploads/2025/04/Facebook-Bild.jpg"><img decoding="async" data-id="3544" src="https://net73.de/wp-content/uploads/2025/04/Facebook-Bild.jpg" alt="" class="wp-image-3544"/></a></figure>
</figure>



<figure class="wp-block-embed is-type-rich is-provider-soundcloud wp-block-embed-soundcloud"><div class="wp-block-embed__wrapper">
<iframe title="Meddlstadl - Wie ein stolzer Adler by meddlstadl" width="800" height="400" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?visual=true&#038;url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F68709756&#038;show_artwork=true&#038;maxheight=1000&#038;maxwidth=800"></iframe>
</div></figure><p>The post <a href="https://net73.de/die-weisse-meddl-paula/">Die weiße Meddl-Paula</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/die-weisse-meddl-paula/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pixelfed &#8211; die Instagram-Alternative</title>
		<link>https://net73.de/pixelfed-die-instagram-alternative/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pixelfed-die-instagram-alternative</link>
					<comments>https://net73.de/pixelfed-die-instagram-alternative/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 18:50:13 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3519</guid>

					<description><![CDATA[<p>In der heutigen Zeit, in der soziale Medien zunehmend zentralisiert und von großen Konzernen kontrolliert werden, gewinnt die Idee dezentraler Plattformen an Bedeutung. Pixelfed ist eine Open-Source-Alternative zu Instagram, die auf dem ActivityPub-Protokoll basiert und es Nutzern ermöglicht, Bilder zu teilen, ohne ihre Daten an zentrale Server zu übermitteln. In diesem Beitrag werde ich mich [&#8230;]</p>
<p>The post <a href="https://net73.de/pixelfed-die-instagram-alternative/">Pixelfed – die Instagram-Alternative</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>In der heutigen Zeit, in der soziale Medien zunehmend zentralisiert und von großen Konzernen kontrolliert werden, gewinnt die Idee dezentraler Plattformen an Bedeutung. Pixelfed ist eine Open-Source-Alternative zu Instagram, die auf dem ActivityPub-Protokoll basiert und es Nutzern ermöglicht, Bilder zu teilen, ohne ihre Daten an zentrale Server zu übermitteln. In diesem Beitrag werde ich mich genauer mit Pixelfed befassen, die Funktionsweise erklären und eine Schritt-für-Schritt-Anleitung zur Installation und Absicherung einer eigenen Instanz bereitstellen.</p>



<h2 class="wp-block-heading">Was ist Pixelfed?</h2>



<p>Pixelfed ist eine dezentrale Plattform zum Teilen von Bildern, die es Nutzern ermöglicht, ihre eigenen Inhalte zu erstellen und zu teilen, während sie die Kontrolle über ihre Daten behalten. Die Plattform nutzt das ActivityPub-Protokoll, was bedeutet, dass Nutzer von verschiedenen Instanzen miteinander interagieren können. Dies fördert eine offene und vernetzte Gemeinschaft, die nicht von einem einzigen Anbieter abhängig ist.</p>



<h2 class="wp-block-heading">Funktionsweise von Pixelfed</h2>



<p>Pixelfed basiert auf einer Microservices-Architektur, die verschiedene Komponenten umfasst, darunter:</p>



<ul class="wp-block-list">
<li><strong>Frontend</strong>: Das Benutzerinterface, das in PHP via Laravel entwickelt wurde.</li>



<li><strong>Backend</strong>: Die API, die die Datenverarbeitung und -speicherung übernimmt.</li>



<li><strong>Datenbank</strong>: Pixelfed verwendet eine relationale Datenbank (üblicherweise MySQL/MariaDB oder PostgreSQL) zur Speicherung von Benutzerinformationen und Mediendateien.</li>



<li><strong>Caching</strong>: Um die Performance zu optimieren, wird ein Caching-System (wie Redis) eingesetzt, um häufig abgerufene Daten zwischenzuspeichern.</li>
</ul>



<h2 class="wp-block-heading">Installation einer eigenen Pixelfed-Instanz</h2>



<p>Um eine eigene Instanz von Pixelfed zu installieren, benötigen wir einen Server mit den folgenden Anforderungen:</p>



<ul class="wp-block-list">
<li><strong>Betriebssystem</strong>: Ubuntu 20.04 oder höher.</li>



<li><strong>Webserver</strong>: Nginx oder Apache.</li>



<li><strong>Datenbank</strong>: MySQL oder PostgreSQL.</li>



<li><strong>PHP</strong>: Version 7.4 oder höher.</li>
</ul>



<h3 class="wp-block-heading">Schritt 1: Server vorbereiten</h3>



<pre title="Zuerst aktualisieren wir das System und installieren die notwendigen Pakete:" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">sudo apt update &amp;&amp; sudo apt upgrade
sudo apt install git curl unzip</code></pre>



<h3 class="wp-block-heading">Schritt 2: PHP und Abhängigkeiten installieren</h3>



<pre title="Installation der benötigten PHP-Erweiterungen" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">sudo apt install php php-cli php-fpm php-mysql php-xml php-mbstring php-curl php-zip php-gd php-bcmath php-json php-redis</code></pre>



<h3 class="wp-block-heading">Schritt 3: Datenbank einrichten</h3>



<pre title="Neue Datenbank unter MySQL/MariaDB erstellen" class="wp-block-code"><code lang="sql" class="language-sql line-numbers">CREATE DATABASE pixelfed;
CREATE USER 'pixelfed'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON pixelfed.* TO 'pixelfed'@'localhost';
FLUSH PRIVILEGES;</code></pre>



<h3 class="wp-block-heading">Schritt 4: Pixelfed herunterladen und konfigurieren</h3>



<pre title="PixelFed-Repository clonen" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">git clone https://github.com/pixelfed/pixelfed.git
cd pixelfed</code></pre>



<pre title=".env-Datei erstellen (aus der .env.example) und editieren" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">cp .env.example .env
vim .env</code></pre>



<p>Setze die gewünschten Werte für <code>DB_DATABASE</code>, <code>DB_USERNAME</code> und <code>DB_PASSWORD</code>.</p>



<h3 class="wp-block-heading">Schritt 5: Abhängigkeiten installieren</h3>



<pre title="PHP-Abhängigkeiten via Composer installieren" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">composer install --optimize-autoloader --no-dev</code></pre>



<h3 class="wp-block-heading">Schritt 6: Anwendung konfigurieren</h3>



<pre title="Migrate und Seed" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">php artisan migrate --seed</code></pre>



<h3 class="wp-block-heading">Schritt 7: Webserver konfigurieren</h3>



<p>Konfiguriere Nginx oder Apache, um auf die Pixelfed-Instanz zuzugreifen. Hier ein Beispiel für Nginx:</p>



<pre class="wp-block-code"><code lang="nginx" class="language-nginx line-numbers">server {
    listen 80;
    server_name your-domain.com;

    root /path/to/pixelfed/public;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
</code></pre>



<h3 class="wp-block-heading">Schritt 8: SSL-Zertifikat einrichten</h3>



<pre title="SSL-Zertifikat via certbot/Letsencrypt erstellen" class="wp-block-code"><code lang="bash" class="language-bash line-numbers">sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx</code></pre>



<h2 class="wp-block-heading">Absicherung der Pixelfed-Instanz</h2>



<p>Um Ihre Pixelfed-Instanz zu sichern, solltest Du folgende Schritte in Betracht ziehen:</p>



<ol class="wp-block-list">
<li><strong>Firewall einrichten</strong>: Beispielsweise <code>ufw</code>, um den Zugriff auf den Server zu steuern.</li>



<li><strong>Regelmäßige Updates</strong>: Halte Dein System und alle Softwarepakete aktuell. Am Besten gleich Reminder anlegen</li>



<li><strong>Backup-Strategie</strong>: Implementiere regelmäßige Backups von Datenbank und Mediendateien.</li>



<li><strong>Monitoring</strong>: Setze Monitoring-Tools ein, um die Integrität der Instanz zu überwachen. Ein Beitrag zu Monitoring-Tools bereite ich vor. Das dauert allerdings noch etwas.</li>
</ol>



<h4 class="wp-block-heading">Fazit</h4>



<p>Pixelfed ist eine vielversprechende Alternative zu zentralisierten Bildplattformen. Die Installation und der Betrieb einer eigenen Instanz sind mit den richtigen Schritten und Tools gut machbar. Durch die dezentralisierte Natur von Pixelfed hast Du die Kontrolle über Deine Daten und kannst Teil einer wachsenden Community werden, die Wert auf Privatsphäre und Unabhängigkeit legt.</p><p>The post <a href="https://net73.de/pixelfed-die-instagram-alternative/">Pixelfed – die Instagram-Alternative</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/pixelfed-die-instagram-alternative/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tubeless &#8211; Nichts anderes mehr (für Vielfahrer)</title>
		<link>https://net73.de/tubeless-nichts-anderes-mehr-fuer-vielfahrer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tubeless-nichts-anderes-mehr-fuer-vielfahrer</link>
					<comments>https://net73.de/tubeless-nichts-anderes-mehr-fuer-vielfahrer/#respond</comments>
		
		<dc:creator><![CDATA[Marc Eggert]]></dc:creator>
		<pubDate>Tue, 11 Mar 2025 20:53:38 +0000</pubDate>
				<category><![CDATA[Fahrrad]]></category>
		<guid isPermaLink="false">https://net73.de/?p=3457</guid>

					<description><![CDATA[<p>Ich fahre seit einigen Jahren mit dem Rad zur Arbeit (Hashtag in sozialen Medien: #mdRzA). In der Vergangenheit hatte ich in unterschiedlichen Abständen mal öfter, mal seltener, aber meistens ca. 2 Fälle im Halbjahr, bei denen ich einen Platten hatte. Der Aufwand dabei ist schon ziemlich aufwändig, wird manchmal durch entsprechende Wetterlage (Winter, Regen, Wind, [&#8230;]</p>
<p>The post <a href="https://net73.de/tubeless-nichts-anderes-mehr-fuer-vielfahrer/">Tubeless – Nichts anderes mehr (für Vielfahrer)</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image alignleft size-large is-resized"><img decoding="async" width="1024" height="810" src="https://net73.de/wp-content/uploads/2025/03/20250311_Ebike_Bulls_WeissachFlacht-1024x810.webp" alt="" class="wp-image-3458" style="width:436px;height:auto" srcset="https://net73.de/wp-content/uploads/2025/03/20250311_Ebike_Bulls_WeissachFlacht-1024x810.webp 1024w, https://net73.de/wp-content/uploads/2025/03/20250311_Ebike_Bulls_WeissachFlacht-300x237.webp 300w, https://net73.de/wp-content/uploads/2025/03/20250311_Ebike_Bulls_WeissachFlacht-768x608.webp 768w, https://net73.de/wp-content/uploads/2025/03/20250311_Ebike_Bulls_WeissachFlacht.webp 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Ich fahre seit einigen Jahren mit dem Rad zur Arbeit (Hashtag in sozialen Medien: #mdRzA). In der Vergangenheit hatte ich in unterschiedlichen Abständen mal öfter, mal seltener, aber meistens ca. 2 Fälle im Halbjahr, bei denen ich einen Platten hatte. Der Aufwand dabei ist schon ziemlich aufwändig, wird manchmal durch entsprechende Wetterlage (Winter, Regen, Wind, etc.) erschwert und setzt natürlich voraus, dass du entsprechendes Werkzeug dabei hast. Wenns dann noch das Hinterrad betrifft, ist das noch etwas umständlicher.</p>



<p>Das alles ist mit Aufwand verbunden, da zwischen Mantel und Felge eben der Schlauch liegt, der in den meisten Fällen ersetzt oder falls möglich geflickt werden muss und dazu herausgenommen werden muss.</p>



<p>Zwischenzeitlich habe ich ALLE meine Fahrräder &#8222;tubeless&#8220; gemacht. Das bedeutet: Zwischen Mantel und Felge habe ich keinen Schlauch mehr. Das hat eben genau diesen Vorteil, dass der Mantel gar nicht mehr von der Felge muss, außer der Mantel ist eben dermaßen kaputt, dass weder Dichtmilch noch Gummipfropfen das Loch/den Grund für den Luftverlust schließen könnten. Und DAS ist mir bislang noch nie passiert. Für den Fall der Fälle habe ich allerdings trotzdem immer noch einen passenden Ersatzschlauch dabei. Der wäre im Notfall also auch wieder schnell aufgezogen. Mit dem entsprechenden Mehraufwand eben.</p>



<h2 class="wp-block-heading">Mögliche Reifenpannen mit Tubeless-Rädern</h2>



<p>Tja, über Glasscherben, Rosendornen, Nägel, etc. fährst du eben auch mit Tubeless-Rädern drüber. Dabei bohren sich diese Gegenstände dann teilweise auch komplett durch den Mantel. Was passiert dann?</p>



<p>Im Idealfall kommt die Dichtmilch in den Rädern zum Zug. Ein Tubeless-Setup besteht immer aus einem Felgenband, welches den Luftaustritt in Richtung Speichen verhindern soll und einer Dichtmilch, die als Pannenschutz dient, aber auch sämtliche Stellen abdichten soll, durch die möglicherweise Luft aus dem Reifen entweichen kann. Fährst du über ein Dorn, oder einen ähnlichen Gegenstand, der ein kleineres Loch in den Mantel piekst, sollte die Dichtmilch so gut arbeiten, dass dieses Loch während sich das Rad dreht wieder geschlossen wird. Die Dichtmilch ist i.d.R. dickflüssig und mit feinen Fasern versehen, die auch relativ schnell an der Luft trocknet. In den meisten Fällen wirst du also ggf. gar nicht mitbekommen, dass du eigentlich einen Reifenpanne hattest. Weil die Dichtmilch eben ihren Job getan hat. Bislang zwei Mal ist es bei mir vorgekommen, dass die Dichtmilch das Loch im Mantel nicht mehr schließen konnte. Das waren dann aber auch schon ziemlich breite Schnitte im Mantel.</p>



<h2 class="wp-block-heading">Das ist doch alles eine Sauerei, weil die Milch sofort überall hinkleckert</h2>



<p>Es gibt sehr viele Anleitungen in den sozialen Medien, Videos und Blogs, die grundsätzlich beschreiben, wie das mit dem Umrüsten auf tubeless funktioniert, allerdings sind das oft Methoden, die ich für nicht sehr geschickt halte. Und ich habe einige Methoden getestet. Zugegeben: Manche Methoden funktionieren mit bestimmten Mänteln besser als mit anderen. Manchmal hat man sehr fiese Flanken in den Felgen und dazu dann noch störrische sehr zähe Reifen, so dass ein Aufziehen des Mantels generell schon ein frustrierender Vorgang ist. Bislang hatte ich das bei EINEM Bike, dass es richtig nervig war &#8211; und das war beim Cannondale Topstone 1 meiner Frau (WTB i21 light Felgen + WTB Riddler Mäntel). Auf dem Cannondale Topstone 0 von mir ist zwar die gleiche Konfiguration &#8211; die Reifen waren aber hier sehr, sehr viel leichter aufzubringen.</p>



<p>Die Methode, die bei mir auf bislang allen Felgen und Mänteln bislang astrein funktioniert hat &#8211; auch ohne Kompressor &#8211; und dazu sauber und ohne Sauerei: Aufziehen des Mantels zunächst ohne Dichtmilch.</p>



<p>Die Sauerei bei den meisten Methoden entsteht dann, wenn der Mantel beim Aufpumpen ohne Schlauch nicht auf die Felgenflanken springt &#8211; also die höheren Seiten innerhalb der Felge. Dass das ggf. nicht sofort funktioniert, merkt man aber i.d.R. erst, wenn man es probiert. Und genau da geht dann das Gesuppe los.</p>



<h3 class="wp-block-heading">Was du brauchst</h3>



<ul class="wp-block-list">
<li>Felgenband: Hier solltest du schauen, wie breit deine Felge ist und dann ein entsprechend passendes Felgenband bestellen.</li>



<li>Tubeless-Ventile: Bei Schlauch-Rädern ist das Ventil darin ja schon fest verbaut. Wir entfernen ja den Schlauch, daher müssen wir Ventile fest in die Felge installieren. Das geht allerdings auch sehr einfach und die halten auch erstaunlich dicht!</li>



<li>Dichtmilch: Das ist ein MUSS &#8211; und nicht nur Pannenhilfe oder so! Ich dachte anfangs oft, dass man die Dichtmilch nur benötigt, dass Löcher geschlossen werden, wenn mal eine Panne ist. Dem ist nicht so! Die Dichtmilch verschließt dauerhaft kleinere Stellen, durch die ggf. Luft entweichen könnte. Im Lauf der Zeit wird so dein Laufrad auch immer luftdichter, während du in den ersten Tagen doch relativ oft nachpumpen musst.</li>



<li>Werkzeug: Reifenheber, Ventil-Werkzeug</li>
</ul>



<h3 class="wp-block-heading">Felgenband anbringen</h3>



<p>Das fühlt sich beim ersten Mal sehr fummelig an &#8211; aber nimm dir einfach Zeit dafür und mach es sorgfältig. Es ist nicht schwer &#8211; du musst nur laaaangsam dabei vorgehen. Wir fangen mit dem Anbringen ca. zwei Daumen breit vom Ventil-Loch der Felge an und hören nach einer Umrundung dann ca. 2 Daumen breit dahinter auf. Damit ist über dem Ventil dann doppelt Felgenband. Wichtig dabei ist: Schau, dass möglichst die ganze Felgenbreite abgedeckt ist und dass du möglichst immer gleich beim Auftragen im Felgenbett eventuelle Luftbläschen wegmassierst. Ganz kleine Bläschen dürfen da schon noch sein, aber großflächig Luft unterm Felgenband wäre nicht so gut.</p>



<figure 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 class="wp-block-image size-large"><img decoding="async" width="768" height="1024" data-id="3504" src="https://net73.de/wp-content/uploads/2025/03/bafkreicgfsn4agxuxejlvuzfmti3zc4dq24qe5cylbfzqoaod6cczjnrjm-768x1024.webp" alt="" class="wp-image-3504" srcset="https://net73.de/wp-content/uploads/2025/03/bafkreicgfsn4agxuxejlvuzfmti3zc4dq24qe5cylbfzqoaod6cczjnrjm-768x1024.webp 768w, https://net73.de/wp-content/uploads/2025/03/bafkreicgfsn4agxuxejlvuzfmti3zc4dq24qe5cylbfzqoaod6cczjnrjm-225x300.webp 225w, https://net73.de/wp-content/uploads/2025/03/bafkreicgfsn4agxuxejlvuzfmti3zc4dq24qe5cylbfzqoaod6cczjnrjm.webp 960w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" data-id="3505" src="https://net73.de/wp-content/uploads/2025/03/bafkreiedv3ygvpmmtp6qaufrmutv3w4ewgn3xotzcqcvsaxzvnhppe5j2i-768x1024.webp" alt="" class="wp-image-3505" srcset="https://net73.de/wp-content/uploads/2025/03/bafkreiedv3ygvpmmtp6qaufrmutv3w4ewgn3xotzcqcvsaxzvnhppe5j2i-768x1024.webp 768w, https://net73.de/wp-content/uploads/2025/03/bafkreiedv3ygvpmmtp6qaufrmutv3w4ewgn3xotzcqcvsaxzvnhppe5j2i-225x300.webp 225w, https://net73.de/wp-content/uploads/2025/03/bafkreiedv3ygvpmmtp6qaufrmutv3w4ewgn3xotzcqcvsaxzvnhppe5j2i.webp 960w" sizes="(max-width: 768px) 100vw, 768px" /></figure>
</figure><p>The post <a href="https://net73.de/tubeless-nichts-anderes-mehr-fuer-vielfahrer/">Tubeless – Nichts anderes mehr (für Vielfahrer)</a> first appeared on <a href="https://net73.de">NET73</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://net73.de/tubeless-nichts-anderes-mehr-fuer-vielfahrer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
