refactor: update dependencies and remove unused code

- Added new dependencies: `adler2`, `crc32fast`, `flate2`, `miniz_oxide`, and `libredox`.
- Updated existing dependencies: `tokio-rustls` to version 0.26.4 and `filetime` to version 0.2.27.
- Removed the `backup.rs` file as it is no longer needed.
- Introduced tests for configuration and credential management.
- Enhanced the `identity` module to generate W3C compliant DID documents.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-12 00:19:30 +00:00
co-authored by Claude Opus 4.6
parent 2a867b32a8
commit 6fee6befed
347 changed files with 18703 additions and 46785 deletions
Regular → Executable
+92 -13
View File
@@ -22,16 +22,32 @@ XINITRC="$HOMEDIR/.xinitrc"
cat > "$XINITRC" << 'XINITRC_EOF'
#!/bin/bash
# Archipelago kiosk - Chromium fullscreen
exec chromium --kiosk \
--app=http://localhost \
--noerrdialogs \
--disable-infobars \
--disable-translate \
--no-first-run \
--check-for-update-interval=31536000 \
--disable-features=TranslateUI \
--disable-session-crashed-bubble
# Archipelago kiosk Chromium fullscreen with auto-restart on crash
# Disable screen blanking
xset s off
xset -dpms
xset s noblank
# Hide cursor after inactivity
unclutter -idle 3 -root &
# Run Chromium in a restart loop (recovers from crashes within ~3s)
while true; do
chromium --kiosk \
--app=http://localhost/kiosk \
--noerrdialogs \
--disable-infobars \
--disable-translate \
--no-first-run \
--check-for-update-interval=31536000 \
--disable-features=TranslateUI \
--disable-session-crashed-bubble \
--disable-save-password-bubble \
--disable-suggestions-service \
--disable-component-update
sleep 3
done
XINITRC_EOF
# Replace localhost with actual URL if different
@@ -59,18 +75,81 @@ cat >> "$BASHPROFILE" << 'BASHPROFILE_EOF'
# ARCHIPELAGO_KIOSK - Start X/kiosk when logging in at physical console
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
exec startx
startx 2>/dev/null
# If X fails, show IP on text console as fallback
if [ $? -ne 0 ]; then
IP=$(hostname -I | awk '{print $1}')
echo ""
echo " ============================================= "
echo " Archipelago Server (kiosk display failed) "
echo " IP: $IP "
echo " Web UI: http://$IP "
echo " ============================================= "
echo ""
fi
fi
# END ARCHIPELAGO_KIOSK
BASHPROFILE_EOF
chown "$KIOSK_USER:$KIOSK_USER" "$BASHPROFILE"
echo "✅ Kiosk installed!"
# Install kiosk X11 launcher script (used by systemd service)
KIOSK_X11="/usr/local/bin/archipelago-kiosk-x11"
cat > "$KIOSK_X11" << 'X11_EOF'
#!/bin/bash
# Archipelago kiosk X11 session — launched by systemd or startx
# Disable screen blanking
xset s off
xset -dpms
xset s noblank
# Hide cursor after inactivity
unclutter -idle 3 -root &
# Run Chromium in a restart loop (recovers from crashes within ~3s)
while true; do
chromium --kiosk \
--app=http://localhost/kiosk \
--noerrdialogs \
--disable-infobars \
--disable-translate \
--no-first-run \
--check-for-update-interval=31536000 \
--disable-features=TranslateUI \
--disable-session-crashed-bubble \
--disable-save-password-bubble \
--disable-suggestions-service \
--disable-component-update
sleep 3
done
X11_EOF
# Replace localhost with actual URL if different
if [ "$ARCHIPELAGO_URL" != "http://localhost" ]; then
sed -i "s|http://localhost|$ARCHIPELAGO_URL|g" "$KIOSK_X11"
fi
chmod +x "$KIOSK_X11"
# Install kiosk watchdog script
install -m 755 "$(dirname "$0")/kiosk-watchdog.sh" /usr/local/bin/archipelago-kiosk-watchdog 2>/dev/null || true
# Install systemd services
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
if [ -f "$SCRIPT_DIR/image-recipe/configs/archipelago-kiosk.service" ]; then
cp "$SCRIPT_DIR/image-recipe/configs/archipelago-kiosk.service" /etc/systemd/system/
cp "$SCRIPT_DIR/image-recipe/configs/archipelago-kiosk-watchdog.service" /etc/systemd/system/
systemctl daemon-reload
systemctl enable archipelago-kiosk-watchdog
echo " Systemd services installed (enable archipelago-kiosk.service to auto-start)"
fi
echo "Kiosk installed!"
echo ""
echo " When you log in at the physical console (monitor + keyboard):"
echo " - X will start automatically"
echo " - Chromium will open in kiosk mode"
echo " - Chromium opens in kiosk mode with crash auto-restart"
echo " - If X fails, IP address is displayed on text console"
echo " - Your keyboard/touchpad will control the Archipelago UI"
echo ""
echo " To use: Connect a display, plug in keyboard, reboot (or log in at tty1)"