Polit-Scraper (Antifaschistisches Info-Tool Rottal-Inn)
Ein automatisiertes Überwachungswerkzeug für Webseiten und Nachrichtenportale, spezialisiert auf die Erkennung von rechten Aktivitäten, staatlicher Repression und linker Solidarität im Raum Niederbayern.
🚀 Kernfunktionen
- Intelligente KI-Analyse: Nutzt die Gemini-CLI, um Textänderungen aus einer dezidiert linken, antifaschistischen Perspektive zu bewerten.
- Geografische Hierarchie: Priorisiert Meldungen aus dem Kerngebiet (Pfarrkirchen, Eggenfelden) und dem Landkreis Rottal-Inn.
- Cloudflare-Bypass: Dank
cloudscraperwerden auch geschützte Seiten zuverlässig ausgelesen. - Worker-Architektur: Modulares Design mit parallelen Analyzer-Instanzen (konfigurierbar) und dediziertem Notifier.
- Effiziente Datenhaltung: Nutzt eine SQLite-Datenbank zur Verwaltung von Analyse-Jobs und deren Status.
- ntfy- & Signal-Benachrichtigungen:
- Public Kanal: Relevante politische News.
- Admin Kanal: Technische Fehler, Website-Ausfälle und Statusmeldungen (Passwort-geschützt).
🛠 Technische Details
- Sprache: Python 3
- Bibliotheken:
cloudscraper,BeautifulSoup4,requests,python-dotenv - KI-Integration: Google Antigravity CLI (
agy) mit Modellgemini-3.5-flash - Datenhaltung: SQLite (
polit_scraper.db) - Konfiguration:
urls.txt(Ziel-URLs),gemini_instructions.md(KI-Regelwerk) und.env(Zugangsdaten & Einstellungen)
📋 Installation & Setup
- Abhängigkeiten installieren:
pip install cloudscraper beautifulsoup4 requests python-dotenv --break-system-packages - Antigravity CLI (agy) & Pfad-Verlinkung:
Installiere das
agyCLI. Da die Worker-Hintergrundprozesse in einer eingeschränkten PATH-Umgebung laufen, muss zwingend ein globaler symbolischer Link angelegt werden:ln -s /root/.local/bin/agy /usr/bin/agy - Signal-Bot (Standalone-Client):
Der Notifier sendet Benachrichtigungen über
signal-cli(registriert z. B. als Standalone-Festnetznummer).- Um Blockaden durch geänderte Sicherheitsnummern zu verhindern, ist in
notifier.pydas Flag--trust-new-identities alwayshinterlegt. - Da
agyOAuth-Tokens verschlüsselt speichern möchte, muss auf Headless-Servern ein D-Bus- und GNOME-Keyring-Dienst im Hintergrund laufen. Stelle sicher, dass die entsprechenden D-Bus-Umgebungsvariablen (wieDBUS_SESSION_BUS_ADDRESS) in der.enveingetragen sind.
- Um Blockaden durch geänderte Sicherheitsnummern zu verhindern, ist in
- Konfiguration (
.env): Erstelle eine.env-Datei basierend auf.env.exampleund setze deine Zugangsdaten (ntfy, Signal-Empfänger, D-Bus) sowieMAX_ANALYZER_WORKERS. - Ziele definieren:
URLs in die
urls.txteintragen (eine pro Zeile). - Starten:
Der
crawler.pysteuert automatisch die Analyzer-Worker und den Notifier:python3 crawler.py - Überwachung:
Nutze den Live-Monitor für den Status der Abarbeitung:
python3 monitor.py
KI-Regelwerk testen
Du kannst die KI-Analyse und dein Regelwerk (gemini_instructions.md) manuell testen, ohne Einträge in der Datenbank zu erzeugen oder Benachrichtigungen zu senden:
python3 analyzer.py --test
Gib den zu prüfenden Text im Terminal ein und beende die Eingabe mit Strg+D. Das Resultat der KI wird direkt ausgegeben.
⚖️ Lizenz & Zweck
Dieses Tool dient ausschließlich der antifaschistischen Informationsarbeit und dem Monitoring politischer Gegner.
Description
Languages
Python
100%