mirror of
https://github.com/TheNetsky/Microsoft-Rewards-Script.git
synced 2026-01-18 14:03:58 +00:00
V2.3.0 Optimization (#380)
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features. * Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience. * Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes. * Added serial protection dialog management for message forwarding, including closing by button or escape. * feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events feat: Add ConfigValidator to validate configuration files and catch common issues feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources feat: Develop RiskManager to monitor account activity and assess risk levels dynamically * Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic. * feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class. * feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell * feat: Add sample account setup * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * feat: Update Node.js engine requirement to >=20.0.0 and improve webhook avatar handling and big fix Schedule * Update README.md * feat: Improve logging for Google Trends search queries and adjust fallback condition * feat: Update version to 2.2.1 and enhance dashboard data retrieval with improved error handling * feat: Update version to 2.2.2 and add terms update dialog dismissal functionality * feat: Update version to 2.2.2 and require Node.js engine >=20.0.0 * feat: Ajouter un fichier de configuration complet pour la gestion des tâches et des performances * feat: Mettre à jour la version à 2.2.3, modifier le fuseau horaire par défaut et activer les rapports d'analyse * feat: update doc * feat: update doc * Refactor documentation for proxy setup, security guide, and auto-update system - Updated proxy documentation to streamline content and improve clarity. - Revised security guide to emphasize best practices and incident response. - Simplified auto-update documentation, enhancing user understanding of the update process. - Removed redundant sections and improved formatting for better readability. * feat: update version to 2.2.7 in package.json * feat: update version to 2.2.7 in README.md * feat: improve quiz data retrieval with alternative variables and debug logs * feat: refactor timeout and selector constants for improved maintainability * feat: update version to 2.2.8 in package.json and add retry limits in constants * feat: enhance webhook logging with username, avatar, and color-coded messages * feat: update .gitignore to include diagnostic folder and bump version to 2.2.8 in package-lock.json * feat: updated version to 2.3.0 and added new constants to improve the handling of delays and colors in logs
This commit is contained in:
@@ -1,32 +1,24 @@
|
||||
# 🤖 Humanization (Human Mode)
|
||||
# 🤖 Humanization
|
||||
|
||||
<div align="center">
|
||||
|
||||
**🎭 Natural automation that mimics human behavior**
|
||||
*Subtle gestures for safer operation*
|
||||
|
||||
</div>
|
||||
**Make automation look natural to avoid detection**
|
||||
|
||||
---
|
||||
|
||||
## 🎯 What is Humanization?
|
||||
## 💡 What Is It?
|
||||
|
||||
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.
|
||||
Humanization adds **random delays** and **subtle gestures** to mimic real human behavior.
|
||||
|
||||
### **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
|
||||
### Why Use It?
|
||||
- ✅ **Lower detection risk** — Looks less like a bot
|
||||
- ✅ **Natural patterns** — Random timing, mouse moves
|
||||
- ✅ **Built-in** — No configuration needed
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configuration
|
||||
## ⚡ Quick Start
|
||||
|
||||
### **Simple Setup (Recommended)**
|
||||
```json
|
||||
**Edit** `src/config.jsonc`:
|
||||
```jsonc
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true
|
||||
@@ -34,229 +26,62 @@ Human Mode adds **subtle human-like behavior** to make your automation look and
|
||||
}
|
||||
```
|
||||
|
||||
### **Advanced Configuration**
|
||||
```json
|
||||
**That's it!** Default settings work for most users.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 What It Does
|
||||
|
||||
### Random Delays
|
||||
- **150-450ms pauses** between actions
|
||||
- Mimics human decision-making time
|
||||
- Prevents robotic patterns
|
||||
|
||||
### Subtle Gestures
|
||||
- **Mouse movements** — Small cursor adjustments (40% chance)
|
||||
- **Scrolling** — Minor page movements (20% chance)
|
||||
- **Never clicks** random elements (safe by design)
|
||||
|
||||
### Temporal Patterns
|
||||
- **Random off days** — Skip 1 day per week by default
|
||||
- **Time windows** — Run only during certain hours (optional)
|
||||
|
||||
---
|
||||
|
||||
## 🎛️ Presets
|
||||
|
||||
### Default (Recommended)
|
||||
```jsonc
|
||||
{
|
||||
"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
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **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). |
|
||||
Balanced safety and speed.
|
||||
|
||||
---
|
||||
|
||||
## 🎭 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 `Humanizer` service 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)**
|
||||
```json
|
||||
{
|
||||
"humanization": { "enabled": true }
|
||||
}
|
||||
```
|
||||
✅ **Best for most users** — Balanced safety and naturalness
|
||||
|
||||
### **Minimal Humanization**
|
||||
```json
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true,
|
||||
"gestureMoveProb": 0.1,
|
||||
"gestureScrollProb": 0.1,
|
||||
"actionDelay": { "min": 100, "max": 200 }
|
||||
}
|
||||
}
|
||||
```
|
||||
⚡ **Faster execution** with minimal gestures
|
||||
|
||||
### **Maximum Natural Behavior**
|
||||
```json
|
||||
### Conservative (More Natural)
|
||||
```jsonc
|
||||
{
|
||||
"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**
|
||||
```json
|
||||
{
|
||||
"humanization": { "enabled": false }
|
||||
}
|
||||
```
|
||||
🚀 **Fastest execution** — automation optimized
|
||||
|
||||
---
|
||||
|
||||
## ⏰ Time Windows
|
||||
|
||||
### **Setup**
|
||||
```json
|
||||
{
|
||||
"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**
|
||||
```json
|
||||
// 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**
|
||||
```json
|
||||
{
|
||||
"humanization": {
|
||||
"randomOffDaysPerWeek": 1 // Skip 1 random day per week
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **Options**
|
||||
- `0` — Never skip days
|
||||
- `1` — Skip 1 random day per week (default)
|
||||
- `2` — Skip 2 random days per week
|
||||
- `3+` — 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**
|
||||
```powershell
|
||||
$env:DEBUG_HUMANIZATION=1; npm start
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎛️ Presets
|
||||
|
||||
### **Conservative**
|
||||
```json
|
||||
{
|
||||
"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)**
|
||||
```json
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
```
|
||||
Slower but safer.
|
||||
|
||||
### **Performance**
|
||||
```json
|
||||
---
|
||||
|
||||
### Fast (Less Natural)
|
||||
```jsonc
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true,
|
||||
@@ -268,11 +93,68 @@ $env:DEBUG_HUMANIZATION=1; npm start
|
||||
}
|
||||
```
|
||||
|
||||
Faster execution, higher risk.
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Related Guides
|
||||
## ⏰ Time Windows (Optional)
|
||||
|
||||
- **[Getting Started](./getting-started.md)** — Initial setup and configuration
|
||||
- **[Scheduler](./schedule.md)** — Automated timing and execution
|
||||
- **[Security](./security.md)** — Privacy and detection avoidance
|
||||
- **[Buy Mode](./buy-mode.md)** — Manual purchasing with monitoring
|
||||
Run only during specific hours:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true,
|
||||
"allowedWindows": ["08:00-10:30", "20:00-22:30"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Script **waits** until next allowed window if started outside.
|
||||
|
||||
---
|
||||
|
||||
## 📅 Random Off Days
|
||||
|
||||
Skip random days per week:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"humanization": {
|
||||
"enabled": true,
|
||||
"randomOffDaysPerWeek": 1 // Skip 1 random day/week
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Options:**
|
||||
- `0` — Never skip days
|
||||
- `1` — Skip 1 day/week (default)
|
||||
- `2` — Skip 2 days/week
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Troubleshooting
|
||||
|
||||
| Problem | Solution |
|
||||
|---------|----------|
|
||||
| **Too slow** | Lower `actionDelay`, reduce probabilities |
|
||||
| **Too fast/robotic** | Increase delays, higher probabilities |
|
||||
| **Not running at all** | Check `allowedWindows` time format |
|
||||
|
||||
---
|
||||
|
||||
## 📚 Next Steps
|
||||
|
||||
**Need vacation mode?**
|
||||
→ See [Scheduler Vacation](./schedule.md#vacation-mode)
|
||||
|
||||
**Want scheduling?**
|
||||
→ **[Scheduler Guide](./schedule.md)**
|
||||
|
||||
**More security?**
|
||||
→ **[Security Guide](./security.md)**
|
||||
|
||||
---
|
||||
|
||||
**[← Back to Hub](./index.md)** | **[Config Guide](./config.md)**
|
||||
|
||||
Reference in New Issue
Block a user