Skip to content

Network: dynamic DNS, own CA, Let's Encrypt - #108

Merged
UniqueDroid merged 1 commit into
mainfrom
feat/ddns-certs
Nov 1, 2026
Merged

UniqueDroid merged 1 commit into
mainfrom
feat/ddns-certs

Conversation

@UniqueDroid

Copy link
Copy Markdown
Owner

System → Netzwerk gets three new parts:

  • DynDNS (shareos-ddns): DuckDNS, dynv6, Cloudflare, No-IP or any dyndns2 URL; IPv4 and/or IPv6; sent every 5 min only when the address changed, daily otherwise, retried after 30 min on failure; failures become a message. Secrets go to curl via stdin (-K -), never back to the browser.
  • Own CA (shareos-ca): EC P-256 CA via the firmware's mbedtls; certificates for other devices (825 days, serverAuth, wildcards, IPs) with download of cert/key; the box's own certificate follows name/IP and renews 30 days before expiry. shareos-cert no longer replaces a CA-issued certificate with a self-signed one on IP change. CA key/cert are in the settings backup.
  • Let's Encrypt (shareos-acme, uacme 1.8.1 with mbedtls, 105 KB): DNS-01 through the DynDNS provider (DuckDNS, Cloudflare), no open port; renewed daily when < 30 days left; staging mode.

Tests: tests/test-ddns.sh (24 checks, fake curl, in backend-tests), tests/test-ca.sh (18 checks, firmware mbedtls + uci through qemu-arm-static in the firmware job). Let's Encrypt itself is not tested end-to-end here (no route to the ACME servers from the build environment) – needs a test on the box.


Generated by Claude Code

shareos-ddns (DuckDNS, dynv6, Cloudflare, No-IP, dyndns2 URL; IPv4/IPv6),
shareos-ca (mbedtls CA for the box and other devices), shareos-acme (uacme,
DNS-01 through the DynDNS provider). UI under System -> Netzwerk, rpcd
methods in shareos.web, cron entries, CA in the settings backup, tests
test-ddns.sh and test-ca.sh (CI: qemu with the firmware's mbedtls).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmfmQxsE59Ms99VrbCi1J1
@UniqueDroid
UniqueDroid merged commit ee1cb50 into main Nov 1, 2026
2 checks passed
@UniqueDroid
UniqueDroid deleted the feat/ddns-certs branch November 1, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants