Compare commits

...
3 Commits
Author SHA1 Message Date
henrov b15191a578 Added login page SPotify + google.com/recaptcha for logging into Spotify 2026-09-13 21:53:19 +02:00
henrov 80a817427d Addds testscript 2026-09-12 10:42:08 +02:00
henrov bdb76f788f Improved some names, messages 2026-09-12 10:41:57 +02:00
3 changed files with 78 additions and 2 deletions

No files matched your search

+5 -2
View File
@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
set -o pipefail
###############################################################################
# Aamsveen Audio Kiosk ISO builder
@@ -1294,7 +1293,11 @@ echo " $NEW_ISO_PATH"
echo
echo "Burn ISO:"
echo "sudo dd if=$NEW_ISO_PATH of=/dev/sdX bs=4M status=progress conv=fsync"
echo
echo "Run in QEMU"
echo
echo qemu-img create -f qcow2 ./kiosk-aamsveen.qcow2 32G
echo
echo "qemu-system-x86_64 \
-enable-kvm \
-cpu host \
@@ -1302,7 +1305,7 @@ echo "qemu-system-x86_64 \
-m 8G \
-boot order=d \
-cdrom $NEW_ISO_PATH \
-drive file=./mint.qcow2,format=qcow2,if=ide \
-drive file=./kiosk-aamsveen.qcow2,format=qcow2,if=ide \
-vga std \
-display gtk \
-usb \
Executable
+51
View File
@@ -0,0 +1,51 @@
#!/usr/bin/env bash
set -euo pipefail
# create_disk.sh
#
# Bouwt de kiosk-ISO, maakt een qcow2-testschijf, schrijft de ISO naar een
# fysieke USB-stick, en start daarna een QEMU-testomgeving.
set -euo pipefail
REPO_DIR="$HOME/Repos/Projects/Aamsveen-Audio-Kiosk"
NEW_ISO_PATH="${REPO_DIR}/non-aamsveen-audio-kiosk_v1.iso"
QCOW2_PATH="${REPO_DIR}/kiosk-aamsveen.qcow2"
USB_DEVICE="/dev/sdb"
cd "$REPO_DIR"
echo "--> ISO bouwen..."
sudo ./build-kiosk-iso-v1.sh
echo "--> qcow2-testschijf aanmaken (32G)..."
qemu-img create -f qcow2 "$QCOW2_PATH" 32G
# LET OP: dd naar een fysiek blockdevice is onomkeerbaar en kan de verkeerde
# schijf wissen als USB_DEVICE niet klopt. Controleer eerst met `lsblk`
# welke devicenaam je USB-stick heeft voordat je hier bevestigt.
echo
echo "LET OP: dit schrijft $NEW_ISO_PATH naar $USB_DEVICE."
echo "Controleer met 'lsblk' in een andere terminal of dit echt de USB-stick is!"
read -rp "Doorgaan met schrijven naar $USB_DEVICE? [j/N] " CONFIRM
if [[ "$CONFIRM" =~ ^[jJ]$ ]]; then
sudo dd if="$NEW_ISO_PATH" of="$USB_DEVICE" bs=4M status=progress oflag=sync
else
echo "Schrijven naar USB overgeslagen."
fi
echo "--> QEMU-testomgeving starten..."
qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 4 \
-m 8G \
-boot order=d \
-cdrom "$NEW_ISO_PATH" \
-drive file="$QCOW2_PATH",format=qcow2,if=ide \
-vga std \
-display gtk \
-usb \
-device usb-tablet \
-audiodev pipewire,id=snd0 \
-device intel-hda \
-device hda-duplex,audiodev=snd0
+22
View File
@@ -29,6 +29,7 @@ APPROVED_URLS=(
"http://vida-24q-a9f0.local/#/panels"
"https://www.radiozenders.fm"
"https://www.spotify.com"
"https://www.youtube.com"
)
# --- 2. Pop-upbeleid ----------------------------------------------------------
@@ -44,7 +45,9 @@ POPUP_MODE="sommige"
# domein zijn toegestaan.
POPUP_ALLOWED_URLS=(
"https://open.spotify.com/*"
"https://accounts.spotify.com/*"
"https://accounts.google.com/*"
"https://www.google.com/recaptcha/*"
"https://www.facebook.com/*"
"https://m.facebook.com/*"
)
@@ -238,6 +241,22 @@ if [ -z "$BROWSER_BIN" ]; then
fi
echo " Gebruikte browser: $BROWSER_BIN"
# -----------------------------------------------------------------------------
# 3b. Firefox installeren voor av-admin (onbeperkte browser, zonder kiosk-beleid)
# -----------------------------------------------------------------------------
# LET OP: het Chromium-beleid hieronder (URLBlocklist/URLAllowlist) geldt
# machinebreed voor elke gebruiker die dezelfde Chromium-binary start — dus
# ook voor av-admin, als die Chromium zou gebruiken. Om av-admin toch vrij
# te laten browsen (bv. om de kiosk te beheren, updates te zoeken, etc.)
# installeren we Firefox als apart programma. Firefox leest het
# Chromium-beleid niet en blijft dus volledig onbeperkt.
echo
echo "--> Firefox installeren voor av-admin (onbeperkte toegang tot alle URL's)..."
apt install -y firefox
echo " Firefox geïnstalleerd. Dit programma wordt niet beperkt door het"
echo " hieronder geschreven Chromium-kioskbeleid en is zo bereikbaar via"
echo " het toepassingenmenu wanneer av-admin is ingelogd."
# -----------------------------------------------------------------------------
# 4. Chromium-beleid (extensies, pop-ups, incognito etc. blokkeren)
# -----------------------------------------------------------------------------
@@ -512,6 +531,9 @@ echo " -> zou automatisch moeten inloggen op de schermvullende kiosk-browser
echo " 3. Druk op Ctrl+Alt+L op het kiosk-scherm om het inlogscherm te"
echo " bereiken en log in als beheerder om te controleren of het gewone"
echo " bureaublad nog werkt."
echo " 4. Gebruik op het av-admin-account Firefox (via het toepassingenmenu)"
echo " voor onbeperkt browsen — dit programma valt niet onder het"
echo " Chromium-kioskbeleid dat alleen voor de 'kiosk'-gebruiker geldt."
echo
echo "LightDM is NIET automatisch herstart, omdat dit je huidige grafische"
echo "sessie zou beëindigen. Herstart wanneer je klaar bent:"