A browser-based bot detection simulation that analyzes user behavior to determine whether a request comes from a bot or a human. This project simulates various behavioral signals and combines them using advanced heuristics for accurate bot detection.
- π΅οΈ User Agent Analysis: Detects bot-related identifiers in the user agent string.
- π±οΈ Mouse Movement Analysis: Evaluates variability and natural randomness in mouse movements.
- β¨οΈ Keystroke Timing Analysis: Detects suspiciously consistent typing patterns.
- π Click Interval Analysis: Reviews click timings to catch robotic precision.
- π Advanced Heuristics: Combines multiple analyses for a more accurate detection score.
- π΄ Live Simulation Mode: Simulate a continuous stream of requests in real time.
βββ π index.html # Main HTML file
βββ π src/
β βββ β‘ utils.js # Utility functions for simulating behavior
β βββ π§ detector.js # BotDetector class with detection logic
β βββ π app.js # Main script handling simulation and display
Follow these steps to set up and run the project locally.
git clone https://github.com/MahmudGalib7/Bot-Detection-Machine.git
cd Bot-Detection-Machine- π© Option 1: Open
index.htmldirectly in your browser. - π¨ Option 2: Use Visual Studio Code with the Live Server extension for an enhanced development experience.
The page loads with sample requests and displays detection results. To enable live request simulation, uncomment the following line in app.js:
simulateLiveRequests(10);Adjust the number of requests as needed!
- ποΈ
index.html: Main HTML structure, linking all scripts. - π οΈ
src/utils.js: Functions to generate simulated behavior (mouse movements, keystrokes, clicks, IP addresses). - π
src/detector.js:BotDetectorclass implementing various detection methods. - π§©
src/app.js: Manages request creation, detection, and result display.
Contributions are welcome! If you have ideas for improvements or spot bugs, feel free to open an issue or submit a pull request.
This project is provided as-is for educational purposes. Feel free to modify and build upon it.
If youβd like me to add installation requirements, usage examples, or more detailed explanations of the detection algorithms, just let me know! πβ¨