Microsoft Rewards automation with API and browser modes, saved sessions, multiple accounts, localised searches and an optional Control API.
Activities depend on the account and region. This branch contains v5; earlier versions remain available on v3 and v4.
Requires Node.js 24 or newer.
npm ci
npm run install:browser
npm run build
cp env.example .env
cp config.example.json config.json
On Linux, install Chromium's system libraries with
npx patchright install --with-deps chromium.
On Windows, copy the example files with File Explorer or PowerShell's Copy-Item.
Set ACCOUNT_1_EMAIL and the relevant sign-in settings in .env, then run:
npm start
Add another numbered account block for each account. Passwords are optional for passwordless accounts. See env.example for account variables and Setup and usage for login options.
Edit config.json before starting a run.
| Setting | Purpose |
|---|---|
rewardsMode: "browser" |
Complete web activities through rendered cards and GhostCursor |
rewardsMode: "api" |
Save the sign-in session, close its browser and use HTTP |
searchSettings.parallelSearching |
Overlap desktop and mobile work when enabled |
workers |
Enable or disable individual tasks |
taskDelay |
Delay between activities |
searchSettings.searchDelay |
Delay between searches |
searchSettings.useAccountLocale |
Select queries using the account country |
ensureStreakProtection |
Enable and verify protection over HTTP in both modes |
experimental |
Optional features; disabled by default |
See the full settings reference for all options.
To sign in manually on a desktop with a visible browser:
npm run manual-login -- user@example.com --platform both
npm run open-session -- --help
Sessions are saved under sessionPath. Keep .env, local configuration,
session databases and diagnostics private.
Create .env from env.example, then review the timezone and schedule in
compose.yaml.
docker compose up -d --build
docker compose logs -f
The published v5 image is ghcr.io/thenetsky/microsoft-rewards-script:5.
To use it instead of building locally, follow the Docker image instructions.
Docker persists configuration in ./config, sessions in ./sessions and optional
error captures in ./diagnostics. It creates config/config.json from defaults
when needed. RUN_ON_START controls the first run; CRON_SCHEDULE sets the initial
schedule. Control API schedule changes persist in config/schedule.json.
See Control API Docker setup to enable the server.
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|