diff --git a/README.md b/README.md index 42584be..a80f299 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Dieses Tool ermöglicht es, einzelne oder alle Shops auf einem Plesk-Server temp - ✅ **Flexible Regionen**: DACH (DE, AT, CH) oder Eurozone+GB (22 Länder) - ✅ **Bot-Rate-Limiting**: Bots unter Limit durchlassen, bei Überschreitung temporär bannen +- ✅ **Umfangreiche Bot-Erkennung**: 321 bekannte Bot-Patterns + 32 generische Fallback-Patterns - ✅ **Präzises Blocking**: PHP prüft gegen vollständige IP-Ranges (keine Fehlblockierungen) - ✅ **Flexibler Modus**: 4 Modi - GeoIP+CrowdSec, GeoIP-only, Bot+CrowdSec, Bot-only - ✅ **Doppelter Schutz**: PHP-Level + Firewall-Level (CrowdSec) - optional @@ -139,16 +140,38 @@ httpdocs/ ## 🤖 Erkannte Bot-Patterns -Das System erkennt über 30 verschiedene Bots: +Das System erkennt **321 verschiedene Bots** in 12 Kategorien, plus **32 generische Fallback-Patterns** für unbekannte Bots. -| Kategorie | Bots | -|-----------|------| -| **AI-Crawler** | GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, anthropic-ai, PerplexityBot | -| **Suchmaschinen** | Googlebot, Google-Extended, AdsBot-Google, Bingbot, BingPreview, msnbot, DuckDuckBot, YandexBot, Baiduspider | -| **SEO-Tools** | AhrefsBot, SemrushBot, MJ12bot, DotBot, DataForSeoBot | -| **Social Media** | FacebookBot, LinkedInBot, Twitterbot, Slackbot | -| **Andere** | Applebot, Amazonbot, Bytespider, PetalBot, UptimeRobot, Pingdom | -| **CLI-Tools** | curl, python-requests, Wget, Scrapy | +### Bot-Kategorien + +| Kategorie | Anzahl | Beispiele | +|-----------|--------|-----------| +| **AI/LLM Services** | 61 | ChatGPT-User, GPTBot, ClaudeBot, Anthropic, PerplexityBot, Gemini-Deep-Research, Google-NotebookLM, Cohere, MistralAI, DeepSeekBot, Bytespider, HuggingFace, Diffbot, BedrockBot, Firecrawl, Crawl4AI | +| **Suchmaschinen** | 36 | Googlebot, Googlebot-Image/Video/News, Google-Extended, Bingbot, BingPreview, MSNBot, Baiduspider, YandexBot, DuckDuckBot, Applebot, Yahoo Slurp, Sogou, NaverBot, BraveBot, QwantBot, PetalBot | +| **SEO & Marketing** | 15 | AhrefsBot, SemrushBot, MJ12Bot, DotBot, RogerBot, Screaming Frog, BLEXBot, DataForSEOBot, Linkdex, SearchmetricsBot | +| **Social Media** | 21 | FacebookBot, Meta-ExternalAgent, Twitterbot, Instagram, LinkedInBot, Pinterestbot, WhatsApp, TelegramBot, DiscordBot, Slackbot, RedditBot, Snapchat | +| **E-Commerce** | 15 | Amazonbot, Amazon-Kendra, AmazonBuyForMe, Shopify, Idealo, Billiger.de, Guenstiger.de, Ladenzeile, Kelkoo, PriceRunner, PriceGrabber | +| **Archiv & Research** | 6 | Archive.org Bot, Internet Archive, Wayback Machine, Heritrix, Apache Nutch, Common Crawl | +| **Monitoring & Uptime** | 9 | UptimeRobot, Pingdom, StatusCake, Site24x7, NewRelic, Datadog, GTmetrix, PageSpeed Insights, Chrome Lighthouse | +| **Download & Scraper** | 48 | HTTrack, Teleport Pro, WebCopier, SiteSucker, ScrapeBox, Xenu, Grabber, Harvest, Collector, WebZIP, BlackWidow | +| **HTTP Libraries** | 32 | Python-Requests, Python-urllib, cURL, Wget, Go-HTTP-Client, Axios, Node-Fetch, Scrapy, OkHttp, Guzzle, libwww-perl, Mechanize | +| **Security Scanner** | 11 | Nessus, SQLMap, Netsparker, Nikto, Acunetix, Burp Suite, OWASP ZAP, OpenVAS, Nmap, Masscan, WPScan | +| **Headless & Automation** | 7 | PhantomJS, Headless Chrome, Selenium, Puppeteer, Playwright, Cypress | +| **Feed Reader & RSS** | 5 | FeedFetcher, FeedParser, Feedly, Inoreader, NewsBlur | +| **Weitere Bots** | 55 | OmgiliBot, Webzio, Linguee, QuillBot, TurnitinBot, Brandwatch, Meltwater, BitlyBot, Mail.ru Bot, und viele mehr | + +### Generische Fallback-Patterns + +Falls ein Bot nicht in der spezifischen Liste ist, wird er trotzdem erkannt wenn sein User-Agent eines dieser Schlüsselwörter enthält: + +``` +bot, crawler, spider, scraper, fetch, scan, check, monitor, probe, index, +archive, capture, reader, download, mirror, ripper, collector, extractor, +siphon, copier, sucker, bandit, stripper, whacker, reaper, robot, agent, +seeker, finder, walker, roam, snagger +``` + +Diese werden dann als `Bot (crawler)`, `Bot (spider)`, etc. angezeigt. ## 📋 Voraussetzungen @@ -203,7 +226,7 @@ Das war's! Das Script ist vollständig selbstverwaltend. ``` ============================================================ - GeoIP Shop Blocker Manager v3.4.3 + GeoIP Shop Blocker Manager v3.5.0 🇩🇪🇦🇹🇨🇭 DACH | 🇪🇺 Eurozone+GB | 🤖 Bot-Rate-Limiting 🛡️ Mit Cache-Validierung und Fail-Open 🚦 Bots unter Rate-Limit werden durchgelassen @@ -276,7 +299,7 @@ Region wählen [1/2]: ✅ 🤖 Bot-Only aktiviert Shop: shop.example.com Modus: Nur Bot-Rate-Limit 🤖 - 🤖 32 Bot-Patterns aktiv + 🤖 321 Bot-Patterns aktiv 🚦 Rate-Limit: 30 req/min, Ban: 5 min ℹ️ Bots unter dem Limit werden durchgelassen Gültig bis: 2025-12-12 19:30:00 CET @@ -293,21 +316,24 @@ Die Logs zeigen bei Bot-Only Modus auch die Rate-Limit Statistiken: ══════════════════════════════════════════════════════════════════════ ⏱️ Laufzeit: 2h 15m 📈 Log-Einträge: 1,234 (9.1 req/min) -🤖 Bot-Patterns: 32 aktiv +🤖 Bot-Patterns: 321 aktiv 🚦 Rate-Limit: 30 req/min, Ban: 5 min 🚫 Bans: 23 ausgelöst, 3 aktiv 🤖 Bot-Statistik: Googlebot: 456x ███████████████████████████████████████ - Bingbot: 234x ███████████████████ - GPTBot: 189x ███████████████ + Bingbot (Microsoft): 234x ███████████████████ + GPTBot (OpenAI): 189x ███████████████ AhrefsBot: 123x ██████████ + Bytespider (TikTok/ByteDance): 98x ████████ + ClaudeBot (Anthropic): 76x ██████ + Amazonbot: 54x ████ ... 📝 Letzte 30 Log-Einträge: [2025-12-09 19:45:23] BOT: Googlebot | IP: 66.249.66.1 | Count: 12/30 | URI: /produkt-123 [2025-12-09 19:45:24] BOT: Googlebot | IP: 66.249.66.1 | Count: 13/30 | URI: /kategorie-abc -[2025-12-09 19:45:25] BANNED: GPTBot | IP: 20.15.240.64 | Exceeded 30 req/min | Ban: 5m | UA: ... +[2025-12-09 19:45:25] BANNED: GPTBot (OpenAI) | IP: 20.15.240.64 | Exceeded 30 req/min | Ban: 5m | UA: ... ... ``` @@ -318,7 +344,7 @@ Die Logs zeigen bei Bot-Only Modus auch die Rate-Limit Statistiken: shop1.example.com [Link11] 🇩🇪🇦🇹🇨🇭 🛡️ 523 blocks, 1h 41m, Cache: ✅8,234 shop2.example.com [Direkt] 🤖 🤖 - 1,234 log entries, 2h 15m, 32 Bot-Patterns, 30 req/min, 3 aktive Bans + 1,234 log entries, 2h 15m, 321 Bot-Patterns, 30 req/min, 3 aktive Bans shop3.example.com [Direkt] 🇪🇺 📝 312 blocks, 1h 39m, Cache: ✅12,456 ``` @@ -476,7 +502,7 @@ In älteren Versionen wurden Bots sofort geblockt. Ab v3.4.3 werden Bots unter d ```bash # Version prüfen -grep "v3.4" geoip_shop_manager.py +grep "v3." geoip_shop_manager.py # Update durchführen wget -O geoip_shop_manager.py https://git.jtl-hosting.de/... @@ -556,6 +582,19 @@ grep -oP '(BOT|BANNED): \K[^|]+' /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log ## 📚 Changelog +### v3.5.0 +- **NEU**: Erweiterte Bot-Erkennung mit **321 Bot-Patterns** (vorher ~35) +- **NEU**: 12 Bot-Kategorien: AI/LLM, Suchmaschinen, SEO, Social Media, E-Commerce, Archiv, Monitoring, Downloader, HTTP Libraries, Security Scanner, Automation, Feed Reader +- **NEU**: **32 generische Fallback-Patterns** für unbekannte Bots (bot, crawler, spider, etc.) +- **NEU**: Verbesserte Bot-Namen-Anzeige mit Kontext (z.B. "ClaudeBot (Anthropic)", "Bytespider (TikTok/ByteDance)") +- **NEU**: Amazon-Bots komplett: Amazonbot, Amazon-Kendra, AmazonBuyForMe, AMZNKAssocBot +- **NEU**: Alle wichtigen AI-Crawler: ChatGPT, Claude, Gemini, Perplexity, Cohere, Mistral, DeepSeek, etc. +- **NEU**: Deutsche Preisvergleiche: Idealo, Billiger.de, Guenstiger.de, Ladenzeile +- **NEU**: Security Scanner Erkennung: Nessus, SQLMap, Nikto, Burp Suite, OWASP ZAP, etc. + +### v3.4.5 +- **FIX**: Regex delimiter escape für curl pattern + ### v3.4.3 - **FIX**: Rate-Limit Logik korrigiert - Bots unter dem Limit werden jetzt durchgelassen - Vorher: Alle erkannten Bots wurden sofort mit 403 geblockt @@ -602,7 +641,8 @@ grep -oP '(BOT|BANNED): \K[^|]+' /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log --- -**Version**: 3.4.3 +**Version**: 3.5.0 **Letztes Update**: Dezember 2025 **Status**: Production Ready ✅ +**Bot-Patterns**: 321 spezifisch + 32 generisch = 353 total **Erlaubte Regionen**: 🇩🇪🇦🇹🇨🇭 DACH | 🇪🇺 Eurozone+GB | 🤖 Bot-Only (weltweit) \ No newline at end of file