# Medi-WOL - Wake-on-LAN Manager Ein moderner Wake-on-LAN Manager, entwickelt mit Go und einer schönen Web-Oberfläche. ## Features - **PC-Verwaltung**: Hinzufügen, Anzeigen und Löschen von PC-Einträgen - **Wake-on-LAN**: Ein-Klick-Aufwecken von Computern über MAC-Adressen - **Moderne Web-Oberfläche**: Responsive Design mit Bootstrap und FontAwesome - **SQLite-Datenbank**: Einfache lokale Datenspeicherung - **Cross-Platform**: Läuft auf Windows und Linux ## Voraussetzungen - Go 1.21 oder höher - Git ## Installation 1. **Repository klonen:** ```bash git clone cd medi-wol ``` 2. **Abhängigkeiten installieren:** ```bash go mod tidy ``` 3. **Anwendung starten:** ```bash go run cmd/server/main.go ``` 4. **Im Browser öffnen:** ``` http://localhost:8080 ``` ## Verwendung ### PC hinzufügen 1. Geben Sie den Namen des PCs ein 2. Geben Sie die MAC-Adresse im Format `XX:XX:XX:XX:XX:XX` ein 3. Klicken Sie auf "PC hinzufügen" ### PC aufwecken - Klicken Sie auf den "Aufwecken"-Button neben dem gewünschten PC - Das System sendet automatisch ein Wake-on-LAN Paket ### PC löschen - Klicken Sie auf den "Löschen"-Button neben dem gewünschten PC - Bestätigen Sie die Löschung ## Projektstruktur ``` medi-wol/ ├── cmd/server/ # Hauptanwendung ├── internal/ # Interne Pakete │ ├── database/ # Datenbanklogik │ ├── handlers/ # HTTP-Handler │ ├── models/ # Datenmodelle │ └── wol/ # Wake-on-LAN Service ├── web/ # Web-Oberfläche │ ├── static/ # CSS, JavaScript │ └── templates/ # HTML-Templates ├── go.mod # Go-Module └── README.md # Diese Datei ``` ## API-Endpunkte - `GET /` - Hauptseite - `GET /api/pcs` - Alle PCs abrufen - `POST /api/pcs` - Neuen PC erstellen - `DELETE /api/pcs/:id` - PC löschen - `POST /api/pcs/:id/wake` - PC aufwecken ## Datenbank Die Anwendung verwendet SQLite als lokale Datenbank. Die Datenbankdatei `medi-wol.db` wird automatisch im Projektverzeichnis erstellt. ## Wake-on-LAN Das System sendet Magic Packets an die gespeicherten MAC-Adressen. Stellen Sie sicher, dass: 1. Die Zielcomputer Wake-on-LAN unterstützen 2. Die Netzwerkkarte für Wake-on-LAN konfiguriert ist 3. Die Computer im gleichen Netzwerksegment sind ## Entwicklung ### Lokale Entwicklung ```bash go run cmd/server/main.go ``` ### Build für Produktion ```bash go build -o medi-wol cmd/server/main.go ``` ### Tests ausführen ```bash go test ./... ``` ## Lizenz Dieses Projekt ist für den internen Gebrauch bestimmt. ## Support Bei Fragen oder Problemen wenden Sie sich an das Entwicklungsteam.