Zum Inhalt

Setup & Installation

Einrichtung und Konfiguration

Schnelle Installation:

curl -sL https://raw.githubusercontent.com/einstweilen/tp-link-vx231v/main/install.sh | bash

Beispiel: Installationsverlauf
curl -sL https://raw.githubusercontent.com/einstweilen/tp-link-vx231v/main/install.sh | bash

==== tp-link-vx231v Installation ====
[1/11] Klone das Repository...
Cloning into 'tp-link-vx231v'...
remote: Enumerating objects: 124, done.
remote: Counting objects: 100% (124/124), done.
Receiving objects: 100% (124/124), 2.45 MiB | 4.88 MiB/s, done.

[2/11] Wechsle in das Verzeichnis...

[3/11] Erstelle virtuelle Umgebung...
      Aktiviere virtuelle Umgebung...

[4/11] Installiere Abhängigkeiten...
Collecting playwright
  Downloading playwright-1.42.0-py3-none-macosx_11_0_arm64.whl
Successfully installed playwright-1.42.0 requests

[5/11] Installiere Chromium in Playwright...
Downloading Chromium 123.0.6312.4 (playwright build v1105)...
Playwright build of Chromium is installed.

[6/11] OPTIONAL: SNMP / TELNET verwenden
      Falls mit dem superadmin Account des Routers
      SNMP und Telnet aktiviert wurden, können
      Routerdaten auch per SNMP abrufen.
      Dafür werden 'snmpget' und 'snmpwalk' benötigt.
      Sollen SNMP-Tools jetzt installiert werden? (j/N) j
      Installiere net-snmp via Homebrew (macOS)...
      🍺  net-snmp wurde erfolgreich installiert!

[7/11] OPTIONAL: AI-Analyse Einrichtung (nur macOS)...
      Die Routerdatenanalyse wird über einen Apple Kurzbefehl 'ai-cloud' ausgeführt.
      Dieser Kurzbefehl muss manuell in der Kurzbefehle-App angelegt werden,
      wie in der Dokumentation beschrieben.
      Wurde der Kurzbefehl 'ai-cloud' bereits angelegt oder soll dies später erfolgen? [Enter]

[8/11] Überprüfe Konfigurationsdatei...
      -> config.ini wurde aus der Vorlage (config.ini.sample) erstellt.

[9/11] Konfigurationsdatei anpassen
      Bitte nun die Zugangsdaten in der config.ini anpassen.
      [Enter] drücken, um die Datei im Editor zu öffnen...

[10/11] Teste das Skript...

GUI Scraping
  ✓  Login in Routerweboberfläche erfolgreich
Telnet Konfiguration
  ✓  telnet Login erfolgreich
SNMP Konfiguration
  ✓  snmp Zugriff erfolgreich
eMail Konfiguration
  ✓  eMail erfolgreich versendet

==== Installation abgeschlossen! ====

[11/11] Skript in Cronjob eintragen
Vorschlag für die crontab:
Einmal stündlich: Systemstatus, Clients, DSL-Werte, Log sichern
0 * * * * cd /Users/user/tp-link-vx231v && /Users/user/tp-link-vx231v/.venv/bin/python3 vx-info.py --update --log
Täglich um 06:10 Uhr: Statusreport generieren und per E-Mail versenden
10 6 * * * cd /Users/user/tp-link-vx231v && /Users/user/tp-link-vx231v/.venv/bin/python3 vx-info.py --report-send

Soll jetzt 'crontab -e' geöffnet werden? (j/N) n
Übersprungen. Die Crontab kann später jederzeit mit 'crontab -e' bearbeitet werden.

Fertig!


  1. Voraussetzungen installieren: Neben Python 3 und den Modulen aus requirements.txt werden plattformabhängige Systemwerkzeuge benötigt:

    • Python-Umgebung & Pakete: Auf modernen Linux-Distributionen (z. B. Raspberry Pi OS, Debian) ist die Installation in eine virtuelle Umgebung (venv) notwendig:
      sudo apt install python3-venv  # falls nicht bereits installiert
      python3 -m venv .venv
      source .venv/bin/activate
      
      # Abhängigkeiten und Browser-Binaries in venv installieren
      pip install -r requirements.txt
      playwright install chromium
      
    • SNMP-Client: Falls auf dem Router der superadmin Account aktiviert, müssen snmpget und snmpwalk verfügbar sein.
      • Debian/Raspberry Pi: sudo apt install snmp
      • macOS: brew install net-snmp
    • AI-Analyse (Optional): Die Anomalie-Erkennung (_run_ai_analysis) setzt aktuell macOS voraus. Dazu ein Kurzbefehl ai-cloud wie auf dem folgenden Screenshot gezeigt anlegen.
      Unter Linux/Debian wird die AI-Analyse aktuell noch übersprungen.
      ai-cloud shortcut anlegen

    ai-cloud shortcut screenshot

  2. Konfigurationsdatei anlegen: Die Vorlage config.ini.sample zu config.ini kopieren. Anschließend die Zugangsdaten für die Router Weboberfläche, SNMP, telnet sowie die E-Mail-Konfiguration an das eigene Netzwerk anpassen.

  3. Testlauf durchführen (--test): Überprüfen, ob die Kommunikation mit dem Router funktioniert und alle Abhängigkeiten korrekt installiert sind. Dies sollte als erster Schritt ausgeführt werden (Achtung: venv muss aktiv sein!):

    python3 vx-info.py --test
    
    Bei einer erfolgreichen Konfiguration sieht die Ausgabe folgendermaßen aus:
    GUI Scraping
      ✓  Login in Routerweboberfläche erfolgreich
    
    Telnet Konfiguration
      ✓  telnet Login erfolgreich
    
    SNMP Konfiguration
      ✓  snmp Zugriff erfolgreich
    
    eMail Konfiguration
      ✓  eMail erfolgreich versendet
    

  4. Erster Datenabruf: Wenn der Testlauf erfolgreich war, kann das vollständige Logbuch manuell heruntergeladen und die Datenbank initialisiert werden:

    python3 vx-info.py --update --log