Files
Microsoft-Rewards-Script/README.md
Light abd6117db3 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
2025-10-16 17:59:53 +02:00

475 lines
17 KiB
Markdown

<div align="center">
<!-- Epic Header -->
<img src="https://capsule-render.vercel.app/api?type=waving&height=300&color=gradient&customColorList=0,2,2,5,6,8&text=MICROSOFT%20REWARDS&fontSize=75&fontColor=fff&animation=twinkling&fontAlignY=38&desc=Intelligent%20Browser%20Automation&descSize=24&descAlignY=58" />
</div>
<br>
<div align="center">
<!-- Badges modernes -->
![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)
![Playwright](https://img.shields.io/badge/Playwright-2EAD33?style=for-the-badge&logo=playwright&logoColor=white)
![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=node.js&logoColor=white)
![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)
<br>
![Version](https://img.shields.io/badge/v2.3.0-blue?style=for-the-badge&logo=github&logoColor=white)
![License](https://img.shields.io/badge/ISC-00D9FF?style=for-the-badge)
![Stars](https://img.shields.io/github/stars/TheNetsky/Microsoft-Rewards-Script?style=for-the-badge&color=blue)
![Status](https://img.shields.io/badge/Active-00C851?style=for-the-badge)
<br><br>
<!-- Animated Description -->
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&weight=600&size=24&duration=3000&pause=1000&color=00D9FF&center=true&vCenter=true&width=650&lines=Automate+Microsoft+Rewards+Daily+Tasks;Human-Like+Behavior+%E2%80%A2+Anti-Detection;Multi-Account+%E2%80%A2+Smart+Scheduling;150-300%2B+Points+Per+Day+Automatically" />
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ WHAT DOES THIS DO? ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
**Automate your Microsoft Rewards daily activities with intelligent browser automation.**
Complete searches, quizzes, and promotions automatically while mimicking natural human behavior.
<br>
### **Daily Earnings Breakdown**
| 🎯 Activity | 💎 Points | ⏱️ Time |
|:-----------|:---------|:--------|
| **Desktop Searches** | ~90 pts | 30 sec |
| **Mobile Searches** | ~60 pts | 20 sec |
| **Daily Set Tasks** | ~30-50 pts | 1-2 min |
| **Promotions & Punch Cards** | Variable | 30s-2min |
| **📊 TOTAL AVERAGE** | **150-300+ pts** | **3-5 min** |
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ QUICK START ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
### **🚀 Automated Setup** (Recommended)
```bash
# Windows
setup\setup.bat
# Linux / macOS / WSL
bash setup/setup.sh
# Universal
npm run setup
```
**The wizard handles everything:**
- ✅ Creates `accounts.json` with your credentials
- ✅ Installs dependencies & builds project
- ✅ Runs first automation (optional)
<br>
### **🛠️ Manual Setup**
```bash
# 1. Clone repository
git clone -b v2 https://github.com/TheNetsky/Microsoft-Rewards-Script.git
cd Microsoft-Rewards-Script
# 2. Configure accounts
cp src/accounts.example.json src/accounts.json
# Edit accounts.json with your Microsoft credentials
# 3. Install & build
npm i
# 4. Run automation
npm start
```
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ INTELLIGENT FEATURES ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<table>
<tr>
<td width="50%" valign="top">
### 🛡️ **Risk-Aware System**
```
Real-time threat detection
├─ Monitors captchas & errors
├─ Dynamic delay adjustment (1x→4x)
├─ Automatic cool-down periods
└─ ML-based ban prediction
```
### 📊 **Performance Analytics**
```
Track everything
├─ Points earned per day
├─ Success/failure rates
├─ Historical trends
└─ Account health monitoring
```
</td>
<td width="50%" valign="top">
### 🔍 **Query Diversity Engine**
```
Natural search patterns
├─ Multi-source queries
├─ Pattern breaking algorithms
├─ Smart deduplication
└─ Reduced detection risk
```
### ✅ **Config Validator**
```
Pre-flight checks
├─ Detects common mistakes
├─ Security warnings
├─ Optimization suggestions
└─ Dry-run test mode
```
</td>
</tr>
</table>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ USAGE COMMANDS ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
```bash
# Run automation once
npm start
# Daily automated scheduler
npm run start:schedule
# Manual redemption mode (monitor points while shopping)
npm start -- -buy your@email.com
# Docker deployment
docker compose up -d
# Test configuration without executing
npm start -- --dry-run
```
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ CONFIGURATION ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
Edit `src/config.jsonc` to customize behavior:
```jsonc
{
"browser": {
"headless": false // Set true for background operation
},
"execution": {
"parallel": false, // Run desktop + mobile simultaneously
"runOnZeroPoints": false, // Skip when no points available
"clusters": 1 // Parallel account processes
},
"workers": {
"doDailySet": true,
"doDesktopSearch": true,
"doMobileSearch": true,
"doPunchCards": true
},
"humanization": {
"enabled": true, // Natural human-like delays
"actionDelay": { "min": 500, "max": 2200 },
"randomOffDaysPerWeek": 1 // Skip random days naturally
}
}
```
**[📖 Complete Configuration Guide →](./docs/config.md)**
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ CORE FEATURES ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
<table>
<tr>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/bot.png" width="80"/><br>
<b>Human-Like Behavior</b><br>
<sub>Randomized delays • Mouse movements<br>Natural scrolling patterns</sub>
</td>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/security-checked.png" width="80"/><br>
<b>Anti-Detection</b><br>
<sub>Session persistence • Fingerprinting<br>Proxy support</sub>
</td>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/user-group-man-man.png" width="80"/><br>
<b>Multi-Account</b><br>
<sub>Parallel execution • 2FA/TOTP<br>Per-account proxies</sub>
</td>
</tr>
<tr>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/artificial-intelligence.png" width="80"/><br>
<b>Smart Quiz Solver</b><br>
<sub>Polls • ABC Quiz • This or That<br>4/8-option quizzes</sub>
</td>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/clock.png" width="80"/><br>
<b>Built-in Scheduler</b><br>
<sub>Daily automation<br>No external cron needed</sub>
</td>
<td align="center" width="33%">
<img src="https://img.icons8.com/fluency/96/alarm.png" width="80"/><br>
<b>Notifications</b><br>
<sub>Discord webhooks • NTFY<br>Real-time alerts</sub>
</td>
</tr>
</table>
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ DOCUMENTATION ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
| 📖 Getting Started | ⚙️ Configuration | 🔔 Monitoring |
|:------------------|:----------------|:-------------|
| [Installation & Setup](./docs/getting-started.md) | [Config Guide](./docs/config.md) | [Notifications](./docs/ntfy.md) |
| [Accounts Setup](./docs/accounts.md) | [Scheduler](./docs/schedule.md) | [Diagnostics](./docs/diagnostics.md) |
| [Docker Deployment](./docs/docker.md) | [Humanization](./docs/humanization.md) | [Buy Mode](./docs/buy-mode.md) |
| | [Proxy Configuration](./docs/proxy.md) | |
**[📚 Complete Documentation Index →](./docs/index.md)**
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ TECHNICAL ARCHITECTURE ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
**Built with Modern Technologies**
<br>
<img src="https://skillicons.dev/icons?i=ts,nodejs,playwright,docker&theme=light&perline=4" />
</div>
<br>
**Core Modules:**
| Module | Purpose |
|--------|---------|
| `Login.ts` | Microsoft authentication flow with 2FA/TOTP support |
| `Workers.ts` | Completes Daily Set, Promotions, and Punch Cards |
| `Search.ts` | Desktop/mobile Bing searches with natural query variations |
| `Activities.ts` | Routes to specific activity handlers (Quiz, Poll, etc.) |
| `activities/*.ts` | Individual handlers for each reward type |
**Key Technologies:**
- [Playwright](https://playwright.dev/) — Browser automation framework
- [Rebrowser](https://github.com/rebrowser/rebrowser-playwright) — Anti-fingerprinting extensions
- [fingerprint-generator](https://www.npmjs.com/package/fingerprint-generator) — Device consistency
- [Cheerio](https://cheerio.js.org/) — Fast HTML parsing
- [Luxon](https://moment.github.io/luxon/) — Modern date/time handling
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ IMPORTANT DISCLAIMERS ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
### ⚠️ **USE AT YOUR OWN RISK** ⚠️
**Using automation violates Microsoft's Terms of Service.**
Accounts may be **suspended or permanently banned**.
This project is for **educational purposes only**.
</div>
<br>
**Best Practices:**
**DO:**
- Use 2FA/TOTP for security
- Enable humanization features
- Schedule 1-2x daily maximum
- Set `runOnZeroPoints: false`
- Test on secondary accounts first
- Monitor diagnostics regularly
**DON'T:**
- Run on your main account
- Schedule hourly runs
- Ignore security warnings
- Use shared proxies
- Skip configuration validation
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ CONTRIBUTORS ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
### **Core Development Team**
<table>
<tr>
<td align="center">
<a href="https://github.com/TheNetsky/">
<img src="https://github.com/TheNetsky.png" width="100" style="border-radius: 50%;" /><br />
<sub><b>TheNetsky</b></sub><br>
<sub>🏗️ Foundation Architect</sub>
</a>
</td>
<td align="center">
<a href="https://github.com/mgrimace">
<img src="https://github.com/mgrimace.png" width="100" style="border-radius: 50%;" /><br />
<sub><b>Mgrimace</b></sub><br>
<sub>💻 Active Developer</sub>
</a>
</td>
<td align="center">
<a href="https://github.com/LightZirconite">
<img src="https://github.com/LightZirconite.png" width="100" style="border-radius: 50%;" /><br />
<sub><b>LightZirconite</b></sub><br>
<sub>🔐 V2+</sub>
</a>
</td>
</tr>
</table>
<br>
### **All Contributors**
<a href="https://github.com/TheNetsky/Microsoft-Rewards-Script/graphs/contributors">
<img src="https://contrib.rocks/image?repo=TheNetsky/Microsoft-Rewards-Script" />
</a>
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ COMMUNITY & SUPPORT ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
### **Need Help? Found a Bug?**
**Join our Discord community — we're here to help!**
<br>
[![Discord](https://img.shields.io/badge/Join_Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/KRBFxxsU)
<br>
**For bug reports and feature requests, please use Discord first.**
GitHub Issues are also available for documentation and tracking.
<br>
[![GitHub Issues](https://img.shields.io/badge/GitHub_Issues-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/TheNetsky/Microsoft-Rewards-Script/issues)
</div>
<br>
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ LICENSE ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
<div align="center">
**ISC License** — Free and open source
See [LICENSE](./LICENSE) for details • [NOTICE](./NOTICE) for disclaimers
<br>
---
<br>
**⭐ Star this repo if you found it useful! ⭐**
<br>
![Stars](https://img.shields.io/github/stars/TheNetsky/Microsoft-Rewards-Script?style=social)
<br>
**Made with ❤️ by the open source community**
<img src="https://capsule-render.vercel.app/api?type=waving&height=120&color=gradient&customColorList=0,2,2,5,6,8&section=footer" />
</div>