From 3bd2da50bf5d87d81b7dc73d806a5340865b3b2a Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 19:35:28 +0100 Subject: [PATCH 1/2] docs: release 0.2.0-beta.18 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KmfmQxsE59Ms99VrbCi1J1 --- docs/DEVELOPMENT.md | 9 +++++++++ docs/ENTWICKLUNG.md | 9 +++++++++ docs/TESTEN.md | 8 ++++++++ docs/TESTING.md | 8 ++++++++ 4 files changed, 34 insertions(+) diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 0823af6..54115c0 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -225,6 +225,15 @@ the box for why the web server was not running. | 22:02 | SMB was slow (#94): signed SMB 3 at 4–10 MB/s, the CPU busy with AES-CMAC. Jan's measurements on the box: unsigned 32–40 MB/s. First step: a compatibility mode up to SMB 2.1 (#99). | ### Saturday, 31.10.2026 +| 19:27 | Jan publishes `v0.2.0-beta.17`. | + +### Sunday, 01.11.2026 + +| Time | What happened | +|---|---| +| 15:22 | System → Netzwerk gets dynamic DNS (DuckDNS, dynv6, Cloudflare, No-IP, any dyndns2 address; IPv4 and IPv6), an own certificate authority for the box and other devices in the home network, and Let's Encrypt over DNS – no port has to be open (#108). | +| 16:17 | USB printers in the network (#109): ipp-usb for current printers – driverless printing and scanning; the firmware's avahi has no D-Bus, so a patch makes ipp-usb announce the devices through static service files. Older printers over port 9100 with p910nd. | +| 17:23 | UPS over USB with Network UPS Tools (#110): charge and runtime, messages on a power failure, a clean shutdown on battery and the UPS switching the box on again with the power. Everything goes into `v0.2.0-beta.18`. | | Time | What happened | |---|---| diff --git a/docs/ENTWICKLUNG.md b/docs/ENTWICKLUNG.md index dfa2dd7..b397b7f 100644 --- a/docs/ENTWICKLUNG.md +++ b/docs/ENTWICKLUNG.md @@ -226,6 +226,15 @@ direkt auf der Box nachgesehen, warum der Webserver nicht lief. | 22:02 | SMB war langsam (#94): signiertes SMB 3 mit 4–10 MB/s, die CPU mit AES-CMAC beschäftigt. Jans Messungen auf der Box: ohne Signatur 32–40 MB/s. Erster Schritt: ein Kompatibilitätsmodus bis SMB 2.1 (#99). | ### Samstag, 31.10.2026 +| 19:27 | Jan veröffentlicht `v0.2.0-beta.17`. | + +### Sonntag, 01.11.2026 + +| Zeit | Was passiert ist | +|---|---| +| 15:22 | System → Netzwerk bekommt DynDNS (DuckDNS, dynv6, Cloudflare, No-IP, jede dyndns2-Adresse; IPv4 und IPv6), eine eigene Zertifizierungsstelle für die Box und andere Geräte im Heimnetz und Let's Encrypt über DNS – kein Port muss offen sein (#108). | +| 16:17 | USB-Drucker im Netzwerk (#109): ipp-usb für aktuelle Drucker – Drucken und Scannen ohne Treiber; das avahi der Firmware hat kein D-Bus, deshalb kündigt ipp-usb die Geräte per Patch über statische Service-Dateien an. Ältere Drucker über Port 9100 mit p910nd. | +| 17:23 | USV über USB mit Network UPS Tools (#110): Akkustand und Restlaufzeit, Meldungen bei Stromausfall, sauberes Herunterfahren auf Akku, und die USV schaltet die Box mit dem Strom wieder ein. Alles kommt in `v0.2.0-beta.18`. | | Zeit | Was passiert ist | |---|---| diff --git a/docs/TESTEN.md b/docs/TESTEN.md index d628044..af5f2c1 100644 --- a/docs/TESTEN.md +++ b/docs/TESTEN.md @@ -449,6 +449,14 @@ Braucht ein Tailscale-Konto (kostenlos), ein Handy oder einen Rechner mit Tailsc 5. Konto ohne persönlichen Ordner: Teilen meldet „no personal folder“; das Geteilte wird verworfen und kommt bei der nächsten Anmeldung nicht wieder. 6. Dateidialog einer App für ein Konto **ohne** *Dateien* (z. B. Webpad → *Öffnen*): Die Ordnerauswahl zeigt zuerst *App-Daten*, dann *Mein Ordner* und die Freigaben des Benutzers; Freigaben nur zum Lesen sind markiert und fehlen beim Speichern. Die App legt ihre eigenen Dateien weiter in *App-Daten* ab. +## 14zf. DynDNS, Zertifikate, Drucker, USV (0.2.0-beta.18) + +1. **DynDNS:** Bei duckdns.org einen Namen anlegen. System → Netzwerk → DynDNS: *DuckDNS*, Name und Token, *Speichern*. Rechts steht nach ein paar Sekunden *aktuell* mit der öffentlichen Adresse; `nslookup .duckdns.org 1.1.1.1` zeigt sie. Falsches Token: *Fehler* und eine Meldung. +2. **Eigene CA:** *Zertifizierungsstelle anlegen*, *Für diese Box verwenden* (die Seite verbindet sich neu), *Stammzertifikat* herunterladen und auf dem PC als vertrauenswürdige Stammzertifizierungsstelle installieren: `https:///` öffnet ohne Warnung. Ein Zertifikat für ein anderes Gerät ausstellen (z. B. `router.home.lan, 192.168.1.1`), Zertifikat und Schlüssel herunterladen. +3. **Let's Encrypt** (DynDNS mit DuckDNS oder Cloudflare): mit *Testmodus* *Zertifikat holen* – nach bis zu 3 Minuten *aktiv (Test)*. Dann ohne Testmodus. Bei Fehlern: `cat /tmp/shareos-acme.log`. *Abschalten* führt zurück zum selbstsignierten Zertifikat. +4. **Drucker:** System-App *ipp-usb + p910nd* installieren, Drucker per USB anschließen, Dienste → Drucker → *Drucker im Netzwerk freigeben*. Ein aktueller Drucker zeigt *Ohne Treiber (IPP over USB)*; Windows 10/11 findet ihn unter „Drucker hinzufügen“, ein Multifunktionsgerät scannt mit der App „Scannen“ bzw. „Mopria Scan“. Ein älterer Drucker zeigt Port 9100; *Testseite*. Drucker abziehen: verschwindet nach ein paar Sekunden. +5. **USV:** System-App *Network UPS Tools* installieren, USV per USB anschließen, Dienste → USV → *USV überwachen*, Herunterfahren *Nach einer Zeit auf Akku*, 2 Minuten. Akkustand und Modell erscheinen. Netzstecker der USV ziehen: Meldung „Stromausfall“, nach 2 Minuten fährt die Box herunter, danach schaltet die USV ab; Stecker wieder rein: USV und Box gehen an. Bei Problemen: `shareos-ups status`, `cat /tmp/shareos-ups/driver.log`. + ## 14ze. Vorhandenes Laufwerk übernehmen (0.2.0-beta.17) 1. Eine Platte mit Daten (z. B. von Alt-F, ext4) einsetzen, die ShareOS noch nicht kennt. Speicher → Laufwerke: an der Platte erscheint **„sdX2 übernehmen“**. diff --git a/docs/TESTING.md b/docs/TESTING.md index 869799c..042db24 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -445,6 +445,14 @@ Needs a Tailscale account (free), a phone or computer with Tailscale, the file ` 5. An account without a personal folder: sharing shows "no personal folder"; the shared item is dropped and does not come back at the next login. 6. File dialog of an app for an account **without** *Dateien* (e.g. Webpad → *Öffnen*): the list of folders shows *App-Daten* first, then *Mein Ordner* and the user's shares; read-only shares are marked and are missing when saving. The app still keeps its own files in *App-Daten*. +## 14zf. Dynamic DNS, certificates, printers, UPS (0.2.0-beta.18) + +1. **Dynamic DNS:** create a name at duckdns.org. System → Netzwerk → DynDNS: *DuckDNS*, name and token, *Speichern*. After a few seconds the right side shows *aktuell* with the public address; `nslookup .duckdns.org 1.1.1.1` shows it. A wrong token: *Fehler* and a message. +2. **Own CA:** *Zertifizierungsstelle anlegen*, *Für diese Box verwenden* (the page reconnects), download *Stammzertifikat* and install it on the PC as a trusted root CA: `https:///` opens without a warning. Issue a certificate for another device (e.g. `router.home.lan, 192.168.1.1`), download certificate and key. +3. **Let's Encrypt** (dynamic DNS with DuckDNS or Cloudflare): *Zertifikat holen* with *Testmodus* – after up to 3 minutes *aktiv (Test)*. Then without test mode. On errors: `cat /tmp/shareos-acme.log`. *Abschalten* goes back to the self-signed certificate. +4. **Printers:** install the system app *ipp-usb + p910nd*, connect the printer over USB, Dienste → Drucker → *Drucker im Netzwerk freigeben*. A current printer shows *Ohne Treiber (IPP over USB)*; Windows 10/11 finds it under "Add printer", a multifunction device scans with the "Scan" app or "Mopria Scan". An older printer shows port 9100; *Testseite*. Unplug the printer: it disappears after a few seconds. +5. **UPS:** install the system app *Network UPS Tools*, connect the UPS over USB, Dienste → USV → *USV überwachen*, shutdown *Nach einer Zeit auf Akku*, 2 minutes. Charge and model show up. Pull the UPS's mains plug: message "Stromausfall", after 2 minutes the box shuts down, then the UPS switches off; plug it back in: UPS and box come on. On problems: `shareos-ups status`, `cat /tmp/shareos-ups/driver.log`. + ## 14ze. Take over an existing drive (0.2.0-beta.17) 1. Put in a disk with data (e.g. from Alt-F, ext4) that ShareOS does not know yet. Speicher → Laufwerke: the disk shows **„sdX2 übernehmen“**. From 50c459846ef1211f1e5c2075e6c3256063abb9b1 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 19:36:02 +0100 Subject: [PATCH 2/2] docs: timeline rows at the end of Saturday's table Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KmfmQxsE59Ms99VrbCi1J1 --- docs/DEVELOPMENT.md | 14 +++++++------- docs/ENTWICKLUNG.md | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 54115c0..b6fde31 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -225,6 +225,13 @@ the box for why the web server was not running. | 22:02 | SMB was slow (#94): signed SMB 3 at 4–10 MB/s, the CPU busy with AES-CMAC. Jan's measurements on the box: unsigned 32–40 MB/s. First step: a compatibility mode up to SMB 2.1 (#99). | ### Saturday, 31.10.2026 + +| Time | What happened | +|---|---| +| 00:08 | A tester switching from Alt-F asked how to keep the data on his disks – the setup wizard erases them. Now *übernehmen* takes a disk with data as it is (#100). He followed the SSH steps and both disks run on ShareOS. | +| 08:39 | ksmbd computes the SMB 3 signatures (AES-CMAC) through `cbc(aes)` of the Marvell crypto engine: Jan measured 18–22 MB/s instead of 6–11 (#101). The same morning: hardening after an external code review (#102). | +| 12:34 | Switching off by schedule never happened (#82): BusyBox `crond` read the empty `/etc/cron/crontabs`, so no ShareOS cron job had ever run (#104). | +| 15:14 | The schedule is a short overview with the date of the next switch-on (#105); *Mein ShareOS* gets its own APPS tab and the header stays on one line, the rest behind **+N** (#106). Everything goes into `v0.2.0-beta.17`. | | 19:27 | Jan publishes `v0.2.0-beta.17`. | ### Sunday, 01.11.2026 @@ -235,13 +242,6 @@ the box for why the web server was not running. | 16:17 | USB printers in the network (#109): ipp-usb for current printers – driverless printing and scanning; the firmware's avahi has no D-Bus, so a patch makes ipp-usb announce the devices through static service files. Older printers over port 9100 with p910nd. | | 17:23 | UPS over USB with Network UPS Tools (#110): charge and runtime, messages on a power failure, a clean shutdown on battery and the UPS switching the box on again with the power. Everything goes into `v0.2.0-beta.18`. | -| Time | What happened | -|---|---| -| 00:08 | A tester switching from Alt-F asked how to keep the data on his disks – the setup wizard erases them. Now *übernehmen* takes a disk with data as it is (#100). He followed the SSH steps and both disks run on ShareOS. | -| 08:39 | ksmbd computes the SMB 3 signatures (AES-CMAC) through `cbc(aes)` of the Marvell crypto engine: Jan measured 18–22 MB/s instead of 6–11 (#101). The same morning: hardening after an external code review (#102). | -| 12:34 | Switching off by schedule never happened (#82): BusyBox `crond` read the empty `/etc/cron/crontabs`, so no ShareOS cron job had ever run (#104). | -| 15:14 | The schedule is a short overview with the date of the next switch-on (#105); *Mein ShareOS* gets its own APPS tab and the header stays on one line, the rest behind **+N** (#106). Everything goes into `v0.2.0-beta.17`. | - ## Notable problems solved - **The bootloader's 3 MB limit:** the kernel shrank from 4.2 to 2.4 MB, with drivers moved to modules. The initramfs is only 0.9 MB. diff --git a/docs/ENTWICKLUNG.md b/docs/ENTWICKLUNG.md index b397b7f..833f9e2 100644 --- a/docs/ENTWICKLUNG.md +++ b/docs/ENTWICKLUNG.md @@ -226,6 +226,13 @@ direkt auf der Box nachgesehen, warum der Webserver nicht lief. | 22:02 | SMB war langsam (#94): signiertes SMB 3 mit 4–10 MB/s, die CPU mit AES-CMAC beschäftigt. Jans Messungen auf der Box: ohne Signatur 32–40 MB/s. Erster Schritt: ein Kompatibilitätsmodus bis SMB 2.1 (#99). | ### Samstag, 31.10.2026 + +| Zeit | Was passiert ist | +|---|---| +| 00:08 | Ein Tester beim Umstieg von Alt-F fragte, wie die Daten auf seinen Platten bleiben – der Einrichtungsassistent löscht sie. Jetzt übernimmt *übernehmen* eine Platte mit Daten, wie sie ist (#100). Er hat die SSH-Schritte befolgt, beide Platten laufen unter ShareOS. | +| 08:39 | ksmbd berechnet die SMB-3-Signaturen (AES-CMAC) über `cbc(aes)` der Marvell-Krypto-Einheit: Jan hat 18–22 MB/s statt 6–11 gemessen (#101). Am selben Morgen: Härtung nach einer externen Code-Prüfung (#102). | +| 12:34 | Das Ausschalten nach Zeitplan passierte nie (#82): BusyBox-`crond` las das leere `/etc/cron/crontabs`, kein Cron-Auftrag von ShareOS war je gelaufen (#104). | +| 15:14 | Der Zeitplan ist eine kurze Übersicht mit dem Datum des nächsten Einschaltens (#105); *Mein ShareOS* bekommt einen eigenen Reiter APPS, und der Kopf bleibt einzeilig, der Rest hinter **+N** (#106). Alles kommt in `v0.2.0-beta.17`. | | 19:27 | Jan veröffentlicht `v0.2.0-beta.17`. | ### Sonntag, 01.11.2026 @@ -236,13 +243,6 @@ direkt auf der Box nachgesehen, warum der Webserver nicht lief. | 16:17 | USB-Drucker im Netzwerk (#109): ipp-usb für aktuelle Drucker – Drucken und Scannen ohne Treiber; das avahi der Firmware hat kein D-Bus, deshalb kündigt ipp-usb die Geräte per Patch über statische Service-Dateien an. Ältere Drucker über Port 9100 mit p910nd. | | 17:23 | USV über USB mit Network UPS Tools (#110): Akkustand und Restlaufzeit, Meldungen bei Stromausfall, sauberes Herunterfahren auf Akku, und die USV schaltet die Box mit dem Strom wieder ein. Alles kommt in `v0.2.0-beta.18`. | -| Zeit | Was passiert ist | -|---|---| -| 00:08 | Ein Tester beim Umstieg von Alt-F fragte, wie die Daten auf seinen Platten bleiben – der Einrichtungsassistent löscht sie. Jetzt übernimmt *übernehmen* eine Platte mit Daten, wie sie ist (#100). Er hat die SSH-Schritte befolgt, beide Platten laufen unter ShareOS. | -| 08:39 | ksmbd berechnet die SMB-3-Signaturen (AES-CMAC) über `cbc(aes)` der Marvell-Krypto-Einheit: Jan hat 18–22 MB/s statt 6–11 gemessen (#101). Am selben Morgen: Härtung nach einer externen Code-Prüfung (#102). | -| 12:34 | Das Ausschalten nach Zeitplan passierte nie (#82): BusyBox-`crond` las das leere `/etc/cron/crontabs`, kein Cron-Auftrag von ShareOS war je gelaufen (#104). | -| 15:14 | Der Zeitplan ist eine kurze Übersicht mit dem Datum des nächsten Einschaltens (#105); *Mein ShareOS* bekommt einen eigenen Reiter APPS, und der Kopf bleibt einzeilig, der Rest hinter **+N** (#106). Alles kommt in `v0.2.0-beta.17`. | - ## Bemerkenswerte Problemlösungen - **3-MB-Grenze des Bootloaders:** Der Kernel ist von 4,2 auf 2,4 MB geschrumpft, Treiber wurden in Module ausgelagert. Das Start-System umfasst nur 0,9 MB.