Edit README.md (#376)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Fix markdown formatting in README.md

* Update README.md
This commit is contained in:
Light
2025-10-11 16:54:40 +02:00
committed by GitHub
parent 62d1a0a14b
commit 14492b27cb

326
README.md
View File

@@ -1,201 +1,239 @@
### ⚡ Microsoft Rewards Script v2 Beta Release # ⚡ Microsoft Rewards Script v2 Beta Release <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
The new **v2 version is currently in Beta Testing**. The **v2 version is currently in Beta**.
This means the script is available to try, but you may encounter bugs or unexpected issues. You can try it now, but expect bugs or unexpected behavior — your feedback helps stabilize the release.
We strongly encourage you to **report any problems** you experience. Your feedback is extremely valuable and will help us improve the script for a stable release. **Branch (v2) repository:** [V2 Here](https://github.com/TheNetsky/Microsoft-Rewards-Script/tree/v2)
👉 You can share issues, suggestions, or get help directly on our **Discord server**: **To clone the v2 branch (recommended):**
**[Join here](https://discord.gg/h6Z69ZPPCz)**
Thank you for helping us test and improve this project! ```bash
git clone -b v2 --single-branch https://github.com/TheNetsky/Microsoft-Rewards-Script.git
````
👉 **Support & feedback (V2 only):**
Our **Discord server is reserved for v2-related issues and contributions**. Please use it only to report problems, request help, or discuss improvements *for v2*. The old stable branch (v1 / 1.5.3) is **not** supported on this server.
**Join here:** [https://discord.gg/h6Z69ZPPCz](https://discord.gg/h6Z69ZPPCz)
--- ---
## 🚀 Quick Setup (Recommended) # 🚀 Quick Setup (Recommended) <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
**The easiest way to get started - just download and run!** **Easiest way to get started download and run:**
1. **Download or clone** the source code 1. **Clone the v2 branch** (see command above) or download the zip.
2. **Run the setup script:** 2. **Run the setup script:**
**Windows:** Double-click `setup/setup.bat` or run it from command line
**Linux/macOS/WSL:** `bash setup/setup.sh`
**Alternative (any platform):** `npm run setup`
3. **Follow the prompts:** The setup script will automatically: * **Windows:** double-click `setup/setup.bat` or run it from a command prompt
- Rename `accounts.example.json` to `accounts.json` * **Linux / macOS / WSL:**
- Ask you to enter your Microsoft account credentials
- Remind you to review configuration options in `config.json`
- Install all dependencies (`npm install`)
- Build the project (`npm run build`)
- Optionally start the script immediately
**That's it!** The setup script handles everything for you. ```bash
bash setup/setup.sh
```
* **Alternative (any platform):**
```bash
npm run setup
```
3. **Follow the setup prompts.** The script will:
* Rename `accounts.example.json``accounts.json`
* Ask for Microsoft account credentials
* Remind you to review `config.json`
* Install dependencies (`npm install`)
* Build the project (`npm run build`)
* Optionally start the script
**That's it — the setup script handles the rest.**
--- ---
## ⚙️ Advanced Setup Options # ⚙️ Advanced Setup Options <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
### Nix Users ### Nix Users
1. Get [Nix](https://nixos.org/)
2. Run `./run.sh`
3. Done!
### Manual Setup (Troubleshooting) 1. Install Nix from [https://nixos.org/](https://nixos.org/)
If the automatic setup script doesn't work for your environment: 2. Run:
1. Manually rename `src/accounts.example.json` to `src/accounts.json` ```bash
2. Add your Microsoft account details to `accounts.json` ./run.sh
3. Customize `src/config.json` to your preferences ```
4. Install dependencies: `npm install`
5. Build the project: `npm run build`
6. Start the script: `npm run start`---
## 🐳 Docker Setup (Experimental) ### Manual Setup (if setup script fails)
For automated scheduling and containerized deployment. 1. Copy `src/accounts.example.json``src/accounts.json` and add accounts.
2. Edit `src/config.json` as needed.
3. Install dependencies:
### Before Starting ```bash
- Remove `/node_modules` and `/dist` folders if you previously built locally npm install
- Remove old Docker volumes if upgrading from version 1.4 or earlier ```
- Old `accounts.json` files can be reused
### Quick Docker Setup 4. Build:
1. **Download source code** and configure `accounts.json`
2. **Edit `config.json`** - ensure `"headless": true`
3. **Customize `compose.yaml`:**
- Set your timezone (`TZ` variable)
- Configure schedule (`CRON_SCHEDULE`) - use [crontab.guru](https://crontab.guru) for help
- Optional: Set `RUN_ON_START=true` for immediate execution
4. **Start container:** `docker compose up -d`
5. **Monitor logs:** `docker logs microsoft-rewards-script`
**Note:** The container adds 550 minutes random delay to scheduled runs for more natural behavior. ```bash
npm run build
```
5. Start:
```bash
npm run start
```
--- ---
## 📋 Usage Notes # 🐳 Docker Setup (Experimental) <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
- **Browser Instances:** If you stop the script without closing browser windows (headless=false), use Task Manager or `npm run kill-chrome-win` to clean up **Before starting**
- **Automation Scheduling:** Run at least twice daily, set `"runOnZeroPoints": false` to skip when no points available
- **Multiple Accounts:** The script supports clustering - configure `clusters` in `config.json`
--- * Remove local `/node_modules` and `/dist` if you previously built.
## ⚙️ Configuration Reference * Remove old Docker volumes when upgrading from v1.4 or earlier.
* You can reuse older `accounts.json`.
Customize behavior by editing `src/config.json`: **Quick Docker (recommended for scheduling)**
### Core Settings 1. Clone v2 and configure `accounts.json`.
| Setting | Description | Default | 2. Ensure `config.json` has `"headless": true`.
|---------|-------------|---------| 3. Edit `compose.yaml`:
| `baseURL` | Microsoft Rewards page URL | `https://rewards.bing.com` |
| `sessionPath` | Session/fingerprint storage location | `sessions` | * Set `TZ` (timezone)
| `headless` | Run browser in background | `false` (visible) | * Set `CRON_SCHEDULE` (use crontab.guru for help)
| `parallel` | Run mobile/desktop tasks simultaneously | `true` | * Optional: `RUN_ON_START=true`
| `runOnZeroPoints` | Continue when no points available | `false` | 4. Start:
| `clusters` | Number of concurrent account instances | `1` |
```bash
docker compose up -d
```
5. Monitor:
```bash
docker logs microsoft-rewards-script
```
> The container randomly delays scheduled runs by ~550 minutes to appear more natural.
---
# 📋 Usage Notes <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
* **Headless=false cleanup:** If you stop the script without closing browser windows, use Task Manager / `npm run kill-chrome-win` to close leftover instances.
* **Scheduling advice:** Run at least twice daily. Use `"runOnZeroPoints": false` in config to skip runs with no points.
* **Multiple accounts:** Use `clusters` in `config.json` to run accounts in parallel.
---
# ⚙️ Configuration Reference <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
Edit `src/config.json` to customize behavior.
### Core Settings (examples)
| Setting | Description | Default |
| ----------------- | -------------------------------: | -------------------------: |
| `baseURL` | Microsoft Rewards URL | `https://rewards.bing.com` |
| `sessionPath` | Session/fingerprint storage | `sessions` |
| `headless` | Run browser in background | `false` |
| `parallel` | Run mobile/desktop tasks at once | `true` |
| `runOnZeroPoints` | Run when no points available | `false` |
| `clusters` | Concurrent account instances | `1` |
### Fingerprint Settings ### Fingerprint Settings
| Setting | Description | Default |
|---------|-------------|---------|
| `saveFingerprint.mobile` | Reuse mobile browser fingerprint | `false` |
| `saveFingerprint.desktop` | Reuse desktop browser fingerprint | `false` |
### Task Settings | Setting | Description | Default |
| Setting | Description | Default | | ------------------------- | ------------------------: | ------: |
|---------|-------------|---------| | `saveFingerprint.mobile` | Reuse mobile fingerprint | `false` |
| `workers.doDailySet` | Complete daily set activities | `true` | | `saveFingerprint.desktop` | Reuse desktop fingerprint | `false` |
| `workers.doMorePromotions` | Complete promotional offers | `true` |
| `workers.doPunchCards` | Complete punchcard activities | `true` | ### Task Settings (important ones)
| `workers.doDesktopSearch` | Perform desktop searches | `true` |
| `workers.doMobileSearch` | Perform mobile searches | `true` | | Setting | Description | Default |
| `workers.doDailyCheckIn` | Complete daily check-in | `true` | | -------------------------- | -----------------: | ------: |
| `workers.doReadToEarn` | Complete read-to-earn activities | `true` | | `workers.doDailySet` | Do daily set | `true` |
| `workers.doMorePromotions` | Promotional offers | `true` |
| `workers.doPunchCards` | Punchcard tasks | `true` |
| `workers.doDesktopSearch` | Desktop searches | `true` |
| `workers.doMobileSearch` | Mobile searches | `true` |
| `workers.doDailyCheckIn` | Daily check-in | `true` |
| `workers.doReadToEarn` | Read-to-earn | `true` |
### Search Settings ### Search Settings
| Setting | Description | Default |
|---------|-------------|---------| | Setting | Description | Default |
| `searchOnBingLocalQueries` | Use local queries vs. fetched | `false` | | ---------------------------------------- | ---------------------: | ------------: |
| `searchSettings.useGeoLocaleQueries` | Generate location-based queries | `false` | | `searchOnBingLocalQueries` | Use local queries | `false` |
| `searchSettings.scrollRandomResults` | Randomly scroll search results | `true` | | `searchSettings.useGeoLocaleQueries` | Geo-based queries | `false` |
| `searchSettings.clickRandomResults` | Click random result links | `true` | | `searchSettings.scrollRandomResults` | Random scrolling | `true` |
| `searchSettings.searchDelay` | Delay between searches (min/max) | `3-5 minutes` | | `searchSettings.clickRandomResults` | Random link clicks | `true` |
| `searchSettings.retryMobileSearchAmount` | Mobile search retry attempts | `2` | | `searchSettings.searchDelay` | Delay between searches | `3-5 minutes` |
| `searchSettings.retryMobileSearchAmount` | Mobile retry attempts | `2` |
### Advanced Settings ### Advanced Settings
| Setting | Description | Default |
|---------|-------------|---------| | Setting | Description | Default |
| `globalTimeout` | Action timeout duration | `30s` | | ------------------------- | --------------------------: | ------------------: |
| `logExcludeFunc` | Functions to exclude from logs | `SEARCH-CLOSE-TABS` | | `globalTimeout` | Action timeout | `30s` |
| `webhookLogExcludeFunc` | Functions to exclude from webhooks | `SEARCH-CLOSE-TABS` | | `logExcludeFunc` | Exclude functions from logs | `SEARCH-CLOSE-TABS` |
| `proxy.proxyGoogleTrends` | Proxy Google Trends requests | `true` | | `proxy.proxyGoogleTrends` | Proxy Google Trends | `true` |
| `proxy.proxyBingTerms` | Proxy Bing Terms requests | `true` | | `proxy.proxyBingTerms` | Proxy Bing Terms | `true` |
### Webhook Settings ### Webhook Settings
| Setting | Description | Default |
|---------|-------------|---------| | Setting | Description | Default |
| `webhook.enabled` | Enable Discord notifications | `false` | | --------------------------- | ---------------------------: | ------: |
| `webhook.url` | Discord webhook URL | `null` | | `webhook.enabled` | Enable Discord notifications | `false` |
| `conclusionWebhook.enabled` | Enable summary-only webhook | `false` | | `webhook.url` | Discord webhook URL | `null` |
| `conclusionWebhook.url` | Summary webhook URL | `null` | | `conclusionWebhook.enabled` | Summary-only webhook | `false` |
| `conclusionWebhook.url` | Summary webhook URL | `null` |
--- ---
## ✨ Features # ✨ Features <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
**Account Management:** **Account & Session**
- ✅ Multi-Account Support
- ✅ Session Storage & Persistence
- ✅ 2FA Support
- ✅ Passwordless Login Support
**Automation & Control:** * Multi-account support
- ✅ Headless Browser Operation * Persistent sessions & fingerprints
- ✅ Clustering Support (Multiple accounts simultaneously) * 2FA support & passwordless options
- ✅ Configurable Task Selection
- ✅ Proxy Support
- ✅ Automatic Scheduling (Docker)
**Search & Activities:** **Automation**
- ✅ Desktop & Mobile Searches
- ✅ Microsoft Edge Search Simulation
- ✅ Geo-Located Search Queries
- ✅ Emulated Scrolling & Link Clicking
- ✅ Daily Set Completion
- ✅ Promotional Activities
- ✅ Punchcard Completion
- ✅ Daily Check-in
- ✅ Read to Earn Activities
**Quiz & Interactive Content:** * Headless operation & clustering
- ✅ Quiz Solving (10 & 30-40 point variants) * Selectable task sets
- ✅ This Or That Quiz (Random answers) * Proxy support & scheduling (Docker)
- ✅ ABC Quiz Solving
- ✅ Poll Completion
- ✅ Click Rewards
**Notifications & Monitoring:** **Search & Rewards**
- ✅ Discord Webhook Integration
- ✅ Dedicated Summary Webhook * Desktop & mobile searches
- ✅ Comprehensive Logging * Emulated browsing, scrolling, clicks
- ✅ Docker Support with Monitoring * Daily sets, promotions, punchcards, quizzes
**Interactions**
* Quiz solving (10 & 3040 point variants)
* Polls, ABC quizzes, “This or That” answers
**Notifications**
* Discord webhooks and summary webhooks
* Extensive logs for debugging
--- ---
## ⚠️ Disclaimer # ⚠️ Disclaimer <img src="https://github.com/user-attachments/assets/1272cb81-e773-49ac-9023-cfea4d90c8d6" width="45" align="right" alt="Animated Discord Icon" />
**Use at your own risk!** Your Microsoft Rewards account may be suspended or banned when using automation scripts. **Use at your own risk.** Automation may cause suspension or banning of Microsoft Rewards accounts. This project is provided for educational purposes only. The maintainers are **not** responsible for account actions taken by Microsoft.
This script is provided for educational purposes. The authors are not responsible for any account actions taken by Microsoft.
--- ---
## 🤝 Contributing # 🤝 Contributing
This project is primarily for personal use but contributions are welcome. Please ensure any changes maintain compatibility with the existing configuration system. Contributions are welcome, but please keep changes compatible with the existing configuration system. This repository is primarily for v2 development — coordinate on Discord (v2 server) for feature work and bug reports.
[![Discord](https://img.shields.io/badge/💬_Join_Discord-7289DA?style=for-the-badge&logo=discord)](https://discord.gg/h6Z69ZPPCz) [![Discord](https://img.shields.io/badge/💬_Join_Discord-7289DA?style=for-the-badge\&logo=discord)](https://discord.gg/h6Z69ZPPCz) [![GitHub](https://img.shields.io/badge/⭐_Star_Project-yellow?style=for-the-badge\&logo=github)](https://github.com/TheNetsky/Microsoft-Rewards-Script)
[![GitHub](https://img.shields.io/badge/⭐_Star_Project-yellow?style=for-the-badge&logo=github)](https://github.com/TheNetsky/Microsoft-Rewards-Script)
<div align="center" style="margin-top:18px;">
<img src="https://github.com/user-attachments/assets/d81e6298-8b68-4a6e-b56c-2adf525a572f" alt="Microsoft Rewards Script Logo" width="250">
</div>