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 @@ -
+[![Discord](https://img.shields.io/badge/Join%20Our%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](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:** - -![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) + ```bash + bash setup/setup.sh + ``` + * **Alternative (any platform):** -
+ ```bash + npm run setup + ``` +3. **Follow the setup prompts.** The script will: -![Version](https://img.shields.io/badge/v2.4.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) + * 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 - -
- - - - - - - - - - - - -
-
-Human-Like Behavior
-Randomized delays β€’ Mouse movements
Natural scrolling patterns
-
-
-Anti-Detection
-Session persistence β€’ Fingerprinting
Proxy support
-
-
-Multi-Account
-Parallel execution β€’ 2FA/TOTP
Per-account proxies
-
-
-Smart Quiz Solver
-Polls β€’ ABC Quiz β€’ This or That
4/8-option quizzes
-
-
-Built-in Scheduler
-Daily automation
No external cron needed
-
-
-Notifications
-Discord webhooks β€’ NTFY
Real-time alerts
-
- -
- -
- -## 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** - - - - - - - -
- -
-TheNetsky
-πŸ—οΈ Foundation Architect -
-
- -
-Mgrimace
-πŸ’» Active Developer -
-
- -
-LightZirconite
-πŸ” V2+ -
-
- -
- -### **All Contributors** - - - - - -
- -
- -## Community & Support - -
- -### **Need Help? Found a Bug?** - -**Join our Discord community β€” we're here to help!** - -
- -[![Discord](https://img.shields.io/badge/Join_Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/KRBFxxsU) - -
- -**For bug reports and feature requests, please use Discord first.** -GitHub Issues are also available for documentation and tracking. - -
- -[![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) - -
- -
- -> πŸ’‘ **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. -
+--- -![Stars](https://img.shields.io/github/stars/TheNetsky/Microsoft-Rewards-Script?style=social) +# 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.