Ein webbasiertes Tool zum sicheren Löschen von Festplatten mit automatischem Boot-Disk-Schutz.
- Boot-Festplatten werden IMMER automatisch erkannt und geschützt
- Alle Daten auf gelöschten Festplatten werden unwiderruflich vernichtet
- Das Tool sollte nur von autorisierten Personen verwendet werden
- Erfordert Administrator-/Root-Rechte für den Zugriff auf Festplatten
- ✅ Webinterface: Intuitive Bedienung über den Browser
- ✅ Boot-Disk-Schutz: Automatische Erkennung und Schutz von Boot-Laufwerken
- ✅ SMART-Daten: Auslesen und Speichern von SMART-Werten vor dem Löschen
- ✅ Mehrere Löschmethoden:
- Zeros (Einmal mit Nullen überschreiben)
- Random (Einmal mit Zufallsdaten)
- DoD 5220.22-M (3 Pässe, höchste Sicherheit)
- ✅ Datenbank: Lokale SQLite-Datenbank für alle Protokolle
- ✅ Suchfunktion: Suche nach Seriennummer oder Modell
- ✅ Report-Generierung: Detaillierte HTML-Reports nach Abschluss
- ✅ Cross-Platform: Unterstützt Windows, Linux und macOS
- Python 3.8 oder höher
- Administrator-/Root-Rechte (für Festplattenzugriff)
smartmontools(für SMART-Daten)
sudo apt-get install smartmontoolsbrew install smartmontools- Smartmontools für Windows von https://www.smartmontools.org/ installieren
- Als Administrator ausführen
git clone https://github.com/theoneandonlymace/Disk-Wiper.git
cd Disk-Wiperpython -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activatepython -m pip install -r requirements.txt# Kopiere .env.example zu .env
cp .env.example .env
# Bearbeite .env und setze SECRET_KEYpython run.py
# Die Datenbank wird automatisch erstellt beim ersten StartWindows (als Administrator):
# PowerShell als Administrator öffnen
cd C:\Path\To\Disk-Wiper
venv\Scripts\activate
python run.pyLinux/macOS (mit sudo):
sudo -E env PATH=$PATH python run.py
# Oder mit aktiviertem venv:
sudo $(which python) run.pyDer Server läuft dann auf: http://localhost:5000
-
Festplatten scannen
- Öffnen Sie
http://localhost:5000 - Klicken Sie auf "Festplatten scannen"
- Alle verfügbaren Festplatten werden angezeigt
- Boot-Festplatten sind automatisch als "Geschützt" markiert
- Öffnen Sie
-
SMART-Daten auslesen
- Klicken Sie bei einer Festplatte auf "SMART-Daten"
- Die Daten werden ausgelesen und in der Datenbank gespeichert
-
Festplatte löschen
- Klicken Sie auf "Löschen" bei einer nicht geschützten Festplatte
- Wählen Sie die Löschmethode und Anzahl der Pässe
- Bestätigen Sie den Vorgang
- Der Fortschritt wird in Echtzeit angezeigt
-
Wipe-Historie
- Navigieren Sie zu "Wipe-Historie"
- Sehen Sie alle durchgeführten Löschvorgänge
- Aktualisiert sich automatisch alle 5 Sekunden
-
Reports ansehen
- Bei abgeschlossenen Löschvorgängen auf "Report anzeigen" klicken
- Detaillierter HTML-Report mit allen Informationen
-
Suchen
- Navigieren Sie zu "Suche"
- Geben Sie Seriennummer oder Modell ein
- Durchsucht Festplatten und Wipe-Protokolle
Disk-Wiper/
├── app/
│ ├── __init__.py # Flask App Factory
│ ├── models/ # Datenbank-Modelle
│ │ ├── disk.py # Festplatten-Modell
│ │ └── wipe_log.py # Wipe-Protokoll-Modell
│ ├── routes/ # Flask Routes
│ │ └── main.py # Haupt-Routes
│ ├── templates/ # HTML Templates
│ │ ├── base.html # Basis-Template
│ │ ├── index.html # Hauptseite
│ │ ├── wipes.html # Wipe-Historie
│ │ ├── search.html # Suchseite
│ │ └── partials/ # HTMX Partials
│ └── utils/ # Utility-Module
│ ├── disk_manager.py # Festplatten-Verwaltung
│ ├── smart_reader.py # SMART-Daten
│ ├── wipe_engine.py # Lösch-Engine
│ └── report_generator.py # Report-Generierung
├── config.py # Konfiguration
├── run.py # Start-Skript
├── requirements.txt # Python-Abhängigkeiten
└── README.md # Diese Datei
Das Tool implementiert mehrere Sicherheitsebenen:
- Primäre Erkennung: Boot-Festplatten werden beim Scannen erkannt
- UI-Schutz: Boot-Festplatten können nicht im Interface gelöscht werden
- Backend-Validierung: Vor jedem Löschvorgang wird erneut geprüft
- Doppelte Prüfung: Unmittelbar vor dem Schreiben erfolgt eine finale Prüfung
Erkennungsmethoden:
- Linux: Prüfung auf gemountete Partitionen (/, /boot, /boot/efi)
- Windows: Prüfung auf System-Laufwerk (C:)
- macOS: Prüfung über diskutil
- Überschreibt die Festplatte einmal mit Nullen
- Schnellste Methode
- Ausreichend für die meisten Anwendungsfälle
- Überschreibt die Festplatte mit Zufallsdaten
- Mittlere Sicherheit
- Langsamer als Zeros
- Department of Defense Standard
- 3 Pässe (Zeichen, Komplement, Zufallsdaten)
- Höchste Sicherheit
- Am langsamsten
GET /api/disks/scan- Scannt verfügbare FestplattenGET /api/disks- Gibt alle Festplatten zurückGET /api/disks/<id>- Details einer FestplatteGET /api/disks/<id>/smart- SMART-Daten auslesenPOST /api/disks/<id>/wipe- Löschvorgang starten
GET /api/wipes- Alle Wipe-VorgängeGET /api/wipes/<id>- Details eines VorgangsGET /api/wipes/<id>/status- Aktueller StatusGET /api/wipes/<id>/report?format=html- Report generieren
GET /api/search?q=<query>- Suche nach SN/Modell
- Stellen Sie sicher, dass das Tool mit Administrator-/Root-Rechten läuft
- Installieren Sie
smartmontools - Prüfen Sie, ob smartctl im PATH ist
- Prüfen Sie die Berechtigung
- Unter Linux: Prüfen Sie
/dev/Zugriff - Unter Windows: Als Administrator ausführen
- Prüfen Sie, ob die Festplatte als Boot-Disk markiert ist
- Prüfen Sie die Logs für detaillierte Fehlermeldungen
flask db init
flask db migrate -m "Description"
flask db upgradepytestDieses Tool dient ausschließlich zu autorisierten Zwecken. Der Autor übernimmt keine Haftung für Datenverlust oder Schäden.
- Backend: Flask, SQLAlchemy
- Frontend: HTMX, Tailwind CSS
- Datenbank: SQLite
- System: psutil, smartmontools
Bei Fragen oder Problemen erstellen Sie bitte ein Issue im Repository.