From b78cea16aed15a40ae80b060b69f4ccbe604c638 Mon Sep 17 00:00:00 2001
From: Netsky <56271887+TheNetsky@users.noreply.github.com>
Date: Mon, 3 Nov 2025 11:32:45 +0100
Subject: [PATCH] Revise README
---
README.md | 578 ++++++++++++++++--------------------------------------
1 file changed, 164 insertions(+), 414 deletions(-)
diff --git a/README.md b/README.md
index edac709..153cca2 100644
--- a/README.md
+++ b/README.md
@@ -1,459 +1,209 @@
-
+[](https://discord.gg/8BxYbV4pkj)
-
-

+# Quick Setup (Recommended)
-
+**Easiest way to get started β download and run:**
-
+1. **Clone the branch** or download the zip.
+2. **Run the setup script:**
-
+ * **Windows:** double-click `setup/setup.bat` or run it from a command prompt
+ * **Linux / macOS / WSL:**
-
-
-
-
-
+ ```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
-### π **Update Notice**
+### Nix Users
-Recent updates changed the structure of `config.jsonc` and `accounts.jsonc` files (including extensions).
-
-**If you see Git conflicts during `git pull` on these files:**
+1. Install Nix from [https://nixos.org/](https://nixos.org/)
+2. Run:
```bash
-# Delete and fresh clone
-rm -rf Microsoft-Rewards-Script
-git clone -b v2 https://github.com/TheNetsky/Microsoft-Rewards-Script.git
-cd Microsoft-Rewards-Script
-
-# Manually re-enter your settings in the new files
+./run.sh
```
-β οΈ Don't copy old config files directlyβstructure has changed. Re-enter your credentials and preferences manually.
+### Manual Setup (if setup script fails)
-This notice will remain for a few releases. Once we reach stable v2.5+, automatic updates will work smoothly again.
+1. Copy `src/accounts.example.json` β `src/accounts.json` and add accounts.
+2. Edit `src/config.json` as needed.
+3. Install dependencies:
-
+```bash
+npm install
+```
+
+4. Build:
+
+```bash
+npm run build
+```
+
+5. Start:
+
+```bash
+npm run start
+```
---
-
+# Docker Setup (Experimental)
-## What Does This Do?
+**Before starting**
-**Automate your Microsoft Rewards daily activities with intelligent browser automation.**
-Complete searches, quizzes, and promotions automatically while mimicking natural human behavior.
+* 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`.
-
+**Quick Docker (recommended for scheduling)**
-### **Daily Earnings Breakdown**
+1. Clone v2 and configure `accounts.json`.
+2. Ensure `config.json` has `"headless": true`.
+3. Edit `compose.yaml`:
-| π― 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** |
-
-
-
-
-## Quick Start
-
-### **π Automated Setup** (Recommended)
+ * Set `TZ` (timezone)
+ * Set `CRON_SCHEDULE` (use crontab.guru for help)
+ * Optional: `RUN_ON_START=true`
+4. Start:
```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)
-
-
-
-### **π οΈ 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.jsonc src/accounts.json
-# Edit accounts.json with your Microsoft credentials
-
-# 3. Install & build
-npm i
-
-# 4. Run automation
-npm start
-```
-
-
-
-## Intelligent Features
-
-
-
-|
-
-### π‘οΈ **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
-```
-
- |
-
-
-### π **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
-```
-
- |
-
-
-
-
-
-## 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
```
-
+5. Monitor:
-## 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
- }
-}
+```bash
+docker logs microsoft-rewards-script
```
-**[π Complete Configuration Guide β](./docs/config.md)**
-
-
-
-## Core Features
-
-
-
-
-
-## Documentation
-
-
-
-| π 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)**
-
-
-
-
-
-## Technical Architecture
-
-
-
-**Built with Modern Technologies**
-
-
-
-

-
-
-
-
-
-**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
-
-
-
-## Important Disclaimers
-
-
-
-### β οΈ **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**.
-
-
-
-
-
-**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
-
-
-
-## Contributors
-
-
-
-### **Core Development Team**
-
-
-
-
-
-### **All Contributors**
-
-
-
-
-
-
-
-
-
-## Community & Support
-
-
-
-### **Need Help? Found a Bug?**
-
-**Join our Discord community β we're here to help!**
-
-
-
-[](https://discord.gg/KRBFxxsU)
-
-
-
-**For bug reports and feature requests, please use Discord first.**
-GitHub Issues are also available for documentation and tracking.
-
-
-
-[](https://github.com/TheNetsky/Microsoft-Rewards-Script/issues)
-
-
-
-
-
-> π‘ **Looking for enhanced builds?** Community-maintained versions with faster updates and advanced features may be available. Ask in our Discord for more info.
-
-
-
-
-
-## License
-
-
-
-**ISC License** β Free and open source
-
-See [LICENSE](./LICENSE) for details β’ [NOTICE](./NOTICE) for disclaimers
-
-
+> The container randomly delays scheduled runs by ~5β50 minutes to appear more natural.
---
-
+# Usage Notes
-**β Star this repo if you found it useful! β**
+* **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
-
+Edit `src/config.json` to customize behavior.
-**Made with β€οΈ by the open source community**
+### 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` |
-
\ No newline at end of file
+### Fingerprint Settings
+
+| 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 | `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 | `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` | Summary-only webhook | `false` |
+| `conclusionWebhook.url` | Summary webhook URL | `null` |
+
+---
+
+# Features
+
+**Account & Session**
+
+* Multi-account support
+* Persistent sessions & fingerprints
+* 2FA support & passwordless options
+
+**Automation**
+
+* Headless operation & clustering
+* Selectable task sets
+* Proxy support & scheduling (Docker)
+
+**Search & Rewards**
+
+* Desktop & mobile searches
+* Emulated browsing, scrolling, clicks
+* Daily sets, promotions, punchcards, quizzes
+
+**Interactions**
+
+* Quiz solving (10 & 30β40 point variants)
+* Polls, ABC quizzes, βThis or Thatβ answers
+
+**Notifications**
+
+* Discord webhooks and summary webhooks
+* Extensive logs for debugging
+
+---
+
+# Disclaimer
+
+**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.