refactor: multi-site structure — one directory per target website

Each monitored website now lives in its own named subdirectory
(bredelar.info/, jamulix.de/) with a dedicated config.yaml using
absolute paths. This makes adding new sites trivial:
  mkdir newsite.de && cp bredelar.info/config.yaml newsite.de/
  # adjust target + paths, then: python -m scanner --config newsite.de/config.yaml init

Changes:
- bredelar.info/: moved data/, reports/, logs/, config/ from project root
- bredelar.info/config.yaml: new, with absolute paths
- jamulix.de/: moved from ~/Python_Programs/jamulix_check/
- jamulix.de/config.yaml: updated paths to new location
- .gitignore: replaced old data/*/reports/logs entries with per-site entries
- config.yaml (root): removed (replaced by site-specific configs)
- CLAUDE.md: updated CLI examples to --config <site>/config.yaml

Usage:
  python -m scanner --config bredelar.info/config.yaml scan
  python -m scanner --config jamulix.de/config.yaml scan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Your Name 2026-06-12 15:01:14 +02:00
commit ab882f912e
8 changed files with 349 additions and 137 deletions

View file

@ -0,0 +1,52 @@
# Whitelist erlaubter externer Domains — bredelar.info
# Erstellt nach initialem Crawl und manueller Sichtprüfung am 2026-06-12.
# Neue externe Domains, die NICHT hier stehen, lösen einen Alarm aus.
# Lokale Vereine, Institutionen, Betriebe
- www.bergbauspuren-bredelar.de
- www.bergbauspuren.de
- www.kloster-bredelar.de
- www.schuetzen-bredelar.de
- www.klosterschuetzen-bredelar.de
- www.bsg-bredelar.de
- www.sg-hoppecketal.de
- www.sg-hoppecketal-padberg.de
- www.feuerwehrhütte-bredelar.de
- www.lesdurs-mc.de
- www.kantorei-marsberg.de
- www.tourismus-marsberg.de
- www.katholische-kirche-marsberg.de
- www.marsberg.ekvw.de
# Lokale Unternehmen (Gewerbetreibende aus bredelar.info/companies/)
- www.VolksbankMarsberg.de
- www.borghoff-bredelar.de
- www.dachdeckermarsberg.de
- www.maler-luce.de
- www.pyls-pflasterbau.de
# Technische Ressourcen (Fonts, CDN, Wetter-Widget)
- fonts.googleapis.com
- fonts.gstatic.com
- cdnjs.cloudflare.com
- www.wetter.com
- static1.wetter.com
# Datenschutzerklärung / Impressum (gesetzlich vorgeschriebene Links)
- ec.europa.eu
- www.e-recht24.de
- www.heise.de
- www.ratgeberrecht.eu
- www.privacyshield.gov
- policies.google.com
- www.google.com
- adssettings.google.com
- developers.facebook.com
- www.facebook.com
- twitter.com
# Webentwickler / Technischer Betreiber
- www.antillu.de
# www-Variante der eigenen Domain (wird intern verlinkt)
- www.bredelar.info

View file

@ -0,0 +1,17 @@
# Whitelist erlaubter interner URL-Pfade (optional)
#
# Wenn diese Liste befüllt ist, lösen interne Links auf nicht gelistete
# Pfade einen Alarm aus.
# Leer lassen = keine Pfad-Whitelist-Prüfung (nur Baseline-Diff zählt).
#
# Format: ein Pfad pro Zeile (absoluter Pfad, ohne Domain)
# Beispiel für bredelar.info:
#
# - /
# - /index.html
# - /kontakt/
# - /kontakt/index.html
# - /impressum/
# - /datenschutz/
# - /ueber-uns/
# - /aktuelles/

View file

@ -0,0 +1,23 @@
# Normalisierungsregeln für den Diff
#
# Diese Einstellungen reduzieren Fehlalarme durch harmlose, automatisch
# generierte Inhaltsänderungen.
# CSS-Selektoren, die vor dem Diff aus dem DOM entfernt werden.
# Nützlich für Elemente mit automatischen Zeitstempeln oder Zählern.
ignore_selectors:
# - "#last-modified"
# - ".timestamp"
# - "[data-cache-buster]"
# - ".cookie-banner"
# Reguläre Ausdrücke, die im normalisierten Text durch [IGNORED] ersetzt werden.
# Nützlich für Datumsangaben, Versionsnummern, etc.
ignore_patterns:
# Datumsformate (deutsch: 12.06.2026 oder 12. Juni 2026)
# - '\b\d{1,2}\.\s*(?:Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)\s+\d{4}\b'
# - '\b\d{1,2}\.\d{1,2}\.\d{4}\b'
# "Stand: ..." Angaben
# - 'Stand:\s+\S+'
# Cache-Buster in URLs (werden im HTML-Text sichtbar)
# - '\?v=[\w.]+\b'