Skip to content

Lightweight self-hosted API for scoring HTTP requests using ML-based bot detection. Includes retrainable model & REST API.

License

Notifications You must be signed in to change notification settings

TimTom32hh/ml-bot-score-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ml-bot-score-api

Ein leichtgewichtiger, selbst gehosteter ML-Service zur Erkennung von Bot‑Verkehr anhand technischer Merkmale in HTTP‑Requests.

🔍 Inhalte

  • serve_model.py – Startet eine Flask‑API, die das Modell lädt und Anfragen bewertet
  • features.py – Extrahiert und bereitet Request-Features zur Klassifikation auf
  • retrain_model.py – Trainiert ein neues Modell auf Basis gelabelter Logs

⚙️ Nutzung

1. Setup lokal

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2. Server starten

python serve_model.py

3. Request testen

curl -X POST http://localhost:5000/predict \
  -H "Content-Type: application/json" \
  -d '{"timestamp":"2025-06-24T08:00:00Z", "path":"/", "ua":"Mozilla/5.0", "method":"GET", "referrer":"", "status":200, "country":"DE", "MissingFetchHeaders":1}'

🔁 Nachtrainieren

python retrain_model.py

(Standardmäßig wird requests.log eingelesen und ein neues Modell gespeichert.)

🐳 Docker

docker build -t ml-bot-score-api .
docker run -p 5000:5000 --rm ml-bot-score-api

🛡️ Anwendungsbeispiel

Ideal geeignet als Bot-Erkennung:

  • vor API-Endpunkten
  • zur Formularabsicherung
  • als Modul in Reverse Proxys (z. B. NGINX, HAProxy)
  • DSGVO-konform, ohne Tracking oder externe Clouds

📄 Lizenz

MIT License – kommerzielle Nutzung erlaubt.


🤝 Kontakt

Für Fragen oder Kooperationen → timtom32hh

About

Lightweight self-hosted API for scoring HTTP requests using ML-based bot detection. Includes retrainable model & REST API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published