Files
Microsoft-Rewards-Script/docs/config.md
Light 15f62963f8 V2 (#365)
* first commit

* Addition of a personalized activity manager and refactoring of the logic of activities

* Adding diagnostics management, including screenshot and HTML content, as well as improvements to humanize page interactions and +.

* Adding the management of newspapers and webhook settings, including filtering messages and improving the structure of the summaries sent.

* Adding a post-execution auto-date functionality, including options to update via Git and Docker, as well as a new configuration interface to manage these parameters.

* Adding accounts in Docker, with options to use an environmental file or online JSON data, as well as minimum validations for responsible accounts.

* Improving the Microsoft Rewards script display with a new headband and better log management, including colors and improved formatting for the console.

* v2

* Refactor ESLint configuration and scripts for improved TypeScript support and project structure

* Addition of the detection of suspended accounts with the gesture of the improved errors and journalization of banishment reasons

* Adding an integrated planner for programmed task execution, with configuration in Config.json and +

* Edit

* Remove texte

* Updating of documentation and adding the management of humanization in the configuration and +.

* Adding manual purchase method allowing users to spend points without automation, with monitoring of expenses and notifications.

* Correction of documentation and improvement of configuration management for manual purchase mode, adding complete documentation and appropriate banner display.

* Add comprehensive documentation for job state persistence, NTFY notifications, proxy configuration, scheduling, and auto-update features

- Introduced job state persistence documentation to track progress and resume tasks.
- Added NTFY push notifications integration guide for real-time alerts.
- Documented proxy configuration options for enhanced privacy and network management.
- Included scheduling configuration for automated script execution.
- Implemented auto-update configuration to keep installations current with Git and Docker options.

* Ajout d'Unt Système de Rapport d'Erreurs Communautaire pour Améliorerer le Débogage, incluant la Configuration et l'Envoi de Résumés D'Erreurs Anonyés à un webhook Discord.

* Mini Edit

* Mise à Jour du Readme.md pour Améliorerer la Présentation et La Claté, Ajout d'Un section sur les notifications en Temps Raine et Mise à Jour des badges pour la meille unibilité.

* Documentation update

* Edit README.md

* Edit

* Update README with legacy version link

* Improvement of location data management and webhooks, adding configurations normalization

* Force update for PR

* Improvement of documentation and configuration options for Cron integration and Docker use

* Improvement of planning documentation and adding a multi-pan-pancake in the daily execution script

* Deletion of the CommunityReport functionality in accordance with the project policy

* Addition of randomization of start -up schedules and surveillance time for planner executions

* Refactor Docker setup to use built-in scheduler, removing cron dependencies and simplifying configuration options

* Adding TOTP support for authentication, update of interfaces and configuration files to include Totp secret, and automatic generation of the Totp code when connecting.

* Fix [LOGIN-NO-PROMPT] No dialogs (xX)

* Reset the Totp field for email_1 in the accounts.example.json file

* Reset the Totp field for email_1 in the Readme.md file

* Improvement of Bing Research: Use of the 'Attacked' method for the research field, management of overlays and adding direct navigation in the event of entry failure.

* Adding a complete security policy, including directives on vulnerability management, coordinated disclosure and user security advice.

* Remove advanced environment variables section from README

* Configuration and dockerfile update: Passage to Node 22, addition of management of the purchase method, deletion of obsolete scripts

* Correction of the order of the sections in the Readme.md for better readability

* Update of Readm and Security Policy: Addition of the method of purchase and clarification of security and confidentiality practices.

* Improvement of the readability of the Readm and deletion of the mention of reporting of vulnerabilities in the security document.

* Addition of humanization management and adaptive throttling to simulate more human behavior in bot activities.

* Addition of humanization management: activation/deactivation of human gestures, configuration update and adding documentation on human mode.

* Deletion of community error report functionality to respect the privacy policy

* Addition of immediate banning alerts and vacation configuration in the Microsoft Rewards bot

* Addition of immediate banning alerts and vacation configuration in the Microsoft Rewards bot

* Added scheduling support: support for 12h and 24h formats, added options for time zone, and immediate execution on startup.

* Added window size normalization and page rendering to fit typical screens, with injected CSS styles to prevent excessive zooming.

* Added security incident management: detection of hidden recovery emails, automation blocking, and global alerts. Updated configuration files and interfaces to include recovery emails. Improved security incident documentation.

* Refactor incident alert handling: unified alert sender

* s

* Added security incident management: detect recovery email inconsistencies and send unified alerts. Implemented helper methods to manage alerts and compromised modes.

* Added heartbeat management for the scheduler: integrated a heartbeat file to report liveliness and adjusted the watchdog configuration to account for heartbeat updates.

* Edit webook

* Updated security alert management: fixed the recovery email hidden in the documentation and enabled the conclusion webhook for notifications.

* Improved security alert handling: added structured sending to webhooks for better visibility and updated callback interval in compromised mode.

* Edit conf

* Improved dependency installation: Added the --ignore-scripts option for npm ci and npm install. Updated comments in compose.yaml for clarity.

* Refactor documentation structure and enhance logging:
- Moved documentation files from 'information' to 'docs' directory for better organization.
- Added live logging configuration to support webhook logs with email redaction.
- Updated file paths in configuration and loading functions to accommodate new structure.
- Adjusted scheduler behavior to prevent immediate runs unless explicitly set.
- Improved error handling for account and config file loading.
- Enhanced security incident documentation with detailed recovery steps.

* Fix docs

* Remove outdated documentation on NTFY, Proxy, Scheduling, Security, and Auto-Update configurations; update Browser class to prioritize headless mode based on environment variable.

* Addition of documentation for account management and Totp, Docker Guide, and Update of the Documentation Index.

* Updating Docker documentation: simplification of instructions and adding links to detailed guides. Revision of configuration options and troubleshooting sections.

* Edit

* Edit docs

* Enhance documentation for Scheduler, Security, and Auto-Update features

- Revamped the Scheduler documentation to include detailed features, configuration options, and usage examples.
- Expanded the Security guide with comprehensive incident response strategies, privacy measures, and monitoring practices.
- Updated the Auto-Update section to clarify configuration, methods, and best practices for maintaining system integrity.

* Improved error handling and added crash recovery in the Microsoft Rewards bot. Added configuration for automatic restart and handling of local search queries when trends fail.

* Fixed initial point counting in MicrosoftRewardsBot and improved error handling when sending summaries to webhooks.

* Added unified support for notifications and improved handling of webhook configurations in the normalizeConfig and log functions.

* UPDATE LOGIN

* EDIT LOGIN

* Improved login error handling: added recovery mismatch detection and the ability to switch to password authentication.

* Added a full reference to configuration in the documentation and improved log and error handling in the code.

* Added context management for conclusion webhooks and improved user configuration for notifications.

* Mini edit

* Improved logic for extracting masked emails for more accurate matching during account recovery.
2025-09-26 18:58:33 +02:00

8.9 KiB
Raw Blame History

⚙️ Configuration Guide

This page documents every field in config.json. You can keep the file lean by deleting blocks you do not use missing values fall back to defaults. Comments (// ...) are supported in the JSON thanks to a custom parser.

NOTE: Previous versions had logging.live (live streaming webhook); it was removed and replaced by a simple logging.redactEmails flag.


Top-Level Fields

baseURL

Internal Microsoft Rewards base. Leave it unless you know what you are doing.

sessionPath

Directory where session data (cookies / fingerprints / job-state) is stored.


browser

Key Type Default Description
headless boolean false Run browser UI-less. Setting to false can improve stability or help visual debugging.
globalTimeout string/number "30s" Max time for common Playwright operations. Accepts ms number or time string (e.g. "45s", "2min").

execution

Key Type Default Description
parallel boolean false Run desktop + mobile simultaneously (higher resource usage).
runOnZeroPoints boolean false Skip full run early if there are zero points available (saves time).
clusters number 1 Number of process clusters (multi-process concurrency).
passesPerRun number 1 Advanced: extra full passes per started run.

buyMode

Manual redeem / purchase assistance.

Key Type Default Description
enabled (CLI -buy) boolean false Enable buy mode (usually via CLI argument).
maxMinutes number 45 Max session length for buy mode.

fingerprinting.saveFingerprint

Persist browser fingerprints per device type for consistency.

Key Type Default Description
mobile boolean false Save/reuse a consistent mobile fingerprint.
desktop boolean false Save/reuse a consistent desktop fingerprint.

Key Type Default Description
useLocalQueries boolean false Use locale-specific query sources instead of global ones.

search.settings

Key Type Default Description
useGeoLocaleQueries boolean false Blend geo / locale into chosen queries.
scrollRandomResults boolean true Random scroll during search pages to look natural.
clickRandomResults boolean true Occasionally click safe results.
retryMobileSearchAmount number 2 Retries if mobile searches didnt yield points.
delay.min / delay.max string/number 35min Delay between searches (ms or time string).

humanization

Humanlike behavior simulation.

Key Type Default Description
enabled boolean true Global on/off.
stopOnBan boolean true Stop processing further accounts if a ban is detected.
immediateBanAlert boolean true Fire notification immediately upon ban detection.
actionDelay.min/max number/string 150450ms Random micro-delay per action.
gestureMoveProb number 0.4 Probability of a small mouse move gesture.
gestureScrollProb number 0.2 Probability of a small scroll gesture.
allowedWindows string[] [] Local time windows (e.g. ["08:30-11:00","19:00-22:00"]). Outside windows, run waits.

vacation

Random contiguous block of days off per month.

Key Type Default Description
enabled boolean false Activate monthly break behavior.
minDays number 3 Minimum skipped days per month.
maxDays number 5 Maximum skipped days per month.

retryPolicy

Generic transient retry/backoff.

Key Type Default Description
maxAttempts number 3 Max tries for retryable blocks.
baseDelay number 1000 Initial delay in ms.
maxDelay number/string 30s Max backoff delay.
multiplier number 2 Exponential backoff multiplier.
jitter number 0.2 Randomization factor (0..1).

workers

Enable/disable scripted task categories.

Key Default Description
doDailySet true Daily set activities.
doMorePromotions true Promotional tasks.
doPunchCards true Punch card flows.
doDesktopSearch true Desktop searches.
doMobileSearch true Mobile searches.
doDailyCheckIn true Daily check-in.
doReadToEarn true Reading tasks.
bundleDailySetWithSearch false Immediately start desktop search bundle after daily set.

proxy

Key Default Description
proxyGoogleTrends true Route Google Trends fetch through proxy if set.
proxyBingTerms true Route Bing query source fetch through proxy if set.

notifications

Manages notification channels (Discord webhooks, NTFY, etc.).

notifications.webhook

Primary webhook (can be used for summary or generic messages).

Key Default Description
enabled false Allow sending webhook-based notifications.
url "" Webhook endpoint.

notifications.conclusionWebhook

Rich end-of-run summary (if enabled separately).

Key Default Description
enabled false Enable run summary posting.
url "" Webhook endpoint.

notifications.ntfy

Lightweight push notifications.

Key Default Description
enabled false Enable NTFY push.
url "" Base NTFY server URL (e.g. https://ntfy.sh).
topic rewards Topic/channel name.
authToken "" Bearer token if your server requires auth.

logging

Key Type Description
excludeFunc string[] Log buckets suppressed in console + any webhook usage.
webhookExcludeFunc string[] Buckets suppressed specifically for webhook output.
redactEmails boolean If true, email addresses are partially masked in logs.

Removed fields: live.enabled, live.url, live.redactEmails — replaced by redactEmails only.


diagnostics

Capture evidence when something fails.

Key Default Description
enabled true Master switch for diagnostics.
saveScreenshot true Save screenshot on failure.
saveHtml true Save HTML snapshot on failure.
maxPerRun 2 Cap artifacts per run per failure type.
retentionDays 7 Old run artifacts pruned after this many days.

jobState

Checkpoint system to avoid duplicate work.

Key Default Description
enabled true Enable job state tracking.
dir "" Custom directory (default: <sessionPath>/job-state).

schedule

Built-in scheduler (avoids external cron inside container or host).

Key Default Description
enabled false Enable scheduling loop.
useAmPm false If true, parse time12; else use time24.
time12 9:00 AM 12hour format time (only if useAmPm=true).
time24 09:00 24hour format time (only if useAmPm=false).
timeZone America/New_York IANA zone string (e.g. Europe/Paris).
runImmediatelyOnStart false Run one pass instantly in addition to daily schedule.

Legacy: If both time12 and time24 are empty, a legacy time (HH:mm) may still be read.


update

Auto-update behavior after a run.

Key Default Description
git true Pull latest git changes after run.
docker false Recreate container (if running in Docker orchestration).
scriptPath setup/update/update.mjs Custom script executed for update flow.

Security / Best Practices

  • Keep redactEmails true if you share logs publicly.
  • Use a private NTFY instance or secure Discord webhooks (do not leak URLs).
  • Avoid setting headless false on untrusted remote servers.

Minimal Example

{
  "browser": { "headless": true },
  "execution": { "parallel": false },
  "workers": { "doDailySet": true, "doDesktopSearch": true, "doMobileSearch": true },
  "logging": { "redactEmails": true }
}

Common Tweaks

Goal Change
Faster dev feedback Set browser.headless to false and shorten search delays.
Reduce detection risk Keep humanization enabled, add vacation window.
Silent mode Add more buckets to excludeFunc.
Skip mobile searches Set workers.doMobileSearch=false.
Use daily schedule Set schedule.enabled=true and adjust time24 + timeZone.

Changelog Notes

  • Removed live webhook streaming complexity; now simpler logging.
  • Centralized redaction logic under logging.redactEmails.

If something feels undocumented or unclear, open a documentation issue or extend this page.