[{"content":"Verantwortlicher Verantwortlich für die Datenverarbeitung auf dieser Website ist der im Kontakt genannte Betreiber.\nUmfang der Verarbeitung Diese Website ist eine statische Seite. Es gibt keine Benutzerkonten, keine Kommentarfunktion, keine Formulare, keine Reichweitenmessung und keine Einbindung von Inhalten Dritter. Alle Schriften, Stylesheets und Skripte werden vom eigenen Server ausgeliefert.\nCookies Diese Website setzt keine Cookies. Die Auswahl zwischen hellem und dunklem Design wird ausschließlich lokal im Browser (localStorage) gespeichert und nicht an den Server übertragen.\nServer-Logfiles Beim Abruf der Seiten protokolliert der Webserver automatisch Daten, die der Browser übermittelt:\ngekürzte IP-Adresse Datum und Uhrzeit der Anfrage aufgerufene Adresse und übertragene Datenmenge Referrer-URL Browsertyp und Betriebssystem Diese Daten sind technisch erforderlich, um die Seite auszuliefern und deren Stabilität und Sicherheit zu gewährleisten. Rechtsgrundlage ist das berechtigte Interesse nach Art. 6 Abs. 1 lit. f DSGVO. Eine Zusammenführung mit anderen Datenquellen findet nicht statt, eine Auswertung zu Analysezwecken erfolgt nicht.\nDie vollständige IP-Adresse wird nicht gespeichert: nginx kürzt sie bereits beim Schreiben des Protokolls. Bei IPv4 fällt das letzte Oktett weg, bei IPv6 alles hinter den ersten beiden Blöcken. Eine Zuordnung zu einer Person ist damit nicht mehr möglich. Die Protokolle werden nach 14 Tagen automatisch gelöscht.\nHosting Die Website läuft auf einem eigenen Server bei der netcup GmbH, Emmy-Noether-Straße 10, 76131 Karlsruhe. netcup stellt Hardware, Netzanbindung und Rechenzentrum bereit; der Webserver selbst wird von mir betrieben und administriert. Da netcup technischen Zugriff auf die Systeme hat, besteht ein Vertrag über Auftragsverarbeitung nach Art. 28 DSGVO.\nVerschlüsselung Die Übertragung erfolgt durchgehend per HTTPS.\nDeine Rechte Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16 DSGVO), Löschung (Art. 17 DSGVO), Einschränkung der Verarbeitung (Art. 18 DSGVO), Datenübertragbarkeit (Art. 20 DSGVO) und Widerspruch (Art. 21 DSGVO). Wende dich dafür an die im Impressum genannte Adresse. Außerdem steht dir ein Beschwerderecht bei einer Datenschutz-Aufsichtsbehörde zu.\n","permalink":"https://c-horn.de/de/datenschutz/","summary":"\u003ch2 id=\"verantwortlicher\"\u003eVerantwortlicher\u003c/h2\u003e\n\u003cp\u003eVerantwortlich für die Datenverarbeitung auf dieser Website ist der im\n\u003ca href=\"/de/kontakt/\"\u003eKontakt\u003c/a\u003e genannte Betreiber.\u003c/p\u003e\n\u003ch2 id=\"umfang-der-verarbeitung\"\u003eUmfang der Verarbeitung\u003c/h2\u003e\n\u003cp\u003eDiese Website ist eine statische Seite. Es gibt keine Benutzerkonten, keine\nKommentarfunktion, keine Formulare, keine Reichweitenmessung und keine\nEinbindung von Inhalten Dritter. Alle Schriften, Stylesheets und Skripte werden\nvom eigenen Server ausgeliefert.\u003c/p\u003e\n\u003ch2 id=\"cookies\"\u003eCookies\u003c/h2\u003e\n\u003cp\u003eDiese Website setzt keine Cookies. Die Auswahl zwischen hellem und dunklem\nDesign wird ausschließlich lokal im Browser (\u003ccode\u003elocalStorage\u003c/code\u003e) gespeichert und\nnicht an den Server übertragen.\u003c/p\u003e","title":"Datenschutzerklärung"},{"content":"Diese Seite ist privat und verfolgt keine geschäftlichen Zwecke.\nKontakt Christopher Horn E-Mail: info@c-horn.de\nHaftung für Inhalte Als Diensteanbieter bin ich gemäß § 7 Abs. 1 DDG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG bin ich als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden entsprechender Rechtsverletzungen entferne ich diese Inhalte umgehend.\nHaftung für Links Mein Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte ich keinen Einfluss habe. Deshalb kann ich für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft; rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen entferne ich derartige Links umgehend.\nUrheberrecht Die durch den Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet.\n","permalink":"https://c-horn.de/de/kontakt/","summary":"\u003cp\u003eDiese Seite ist privat und verfolgt keine geschäftlichen Zwecke.\u003c/p\u003e\n\u003ch2 id=\"kontakt\"\u003eKontakt\u003c/h2\u003e\n\u003cp\u003eChristopher Horn\nE-Mail: \u003ca href=\"mailto:info@c-horn.de\"\u003einfo@c-horn.de\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"haftung-für-inhalte\"\u003eHaftung für Inhalte\u003c/h2\u003e\n\u003cp\u003eAls Diensteanbieter bin ich gemäß § 7 Abs. 1 DDG für eigene Inhalte auf diesen\nSeiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG bin\nich als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder\ngespeicherte fremde Informationen zu überwachen oder nach Umständen zu\nforschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur\nEntfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen\nGesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst\nab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei\nBekanntwerden entsprechender Rechtsverletzungen entferne ich diese Inhalte\numgehend.\u003c/p\u003e","title":"Kontakt"},{"content":"terraform-provider-netcup Ein Terraform-Provider für netcup, in Go auf Basis des Terraform Plugin Framework. Er deckt beide netcup-APIs ab: DNS-Zonen und -Einträge über den CCP DomainWebservice sowie Reverse DNS, SSH-Schlüssel, Firewall-Regeln, Snapshots und Failover-Routing über die SCP-REST-API. Der Quelltext liegt auf GitHub.\nTemp Mail Service Ein Dienst für Wegwerf-Mailboxen, in Python auf Basis von FastAPI. Er verwaltet eine eigene Mail-Domain, gibt darauf Wegwerf-Adressen aus und liefert über eine REST-API zurück, was dort ankommt; Postfix nimmt die eingehende Mail an und reicht sie über LMTP an die Anwendung weiter, die sie bis zum Ablauf der Mailbox in SQLite hält. Davor terminiert Traefik TLS und begrenzt die Rate, der API-Schlüssel kommt beim Deployment aus Vault, und das DNS (MX, SPF, DKIM, DMARC, MTA-STS und TLS-RPT) verwaltet Terraform über den oben genannten netcup-Provider. Er existiert für End-to-End-Tests: Eine Playwright/Cucumber-Suite fordert eine Adresse an, durchläuft damit eine Registrierung und liest die Bestätigungsmail über die API wieder aus.\nLogi Battery Indicator Eine GNOME-Shell-Erweiterung, die den Ladestand von Logitech-Eingabegeräten in die obere Leiste bringt: MX Master, MX Keys und Verwandte, angebunden über einen Unifying/Bolt-Empfänger oder direkt per Bluetooth gekoppelt. Sie spricht HID++ 2.0 selbst mit der /sys/class/hidraw-Schnittstelle der Geräte, wodurch Solaar entfällt, und zeichnet neu, wenn ein Gerät eine Benachrichtigung schickt, statt in festen Abständen. Der Quelltext liegt auf GitHub.\n","permalink":"https://c-horn.de/de/projekte/","summary":"\u003ch2 id=\"terraform-provider-netcup\"\u003eterraform-provider-netcup\u003c/h2\u003e\n\u003cp\u003eEin \u003ca href=\"https://registry.terraform.io/providers/hornc-greedy/netcup/latest\"\u003eTerraform-Provider für netcup\u003c/a\u003e,\nin Go auf Basis des Terraform Plugin Framework. Er deckt beide netcup-APIs ab:\nDNS-Zonen und -Einträge über den CCP DomainWebservice sowie Reverse DNS,\nSSH-Schlüssel, Firewall-Regeln, Snapshots und Failover-Routing über die\nSCP-REST-API. Der \u003ca href=\"https://github.com/hornc-greedy/terraform-provider-netcup\"\u003eQuelltext\u003c/a\u003e\nliegt auf GitHub.\u003c/p\u003e\n\u003ch2 id=\"temp-mail-service\"\u003eTemp Mail Service\u003c/h2\u003e\n\u003cp\u003eEin Dienst für Wegwerf-Mailboxen, in Python auf Basis von FastAPI. Er verwaltet\neine eigene Mail-Domain, gibt darauf Wegwerf-Adressen aus und liefert über eine\nREST-API zurück, was dort ankommt; Postfix nimmt die eingehende Mail an und\nreicht sie über LMTP an die Anwendung weiter, die sie bis zum Ablauf der Mailbox\nin SQLite hält. Davor terminiert Traefik TLS und begrenzt die Rate, der\nAPI-Schlüssel kommt beim Deployment aus Vault, und das DNS (MX, SPF, DKIM,\nDMARC, MTA-STS und TLS-RPT) verwaltet Terraform über den oben genannten\nnetcup-Provider. Er existiert für End-to-End-Tests: Eine Playwright/Cucumber-Suite\nfordert eine Adresse an, durchläuft damit eine Registrierung und liest die\nBestätigungsmail über die API wieder aus.\u003c/p\u003e","title":"Projekte"}]