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**.
This means the script is available to try, but you may encounter bugs or unexpected issues.
The **v2 version is currently in Beta**.
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**:
**[Join here](https://discord.gg/h6Z69ZPPCz)**
**To clone the v2 branch (recommended):**
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:**
**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:
- Rename `accounts.example.json` to `accounts.json`
- 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
* **Windows:** double-click `setup/setup.bat` or run it from a command prompt
* **Linux / macOS / WSL:**
**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
1. Get [Nix](https://nixos.org/)
2. Run `./run.sh`
3. Done!
### Manual Setup (Troubleshooting)
If the automatic setup script doesn't work for your environment:
1. Install Nix from [https://nixos.org/](https://nixos.org/)
2. Run:
1. Manually rename `src/accounts.example.json` to `src/accounts.json`
2. Add your Microsoft account details to `accounts.json`
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`---
```bash
./run.sh
```
## 🐳 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
- Remove `/node_modules` and `/dist` folders if you previously built locally
- Remove old Docker volumes if upgrading from version 1.4 or earlier
- Old `accounts.json` files can be reused
```bash
npm install
```
### Quick Docker Setup
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`
4. Build:
**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
- **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`
**Before starting**
---
## ⚙️ Configuration Reference
* Remove local `/node_modules` and `/dist` if you previously built.
* 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
| Setting | Description | Default |
|---------|-------------|---------|
| `baseURL` | Microsoft Rewards page URL | `https://rewards.bing.com` |
| `sessionPath` | Session/fingerprint storage location | `sessions` |
| `headless` | Run browser in background | `false` (visible) |
| `parallel` | Run mobile/desktop tasks simultaneously | `true` |
| `runOnZeroPoints` | Continue when no points available | `false` |
| `clusters` | Number of concurrent account instances | `1` |
1. Clone v2 and configure `accounts.json`.
2. Ensure `config.json` has `"headless": true`.
3. Edit `compose.yaml`:
* Set `TZ` (timezone)
* Set `CRON_SCHEDULE` (use crontab.guru for help)
* Optional: `RUN_ON_START=true`
4. Start:
```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
| Setting | Description | Default |
|---------|-------------|---------|
| `saveFingerprint.mobile` | Reuse mobile browser fingerprint | `false` |
| `saveFingerprint.desktop` | Reuse desktop browser fingerprint | `false` |
### Task Settings
| Setting | Description | Default |
|---------|-------------|---------|
| `workers.doDailySet` | Complete daily set activities | `true` |
| `workers.doMorePromotions` | Complete promotional offers | `true` |
| `workers.doPunchCards` | Complete punchcard activities | `true` |
| `workers.doDesktopSearch` | Perform desktop searches | `true` |
| `workers.doMobileSearch` | Perform mobile searches | `true` |
| `workers.doDailyCheckIn` | Complete daily check-in | `true` |
| `workers.doReadToEarn` | Complete read-to-earn activities | `true` |
| Setting | Description | Default |
| ------------------------- | ------------------------: | ------: |
| `saveFingerprint.mobile` | Reuse mobile fingerprint | `false` |
| `saveFingerprint.desktop` | Reuse desktop fingerprint | `false` |
### Task Settings (important ones)
| Setting | Description | Default |
| -------------------------- | -----------------: | ------: |
| `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
| Setting | Description | Default |
|---------|-------------|---------|
| `searchOnBingLocalQueries` | Use local queries vs. fetched | `false` |
| `searchSettings.useGeoLocaleQueries` | Generate location-based queries | `false` |
| `searchSettings.scrollRandomResults` | Randomly scroll search results | `true` |
| `searchSettings.clickRandomResults` | Click random result links | `true` |
| `searchSettings.searchDelay` | Delay between searches (min/max) | `3-5 minutes` |
| `searchSettings.retryMobileSearchAmount` | Mobile search retry attempts | `2` |
| Setting | Description | Default |
| ---------------------------------------- | ---------------------: | ------------: |
| `searchOnBingLocalQueries` | Use local queries | `false` |
| `searchSettings.useGeoLocaleQueries` | Geo-based queries | `false` |
| `searchSettings.scrollRandomResults` | Random scrolling | `true` |
| `searchSettings.clickRandomResults` | Random link clicks | `true` |
| `searchSettings.searchDelay` | Delay between searches | `3-5 minutes` |
| `searchSettings.retryMobileSearchAmount` | Mobile retry attempts | `2` |
### Advanced Settings
| Setting | Description | Default |
|---------|-------------|---------|
| `globalTimeout` | Action timeout duration | `30s` |
| `logExcludeFunc` | Functions to exclude from logs | `SEARCH-CLOSE-TABS` |
| `webhookLogExcludeFunc` | Functions to exclude from webhooks | `SEARCH-CLOSE-TABS` |
| `proxy.proxyGoogleTrends` | Proxy Google Trends requests | `true` |
| `proxy.proxyBingTerms` | Proxy Bing Terms requests | `true` |
| Setting | Description | Default |
| ------------------------- | --------------------------: | ------------------: |
| `globalTimeout` | Action timeout | `30s` |
| `logExcludeFunc` | Exclude functions from logs | `SEARCH-CLOSE-TABS` |
| `proxy.proxyGoogleTrends` | Proxy Google Trends | `true` |
| `proxy.proxyBingTerms` | Proxy Bing Terms | `true` |
### Webhook Settings
| Setting | Description | Default |
|---------|-------------|---------|
| `webhook.enabled` | Enable Discord notifications | `false` |
| `webhook.url` | Discord webhook URL | `null` |
| `conclusionWebhook.enabled` | Enable summary-only webhook | `false` |
| `conclusionWebhook.url` | Summary webhook URL | `null` |
| Setting | Description | Default |
| --------------------------- | ---------------------------: | ------: |
| `webhook.enabled` | Enable Discord notifications | `false` |
| `webhook.url` | Discord 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:**
- ✅ Multi-Account Support
- ✅ Session Storage & Persistence
- ✅ 2FA Support
- ✅ Passwordless Login Support
**Account & Session**
**Automation & Control:**
- ✅ Headless Browser Operation
- ✅ Clustering Support (Multiple accounts simultaneously)
- ✅ Configurable Task Selection
- ✅ Proxy Support
- ✅ Automatic Scheduling (Docker)
* Multi-account support
* Persistent sessions & fingerprints
* 2FA support & passwordless options
**Search & Activities:**
- ✅ 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
**Automation**
**Quiz & Interactive Content:**
- ✅ Quiz Solving (10 & 30-40 point variants)
- ✅ This Or That Quiz (Random answers)
- ✅ ABC Quiz Solving
- ✅ Poll Completion
- ✅ Click Rewards
* Headless operation & clustering
* Selectable task sets
* Proxy support & scheduling (Docker)
**Notifications & Monitoring:**
- ✅ Discord Webhook Integration
- ✅ Dedicated Summary Webhook
- ✅ Comprehensive Logging
- ✅ Docker Support with Monitoring
**Search & Rewards**
* Desktop & mobile searches
* Emulated browsing, scrolling, clicks
* 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.
This script is provided for educational purposes. The authors are not responsible for any account actions taken by Microsoft.
**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.
---
## 🤝 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)
[![GitHub](https://img.shields.io/badge/⭐_Star_Project-yellow?style=for-the-badge&logo=github)](https://github.com/TheNetsky/Microsoft-Rewards-Script)
[![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)
<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>