Skip to content

LeonardZG/Ticket_monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ticket Page Monitor

Browserbasierter Monitor zur Beobachtung eingeloggter, dynamisch gerenderter Webseiten mit Benachrichtigung bei relevanten Änderungen.

Das Projekt wird aktiv als persönliches Monitoring-Tool genutzt und gleichzeitig veröffentlicht, um Kenntnisse in Browser-Automation, Session-Handling und Änderungs­erkennung zu demonstrieren.


Zweck

Viele moderne Webanwendungen laden Inhalte clientseitig und erfordern eine Anmeldung.
Dieses Projekt rendert eine Zielseite regelmäßig in einer echten Browser-Umgebung und vergleicht deren Zustand über die Zeit.

Sobald sich Struktur oder Interaktivität der Seite in sinnvoller Weise verändern, wird eine Benachrichtigung ausgelöst.

Der Fokus liegt dabei auf Änderungs­erkennung und Benachrichtigung, nicht auf der Automatisierung von Nutzeraktionen.


Zentrale Fähigkeiten

  • Rendering JavaScript-lastiger Seiten mit einer echten Browser-Engine
  • Persistente, authentifizierte Sessions über mehrere Durchläufe hinweg
  • Erkennung struktureller und interaktiver DOM-Änderungen
  • Echtzeit-Push-Benachrichtigungen über die Telegram Bot API
  • Betrieb im sichtbaren oder headlosen Modus
  • Ausgelegt für langfristigen Hintergrundbetrieb

Technisches Design

Anstelle statischer HTTP-Requests setzt das Projekt auf Browser-Automation, um reales Nutzerverhalten und authentifizierte Sitzungen abzubilden.

Die Änderungs­erkennung kombiniert mehrere Ansätze:

  • Hash-Vergleich des gerenderten DOM
  • Heuristiken zur Anzahl interaktiver Elemente (Links, Buttons, Listen)
  • Erkennung neu auftretender klickbarer Strukturen

Dieser Ansatz reagiert auf funktionale Änderungen und ist gleichzeitig robust gegenüber kleineren Layout-Anpassungen.


Technologie-Stack

  • Python
  • Playwright
  • Chromium
  • Telegram Bot API

Praktischer Einsatz

Das Projekt wird genutzt, um Seiten zu überwachen, bei denen Inhalte oder Verfügbarkeiten ohne explizite Benachrichtigung und zu unvorhersehbaren Zeitpunkten erscheinen.

Es lässt sich auf andere Szenarien übertragen, in denen:

  • eine Anmeldung erforderlich ist
  • Inhalte clientseitig gerendert werden
  • zeitnahe Benachrichtigungen über Änderungen benötigt werden

Abgrenzung und Einschränkungen

  • Keine Automatisierung von Käufen, Formularen oder Checkout-Prozessen
  • Kein Umgehen von Captchas oder Schutzmechanismen
  • Änderungs­erkennung ist heuristikbasiert und seitenabhängig
  • Gedacht für private und lernorientierte Nutzung

Haftungsausschluss

Dieses Repository demonstriert Techniken zur browserbasierten Änderungs­erkennung.
Die Nutzung erfolgt auf eigene Verantwortung.
Die Nutzungsbedingungen der jeweils überwachten Plattform sind einzuhalten.


Usage

Kurze Anleitung zur Nutzung des Tools.
Diese Sektion beschreibt nur den Start und Betrieb, nicht die Einrichtung oder interne Implementierung.


1. Ziel-URL festlegen

Die Ziel-URL ist die Seite, die nach dem Login im Browser angezeigt wird und überwacht werden soll
(z. B. eine eingeloggte Detail- oder Zweitmarkt-Seite).


2. Sichtbar starten (Initialer Start / Kontrolle)

./run.sh --show "ZIEL_URL"
  • startet einen sichtbaren Browser
  • ermöglicht Login
  • erlaubt zu prüfen, ob die korrekte Seite geladen wird
  • empfohlen beim ersten Start oder nach Ablauf der Session

Beenden mit:

Ctrl + C

3. Unsichtbar starten (Normalbetrieb)

./run.sh "ZIEL_URL"
  • läuft ohne sichtbares Browser-Fenster
  • nutzt eine gespeicherte Login-Session
  • sendet Benachrichtigungen bei relevanten Seitenänderungen

4. Start über Shell-Alias (optional)

Falls ein Alias eingerichtet ist, kann das Tool direkt so gestartet werden:

union "ZIEL_URL"

Oder sichtbar:

union --show "ZIEL_URL"

5. Hintergrundbetrieb

Für längeres Monitoring kann das Tool im Hintergrund ausgeführt werden:

nohup union "ZIEL_URL" > monitor.log 2>&1 &
  • läuft weiter, auch wenn das Terminal geschlossen wird
  • geeignet für längeren Betrieb oder gesperrten Bildschirm

6. Beenden des Hintergrundprozesses

Prozess-ID ermitteln:

ps aux | grep union_ticket_monitor.py

Prozess beenden:

kill <PID>

7. Login-Session erneuern

Falls eine neue Anmeldung erforderlich ist:

rm -rf ~/union-monitor-profile

Danach erneut sichtbar starten:

./run.sh --show "ZIEL_URL"

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published