diff --git a/README.md b/README.md index d9ac848..98864d0 100644 --- a/README.md +++ b/README.md @@ -54,8 +54,8 @@ Alle opties zijn optioneel. Het script installeert de benodigde pakketten, maakt de gebruikers `kiosk` en `voxip` aan, installeert de services en start de kiosk. Aan het eind toont het de setupcode. -Draaide hier eerder de InfoFlow-kiosk (`raspberry-pi/install-kiosk.sh` uit -de InfoFlow-repository)? Dan neemt `install.sh` de display-URL (inclusief +Draaide hier eerder de Daynivo-kiosk (`raspberry-pi/install-kiosk.sh` uit +de Daynivo-repository)? Dan neemt `install.sh` de display-URL (inclusief `?token=`) automatisch over en schakelt `display-kiosk.service` uit. ### Updaten @@ -185,13 +185,13 @@ bootpartitie (`bootfs`, zichtbaar op Windows en macOS): De bestanden worden bij het opstarten verwerkt en hernoemd naar `*.applied`, of naar `*.rejected` met de reden in `voxip-config.error.txt`. -### InfoFlow-schermen +### Daynivo-schermen -Voor een InfoFlow-display gebruik je als `url` de kiosk-URL van het scherm -uit InfoFlow (*Schermen* → scherm → kiosk-URL, inclusief `?token=`). Het +Voor een Daynivo-display gebruik je als `url` de kiosk-URL van het scherm +uit Daynivo (*Schermen* → scherm → kiosk-URL, inclusief `?token=`). Het token wordt in de webinterface, de CLI en de logs afgeschermd (`?token=…ab12`). De kiosk laat een lopende pagina staan als het netwerk -wegvalt. InfoFlow toont dan zijn eigen laatst bekende inhoud, en +wegvalt. Daynivo toont dan zijn eigen laatst bekende inhoud, en automatisch verversen wordt overgeslagen zolang de server niet bereikbaar is. diff --git a/config/plymouth/voxip-kiosk/logo.png b/config/plymouth/voxip-kiosk/logo.png index e1d332c..77ec7a3 100644 Binary files a/config/plymouth/voxip-kiosk/logo.png and b/config/plymouth/voxip-kiosk/logo.png differ diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 728a777..66637a1 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -90,7 +90,7 @@ HTTPS-verzoek (mét certificaatvalidatie) of de doel-URL bereikbaar is en navigeert pas dan. De offline-pagina verschijnt alleen als de pagina niet **geladen** kan worden (startpagina, Chromium-foutpagina). Valt het netwerk weg terwijl een pagina al draait, dan blijft die pagina staan. -Zo blijven applicaties met een eigen offline-cache (zoals InfoFlow- +Zo blijven applicaties met een eigen offline-cache (zoals Daynivo- displays) gewoon hun laatste inhoud tonen. Automatisch verversen wordt overgeslagen zolang de doel-URL onbereikbaar is. diff --git a/docs/HARDWARE-TEST.md b/docs/HARDWARE-TEST.md index 6cf1513..81c0c1d 100644 --- a/docs/HARDWARE-TEST.md +++ b/docs/HARDWARE-TEST.md @@ -46,7 +46,7 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype. - [ ] Verversinterval op *Elke minuut*: de pagina herlaadt ongeveer elke minuut (zie Logboek → Kiosk-agent). - [ ] Screenshot op de Kiosk-pagina toont wat er op het scherm staat. -- [ ] InfoFlow-URL met `?token=`: het token is overal gemaskeerd +- [ ] Daynivo-URL met `?token=`: het token is overal gemaskeerd (dashboard, `voxip-kiosk-ctl status`, `journalctl -u voxip-kiosk-agent`). ## 4. Herstel @@ -68,7 +68,7 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype. ## 5. Netwerk - [ ] Netwerkkabel eruit terwijl de pagina draait: de pagina **blijft - staan** (een InfoFlow-display toont zijn laatste inhoud). Het + staan** (een Daynivo-display toont zijn laatste inhoud). Het dashboard toont *Offline*. - [ ] Kabel weer erin: het dashboard toont binnen 1 minuut *Online*. - [ ] Opstarten zonder netwerk: offlinepagina met klok. Kabel erin: @@ -122,4 +122,4 @@ Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype. - [ ] `sudo ./uninstall.sh --purge` op een testkaart: geen VoxIP-services of -bestanden meer (`systemctl list-unit-files | grep voxip` is leeg). - [ ] Installatie op een bestaande Raspberry Pi OS Lite (Bookworm) met de - InfoFlow-kiosk erop: URL overgenomen, `display-kiosk.service` uitgeschakeld. + Daynivo-kiosk erop: URL overgenomen, `display-kiosk.service` uitgeschakeld. diff --git a/install.sh b/install.sh index 050b1b1..301d9da 100755 --- a/install.sh +++ b/install.sh @@ -153,16 +153,16 @@ install -d -o voxip -g voxip -m 0750 /var/lib/voxip-kiosk install -d -o root -g root -m 0755 /var/lib/voxip-kiosk-network install -d -o voxip -g voxip -m 0750 /var/log/voxip-kiosk -# Migrate from InfoFlow's raspberry-pi/install-kiosk.sh: take over its URL, then disable it. -INFOFLOW_UNIT=/etc/systemd/system/display-kiosk.service -if [[ -f $INFOFLOW_UNIT ]]; then - OLD_URL="$(grep -oE 'https://[^" ]+' "$INFOFLOW_UNIT" | tail -n1 || true)" +# Migrate from Daynivo's raspberry-pi/install-kiosk.sh: take over its URL, then disable it. +LEGACY_KIOSK_UNIT=/etc/systemd/system/display-kiosk.service +if [[ -f $LEGACY_KIOSK_UNIT ]]; then + OLD_URL="$(grep -oE 'https://[^" ]+' "$LEGACY_KIOSK_UNIT" | tail -n1 || true)" if [[ -n $OLD_URL && -z $URL && ! -f $ETC/config.json ]]; then URL="$OLD_URL" - say "URL overgenomen van de InfoFlow-kioskinstallatie" + say "URL overgenomen van de Daynivo-kioskinstallatie" fi if [[ $LIVE -eq 1 ]]; then systemctl disable --now display-kiosk.service 2>/dev/null || true; fi - mv "$INFOFLOW_UNIT" "$INFOFLOW_UNIT.voxip-disabled" + mv "$LEGACY_KIOSK_UNIT" "$LEGACY_KIOSK_UNIT.voxip-disabled" fi PYRUN=(python3 -I -c) diff --git a/src/voxip_kiosk/agent.py b/src/voxip_kiosk/agent.py index 8413008..d17e553 100644 --- a/src/voxip_kiosk/agent.py +++ b/src/voxip_kiosk/agent.py @@ -214,7 +214,7 @@ class Agent: return # Without any network the page cannot recover by itself: say so on screen. When only - # the server is unreachable the page stays, so InfoFlow can show its offline cache. + # the server is unreachable the page stays, so Daynivo can show its offline cache. if not self.has_network(): self.state.update(target_reachable=False, reason=NO_NETWORK, checked_at=int(self.wall())) self._probe = None diff --git a/src/voxip_kiosk/validation.py b/src/voxip_kiosk/validation.py index 11eb622..41c9800 100644 --- a/src/voxip_kiosk/validation.py +++ b/src/voxip_kiosk/validation.py @@ -20,7 +20,7 @@ _RESOLUTION = re.compile(r"^(\d{3,4})x(\d{3,4})(?:@(\d{2,3}(?:\.\d{1,3})?))?$") _COUNTRY = re.compile(r"^[A-Z]{2}$") _HEX64 = re.compile(r"^[0-9a-fA-F]{64}$") -# Query parameters whose values are secrets (InfoFlow display URLs carry +# Query parameters whose values are secrets (Daynivo display URLs carry # their access token as ?token=...). They are masked wherever a URL is shown # or logged. SECRET_PARAMS = {"token", "key", "apikey", "api_key", "secret", "password", "auth", "access_token"} diff --git a/src/voxip_kiosk/web/templates/kiosk.html b/src/voxip_kiosk/web/templates/kiosk.html index 23bfb19..ec8a198 100644 --- a/src/voxip_kiosk/web/templates/kiosk.html +++ b/src/voxip_kiosk/web/templates/kiosk.html @@ -15,7 +15,7 @@ {{ csrf() }}