HTML-Oberfläche für Reboot, Shutdown und Umschaltung Bootmedium eines Raspberry
- Go 90.1%
- Shell 9.9%
| cmd/raspi-webreboot | ||
| configs | ||
| docs | ||
| install | ||
| internal | ||
| .gitignore | ||
| build.sh | ||
| CHANGELOG.md | ||
| deploy.sh | ||
| go.mod | ||
| ki-prompt.txt | ||
| LICENSE | ||
| Notizen.txt | ||
| README.md | ||
raspi-webreboot
raspi-webreboot ist ein kleiner HTTPS-Webserver für den Raspberry Pi.
Er ermöglicht das sichere Neustarten, Herunterfahren sowie das dauerhafte Umschalten der Bootreihenfolge zwischen SD-Karte und USB-Massenspeicher über den Raspberry Pi Bootloader (EEPROM).
Das Programm wurde für Wartungs- und Notfallszenarien entwickelt, bei denen nur noch der Webserver erreichbar ist.
Zusätzlich können über den raspi-agent aktuelle Systeminformationen des Raspberry Pi angezeigt werden.
Funktionen
- HTTPS-Webserver
- Neustart des Raspberry Pi
- Herunterfahren des Raspberry Pi
- Umschalten der Bootreihenfolge auf USB
- EEPROM-Konfiguration automatisch ändern
- Simulation aller Aktionen
- Bestätigungsdialog vor jeder Aktion
- Ergebnisseite mit Statusmeldung
- Automatische Rückkehr zur Startseite nach einem Neustart
- Ausführliche Protokollierung über systemd / journalctl
- Anzeige der CPU-Auslastung
- Anzeige des CPU-Status
- Anzeige der CPU-Temperatur
- Anzeige der System-Uptime
- Anzeige der Arbeitsspeichernutzung
- Anzeige der Speicherplatznutzung
- Lesbare Darstellung der Systeminformationen
- Abruf der Systeminformationen über den raspi-agent
Unterstützte Hardware
Der EEPROM-Zugriff wird automatisch erkannt.
Unterstützt werden Raspberry Pi Modelle mit Bootloader-EEPROM, z.B.
- Raspberry Pi 4
- Raspberry Pi 5
Auf älteren Raspberry Pi Modellen werden EEPROM-Funktionen automatisch deaktiviert.
Voraussetzungen
- Raspberry Pi OS Bookworm oder neuer
- Go 1.21 oder neuer
- systemd
- sudo
- rpi-eeprom-config (für USB-Boot)
- raspi-agent (für die zusätzlichen Systeminformationen)
Der raspi-agent stellt die Systeminformationen über eine HTTPS-REST-API bereit.
Projektstruktur
cmd/
raspi-webreboot/
internal/
actions/
agent/
cert/
config/
eeprom/
version/
web/