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

119
jamulix.de/config.yaml Normal file
View file

@ -0,0 +1,119 @@
# Integrity Scanner — Konfiguration für jamulix.de
target: "https://jamulix.de"
user_agent: "integrity-scanner/1.0 (+security-monitoring)"
request_timeout: 20
data_dir: "/home/dschlueter/Python_Programs/integrity_scanner_fuer_statische_Webseiten/jamulix.de/data"
reports_dir: "/home/dschlueter/Python_Programs/integrity_scanner_fuer_statische_Webseiten/jamulix.de/reports"
logs_dir: "/home/dschlueter/Python_Programs/integrity_scanner_fuer_statische_Webseiten/jamulix.de/logs"
config_dir: "/home/dschlueter/Python_Programs/integrity_scanner_fuer_statische_Webseiten/jamulix.de/config"
crawl:
max_pages: 500
delay_seconds: 1.0
respect_robots_txt: false
# /hackernews/ wird ausgeschlossen — Inhalte dort wechseln laufend (gewollt).
exclude_paths:
- "/hackernews/"
skip_extensions:
- ".jpg"
- ".jpeg"
- ".png"
- ".gif"
- ".webp"
- ".svg"
- ".ico"
- ".pdf"
- ".zip"
- ".woff"
- ".woff2"
- ".ttf"
- ".otf"
- ".eot"
- ".mp4"
- ".mp3"
- ".webm"
- ".avi"
- ".mov"
scoring:
new_external_domain: 50
new_internal_url: 30
missing_internal_url: 20
hidden_content: 40
unexpected_canonical: 35
meta_refresh: 40
unexpected_jsonld: 35
large_text_addition: 20
new_inline_script_suspicious: 30
comment_links: 25
new_broken_link: 20
suspicious_filename: 60
cloaking_extra_link: 60
cloaking_extra_text: 40
cloaking_vary_ua: 25
changed_script: 40
changed_stylesheet: 30
changed_asset: 20
thresholds:
yellow: 20
red: 60
large_text_block_chars: 200
periodic_checks:
enabled: true
interval_days: 7
cloak_check: true
ext_links: true
assets: true
alerting:
min_level: "yellow"
email:
enabled: false
smtp_host: "localhost"
smtp_port: 587
smtp_tls: true
smtp_user: ""
smtp_password_env: "SCANNER_SMTP_PASSWORD"
from: "scanner@jamulix.de"
to:
- "admin@jamulix.de"
webhook:
enabled: false
url: ""
normalization:
strip_html_comments: true
collapse_whitespace: true
ignore_selectors:
ignore_patterns:
allowed_jsonld_types:
- "Organization"
- "WebSite"
- "WebPage"
- "Article"
- "BreadcrumbList"
- "ItemList"
- "LocalBusiness"
- "Place"
- "Person"
- "Event"
- "FAQPage"
- "Question"
- "Answer"
- "ImageObject"
- "SiteLinksSearchBox"
- "ContactPage"
- "AboutPage"
security_headers:
- "Content-Security-Policy"
- "Strict-Transport-Security"
- "X-Content-Type-Options"
- "Referrer-Policy"

View file

@ -0,0 +1,7 @@
# Erlaubte externe Domains für jamulix.de
# Erstellt beim ersten Init-Crawl am 2026-06-12
- kitux.de
- cdn.tailwindcss.com
- unpkg.com
- fonts.googleapis.com
- fonts.gstatic.com