mirror of
https://github.com/TheNetsky/Microsoft-Rewards-Script.git
synced 2026-01-11 19:06:18 +00:00
* feat: Implement edge version fetching with retry logic and caching * chore: Update version to 2.1.0 in package.json * fix: Update package version to 2.1.0 and enhance user agent metadata * feat: Enhance 2FA handling with improved TOTP input and submission logic * fix: Refactor getSystemComponents to improve mobile user agent string generation * feat: Add support for cron expressions for advanced scheduling * feat: Improve humanization feature with detailed logging for off-days configuration * feat: Add live log streaming via webhook and enhance logging configuration * fix: Remove unused @types/cron-parser dependency from devDependencies * feat: Add cron-parser dependency and enhance Axios error handling for proxy authentication * feat: Enhance dashboard data retrieval with retry logic and diagnostics capture * feat: Add ready-to-use sample configurations and update configuration settings for better customization * feat: Add buy mode detection and configuration methods for enhanced manual redemption * feat: Migrate configuration from JSON to JSONC format for improved readability and comments support feat: Implement centralized diagnostics capture for better error handling and reporting fix: Update documentation references from config.json to config.jsonc chore: Add .vscode to .gitignore for cleaner project structure refactor: Enhance humanization and diagnostics capture logic in BrowserUtil and Login classes * feat: Reintroduce ambiance declarations for the 'luxon' module to unlock TypeScript * feat: Update search delay settings for improved performance and reliability * feat: Update README and SECURITY documentation for clarity and improved data handling guidelines * Enhance README and SECURITY documentation for Microsoft Rewards Script V2 - Updated README.md to improve structure, add badges, and enhance clarity on features and setup instructions. - Expanded SECURITY.md to provide detailed data handling practices, security guidelines, and best practices for users. - Included sections on data flow, credential management, and responsible use of the automation tool. - Added a security checklist for users to ensure safe practices while using the script. * feat: Réorganiser et enrichir la documentation du README pour une meilleure clarté et accessibilité * feat: Updated and reorganized the README for better presentation and clarity * feat: Revised and simplified the README for better clarity and accessibility * Update README.md
6.6 KiB
6.6 KiB
🤖 Humanization (Human Mode)
🎭 Natural automation that mimics human behavior
Subtle gestures for safer operation
🎯 What is Humanization?
Human Mode adds subtle human-like behavior to make your automation look and feel more natural. It's designed to be safe by design with minimal, realistic gestures.
Key Features
- 🎲 Random delays — Natural pause variation
- 🖱️ Micro movements — Subtle mouse gestures
- 📜 Tiny scrolls — Minor page adjustments
- ⏰ Time windows — Run during specific hours
- 📅 Random off days — Skip days naturally
- 🔒 Safe by design — Never clicks random elements
⚙️ Configuration
Simple Setup (Recommended)
{
"humanization": {
"enabled": true
}
}
Advanced Configuration
{
"humanization": {
"enabled": true,
"actionDelay": { "min": 150, "max": 450 },
"gestureMoveProb": 0.4,
"gestureScrollProb": 0.2,
"allowedWindows": ["08:00-10:30", "20:00-22:30"],
"randomOffDaysPerWeek": 1
}
}
Configuration Options
| Setting | Default | Description |
|---|---|---|
enabled |
true |
Master toggle for all humanization |
actionDelay |
{min: 150, max: 450} |
Random pause between actions (ms) |
gestureMoveProb |
0.4 |
Probability (0-1) for tiny mouse moves |
gestureScrollProb |
0.2 |
Probability (0-1) for minor scrolls |
allowedWindows |
[] |
Time windows for script execution |
randomOffDaysPerWeek |
1 |
Skip N random days per week. Set to 0 to disable (scheduler logs reference this setting explicitly). |
🎭 How It Works
Action Delays
- Random pauses between automation steps
- Natural variation mimics human decision time
- Configurable range allows fine-tuning
Gesture Simulation
- Micro mouse moves — Tiny cursor adjustments (safe zones only)
- Minor scrolls — Small page movements (non-interactive areas)
- Probability-based — Not every action includes gestures
- Centralized controller — The
Humanizerservice now drives all gesture + pause behavior so every module uses the same probabilities and timing windows.
Temporal Patterns
- Time windows — Only run during specified hours
- Random off days — Skip days to avoid rigid patterns
- Natural scheduling — Mimics human usage patterns
🎯 Usage Examples
Default Setup (Recommended)
{
"humanization": { "enabled": true }
}
✅ Best for most users — Balanced safety and naturalness
Minimal Humanization
{
"humanization": {
"enabled": true,
"gestureMoveProb": 0.1,
"gestureScrollProb": 0.1,
"actionDelay": { "min": 100, "max": 200 }
}
}
⚡ Faster execution with minimal gestures
Maximum Natural Behavior
{
"humanization": {
"enabled": true,
"actionDelay": { "min": 300, "max": 800 },
"gestureMoveProb": 0.6,
"gestureScrollProb": 0.4,
"allowedWindows": ["08:30-11:00", "19:00-22:00"],
"randomOffDaysPerWeek": 2
}
}
🎭 Most human-like but slower execution
Disabled Humanization
{
"humanization": { "enabled": false }
}
🚀 Fastest execution — automation optimized
⏰ Time Windows
Setup
{
"humanization": {
"enabled": true,
"allowedWindows": ["08:00-10:30", "20:00-22:30"]
}
}
Behavior
- Script waits until next allowed window
- Uses local time for scheduling
- Multiple windows supported per day
- Empty array
[]= no time restrictions
Examples
// Morning and evening windows
"allowedWindows": ["08:00-10:30", "20:00-22:30"]
// Lunch break only
"allowedWindows": ["12:00-13:00"]
// Extended evening window
"allowedWindows": ["18:00-23:00"]
// No restrictions
"allowedWindows": []
📅 Random Off Days
Purpose
Mimics natural human behavior by skipping random days per week.
Configuration
{
"humanization": {
"randomOffDaysPerWeek": 1 // Skip 1 random day per week
}
}
Options
0— Never skip days1— Skip 1 random day per week (default)2— Skip 2 random days per week3+— Higher values for more irregular patterns
🔒 Safety Features
Safe by Design
- ✅ Never clicks arbitrary elements
- ✅ Gestures only in safe zones
- ✅ Minor movements — pixel-level adjustments
- ✅ Probability-based — Natural randomness
- ✅ Non-interactive areas — Avoids clickable elements
Buy Mode Compatibility
- Passive monitoring remains unaffected
- No interference with manual actions
- Background tasks only for monitoring
📊 Performance Impact
| Setting | Speed Impact | Natural Feel | Recommendation |
|---|---|---|---|
| Disabled | Fastest | Robotic | Development only |
| Default | Moderate | Balanced | Recommended |
| High probability | Slower | Very natural | Conservative users |
| Time windows | Delayed start | Realistic | Scheduled execution |
🛠️ Troubleshooting
| Problem | Solution |
|---|---|
| Script too slow | Reduce actionDelay values; lower probabilities |
| Too robotic | Increase probabilities; add time windows |
| Runs outside hours | Check allowedWindows format (24-hour time) |
| Skipping too many days | Reduce randomOffDaysPerWeek |
| Gestures interfering | Lower probabilities or disable specific gestures |
Debug Humanization
$env:DEBUG_HUMANIZATION=1; npm start
🎛️ Presets
Conservative
{
"humanization": {
"enabled": true,
"actionDelay": { "min": 200, "max": 600 },
"gestureMoveProb": 0.6,
"gestureScrollProb": 0.4,
"allowedWindows": ["08:00-10:00", "20:00-22:00"],
"randomOffDaysPerWeek": 2
}
}
Balanced (Default)
{
"humanization": {
"enabled": true
}
}
Performance
{
"humanization": {
"enabled": true,
"actionDelay": { "min": 100, "max": 250 },
"gestureMoveProb": 0.2,
"gestureScrollProb": 0.1,
"randomOffDaysPerWeek": 0
}
}
🔗 Related Guides
- Getting Started — Initial setup and configuration
- Scheduler — Automated timing and execution
- Security — Privacy and detection avoidance
- Buy Mode — Manual purchasing with monitoring