Files
medi-wol/README.md

117 lines
2.7 KiB
Markdown

# 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 <repository-url>
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.