Skip to content

A comprehensive cross-platform Python package for simulating realistic user behavior including intelligent web browsing with link crawling, dynamic file operations, advanced network file sharing with IP range support, and system monitoring.

Notifications You must be signed in to change notification settings

aahmadnejad/user-behavior-simiulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

User Behavior Simulator

A comprehensive cross-platform Python tool that simulates realistic human computer usage patterns for testing, research, and automation purposes.

πŸš€ Features

  • 🌐 Intelligent Web Browsing - Visits websites with realistic scrolling and link exploration
  • πŸ“Ί YouTube Integration - Watches videos with human-like interaction patterns
  • πŸ“ Dynamic File Operations - Creates documents using API-generated content
  • 🌍 Network File Sharing - Transfers files across network with IP range support
  • πŸ“§ SMTP Email Traffic - Sends emails with random attachments
  • πŸ” SSH Operations - Executes remote commands with logging
  • πŸ“ FTP Traffic - Upload/download operations on FTP servers
  • πŸ’» Random App Execution - Launches and manages applications across platforms
  • ⏰ Flexible Scheduling - Time-based or random task execution
  • πŸ• Active Hours Control - Restricts activity to business hours

πŸ“¦ Installation

From PyPI

pip install user-behavior-simulator

From Source

git clone https://github.com/username/user-behavior-simulator.git
cd user-behavior-simulator
pip install -e .

πŸš€ Quick Start

1. Create Configuration

user-behavior-simulator --create-config

2. Edit Configuration

Edit the generated config.json file:

{
    "websites": ["https://example.com"],
    "active_hours": {
        "enabled": true,
        "start_hour": 9,
        "end_hour": 17
    },
    "page_interaction": {
        "scroll_enabled": true
    }
}

3. Run Simulator

user-behavior-simulator

βš™οΈ Configuration Examples

Basic Web Browsing

{
    "websites": [
        "https://www.reddit.com",
        "https://news.ycombinator.com"
    ],
    "links_per_website": [3, 7],
    "page_interaction": {
        "scroll_enabled": true,
        "scroll_patterns": ["top_to_bottom", "random_sections"]
    }
}

Network Operations

{
    "ip_range": {
        "enabled": true,
        "start_ip": "192.168.1.100",
        "end_ip": "192.168.1.200"
    },
    "smtp_config": {
        "enabled": true,
        "server": "smtp.gmail.com",
        "recipients": ["test@example.com"]
    }
}

Application Execution

{
    "app_execution": {
        "enabled": true,
        "apps_per_session": [1, 3],
        "windows_apps": [
            {"type": "command", "command": "notepad.exe", "name": "Notepad"}
        ]
    }
}

πŸ–₯️ Platform Support

  • Windows - Full support including system apps and modern applications
  • Linux - Desktop environments (GNOME, KDE, XFCE) with auto-discovery
  • macOS - Native application support with .app bundle handling

🌐 Network Features

File Sharing

  • Cross-platform network file transfers
  • IP range scanning and availability checking
  • Retry logic with fallback mechanisms

Protocol Support

  • HTTP/HTTPS - Web browsing with realistic interaction
  • FTP - File upload/download operations
  • SMTP - Email sending with attachments
  • SSH - Remote command execution

πŸ“‹ Requirements

  • Python 3.6+
  • Network connectivity (for some features)
  • Platform-specific dependencies:
    • Windows: Built-in libraries
    • Linux: python3-tk for GUI automation
    • macOS: Accessibility permissions for automation
pip install requests pyautogui paramiko

πŸ”§ Usage

Command Line

# Basic usage
user-behavior-simulator

# Custom config
user-behavior-simulator -c my_config.json

# Create default config
user-behavior-simulator --create-config

Python API

from user_behavior_simulator import UserBehaviorSimulator

simulator = UserBehaviorSimulator('config.json')
simulator.start()

πŸ“– Documentation

πŸ›‘οΈ Security

This tool is designed for legitimate testing and research purposes. Please ensure:

  • Use only on networks you own or have permission to test
  • Configure appropriate firewall rules
  • Monitor resource usage and network traffic
  • Follow your organization's security policies

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ” Use Cases

  • Quality Assurance - Automated testing of applications and websites
  • Network Testing - Simulate realistic network traffic patterns
  • Performance Testing - Generate realistic system load
  • Security Research - Test monitoring and detection systems
  • Automation Research - Study human-computer interaction patterns

⚠️ Disclaimer

This software is provided for educational and testing purposes. Users are responsible for ensuring compliance with applicable laws and regulations. The authors are not responsible for any misuse of this software.

πŸ› Issue Reporting

Found a bug? Please create an issue with:

  • Operating system and version
  • Python version
  • Configuration file (remove sensitive data)
  • Error messages and logs

πŸ“Š Roadmap

  • GUI configuration interface
  • Machine learning-based behavior patterns
  • Additional protocol support (SFTP, IMAP)
  • Browser automation integration
  • Advanced scheduling features
  • Performance analytics dashboard

⭐ Star this repo if you find it useful!

About

A comprehensive cross-platform Python package for simulating realistic user behavior including intelligent web browsing with link crawling, dynamic file operations, advanced network file sharing with IP range support, and system monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages