# NecroHash

**NecroHash** ist eine moderne, leichtgewichtige Web-Oberfläche zur Steuerung und Überwachung von Gridseed ASIC Minern. Entwickelt für den Raspberry Pi (ab Gen 1), verbindet es den Retro-Charme alter Mining-Hardware mit moderner Web-Technologie.

## Features

- **Multi-Device Support:** Erkennt und überwacht automatisch alle angeschlossenen Gridseed-Einheiten.
- **Echtzeit-Dashboard:**
  - Aggregierte Hashrate (MH/s)
  - Hardware-Fehler & Shares
  - Temperatur-Überwachung pro Gerät
  - Interaktiver Verlaufsgraph
- **Steuerung:**
  - Pool-Konfiguration (URL, Worker, Passwort)
  - Frequenz-Einstellung (Global für alle Units)
  - Restart-Funktion
- **Tech Stack:** Python Flask, Bootstrap 5 (Dark Mode), Vanilla JS.

## Automatische Installation (Empfohlen)

Das `install.sh` Skript übernimmt die komplette Einrichtung inkl. Kompilieren von `cgminer` (dmaxl Fork für Gridseed Support) und Einrichten der Systemd-Services.

1. Repository klonen:
   ```bash
   git clone https://git.klenzel.net/admin/NecroHash.git necrohash_install
   cd necrohash_install
   ```

2. Installer ausführen:
   ```bash
   sudo ./install.sh
   ```
   *Hinweis: Der Installer installiert Abhängigkeiten, kompiliert cgminer (falls nicht vorhanden), kopiert die Dateien nach `/opt/necrohash` und richtet Autostart ein.*

3. Dienste Starten:
   Nach der Installation sind die Dienste aktiviert aber müssen einmalig gestartet werden (oder Reboot):
   ```bash
   sudo systemctl start necrohash-gui
   sudo systemctl start necrohash-miner
   ```

4. Zugriff:
   Öffnen Sie im Browser `http://<IP-DES-PI>:5000`

## Manuelle Installation

Falls Sie den Automatismus nicht nutzen wollen:

1. **Abhängigkeiten:** Python 3, `libusb-1.0-0-dev`, `libcurl4-openssl-dev`, `libncurses5-dev`.
2. **Cgminer:** Installieren Sie einen Gridseed-kompatiblen Fork (z.B. https://github.com/dtbartle/cgminer-gc3355).
   Configure flags: `./configure --enable-gridseed --enable-scrypt`
3. **App:** 
   - Code nach `/opt/necrohash` kopieren.
   - `pip install -r requirements.txt` (in venv).
4. **Cgminer Config:**
   Starten Sie cgminer zwingend mit der Config-Datei aus dem Web-Ordner, damit die GUI Einstellungen schreiben kann:
   ```bash
   cgminer -c /opt/necrohash/cgminer.conf
   ```
   Die Config MUSS folgende API-Settings enthalten (Standard in NecroHash):
   ```json
   "api-listen": true,
   "api-allow": "W:127.0.0.1"
   ```

## Lizenz
MIT
