Skip to content

About

自动化 Microsoft Rewards 脚本,使用 TypeScript、Cheerio 和 Playwright 开发。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

⚡ Microsoft Rewards 脚本 v2 测试版发布

⚡ Microsoft Rewards 脚本 v2 测试版发布 动态 Discord 图标

全新的 v2 版本目前处于测试阶段(Beta Testing)。
这意味着您可以尝试使用该脚本,但过程中可能会遇到漏洞(bug)或意外问题。
v2 版本目前为测试版,您可立即试用,但需留意可能出现的漏洞或异常情况——您的反馈将有助于稳定最终版本。

我们强烈建议您 报告遇到的任何问题。您的反馈极具价值,将帮助我们改进脚本,以推出稳定版本。
v2 分支代码仓库:点击查看 v2 版本

👉 您可在我们的 Discord 服务器 上直接反馈问题、提出建议或寻求帮助:
点击加入
克隆 v2 分支(推荐操作):

感谢您协助测试并改进此项目!

git clone -b v2 --single-branch https://github.com/wzx009412/Microsoft-Rewards-Script-chinese.git

👉 支持与反馈(仅针对 v2 版本):
我们的 Discord 服务器仅用于处理 v2 版本相关的问题与贡献。请仅在该服务器上报告 v2 版本的问题、请求帮助或讨论改进方案。旧版稳定分支(v1 / 1.5.3)不支持在该服务器获取帮助。

加入链接: https://discord.gg/h6Z69ZPPCz


🚀 快速设置(推荐)

🚀 快速设置(推荐) 动态 Discord 图标

最简单的上手方式——下载并运行即可!

  1. 下载或克隆 源代码
    可选择 克隆 v2 分支(参考上方命令)或下载压缩包(zip)。

  2. 运行设置脚本:

    • Windows 系统:双击 setup/setup.bat 文件,或在命令行中运行该文件
    • Linux/macOS/WSL 系统:执行命令 bash setup/setup.sh
    • 其他方式(全平台通用):执行命令 npm run setup
  3. 跟随提示操作:设置脚本将自动完成以下任务:

    • 将 accounts.example.json 重命名为 accounts.json
    • 提示您输入 Microsoft 账号凭据(用户名/密码)
    • 提醒您在 config.json 中检查并配置相关选项
    • 安装所有依赖项(执行 npm install 命令)
    • 构建项目(执行 npm run build 命令)
    • 可选:立即启动脚本

操作完成! 后续所有流程均由设置脚本自动处理。

  • Windows 系统:双击 setup/setup.bat,或在命令提示符(CMD)中运行该文件
  • Linux / macOS / WSL 系统:
    bash setup/setup.sh
  • 其他方式(全平台通用):
    npm run setup
  1. 跟随设置提示操作。脚本将自动执行:
    • 将 accounts.example.json 重命名为 accounts.json
    • 提示输入 Microsoft 账号凭据
    • 提醒您检查 config.json 配置文件
    • 安装依赖项(执行 npm install)
    • 构建项目(执行 npm run build)
    • 可选:立即启动脚本

至此操作结束——剩余流程均由设置脚本自动处理。


⚙️ 高级设置选项

⚙️ 高级设置选项 动态 Discord 图标

Nix 系统用户

  1. 获取 Nix 工具
  2. 执行命令 ./run.sh
  3. 操作完成!

手动设置(问题排查用)

若自动设置脚本在您的环境中无法运行,可按以下步骤操作:

  1. 从 https://nixos.org/ 下载并安装 Nix
  2. 执行命令:
./run.sh

手动设置(适用于设置脚本运行失败的情况)

  1. 将 src/accounts.example.json 复制并重命名为 src/accounts.json,然后添加账号信息。
  2. 根据需求编辑 src/config.json 配置文件。
  3. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 启动脚本:
npm run start

🐳 Docker 部署(实验性) 动态 Discord 图标

部署前准备

  • 若您之前已在本地构建过项目,请删除本地的 /node_modules 和 /dist 文件夹。
  • 若从 v1.4 或更早版本升级,请删除旧的 Docker 卷(volume)。
  • 可复用旧版本的 accounts.json 文件。

快速 Docker 部署(推荐用于定时任务)
适用于自动化定时执行与容器化部署场景。

  1. 手动将 src/accounts.example.json 重命名为 src/accounts.json
  2. 在 accounts.json 中添加您的 Microsoft 账号信息
  3. 根据偏好自定义 src/config.json 配置文件
  4. 安装依赖项:执行 npm install
  5. 构建项目:执行 npm run build
  6. 启动脚本:执行 npm run start

  1. 克隆 v2 分支并配置 accounts.json 文件。

  2. 确保 config.json 中设置 "headless": true(无头模式,即无浏览器界面运行)。

  3. 编辑 compose.yaml 文件:

    • 设置 TZ(时区,例如 Asia/Shanghai)
    • 设置 CRON_SCHEDULE(定时任务表达式,可参考 crontab.guru 生成)
    • 可选配置:设置 RUN_ON_START=true(部署后立即执行一次脚本)
  4. 启动容器:

docker compose up -d
  1. 查看日志(监控运行状态):
docker logs Microsoft-Rewards-Script-chinese

注意:为模拟更自然的人工操作,容器会在定时任务执行时随机延迟 5–50 分钟。


📋 使用说明

📋 使用说明 动态 Discord 图标

  • 浏览器进程清理:若您在未关闭浏览器窗口的情况下停止脚本(且配置为 headless=false,即非无头模式),需通过任务管理器(Windows)或执行 npm run kill-chrome-win 命令清理残留的浏览器进程。
  • 自动化定时执行:建议每天至少运行两次脚本;若需在无可用积分时跳过执行,可将配置项 "runOnZeroPoints" 设置为 false。
  • 多账号支持:脚本支持集群模式(clustering),可在 config.json 中配置 clusters 项(设置并发运行的账号实例数量)。
  • 无头模式(headless=false)下的清理:若未关闭浏览器窗口就停止脚本,需通过任务管理器(Windows)或执行 npm run kill-chrome-win 命令关闭残留的浏览器实例。
  • 定时执行建议:每天至少运行两次;可在配置中设置 "runOnZeroPoints": false,以在无可用积分时跳过执行。
  • 多账号配置:通过 config.json 中的 clusters 项,可设置多账号并行运行。

⚙️ 配置参考


⚙️ 配置参考 动态 Discord 图标

可通过编辑 src/config.json 文件自定义脚本行为。

核心设置(示例)

设置项(Setting) 描述(Description) 默认值(Default)
baseURL Microsoft Rewards 页面链接 https://rewards.bing.com
sessionPath 会话/浏览器指纹存储路径 sessions(即 sessions 文件夹)
headless 是否以后台模式运行浏览器 false(显示浏览器界面)
parallel 是否同时运行移动端/桌面端任务 true(同时运行)
runOnZeroPoints 无可用积分时是否继续执行 false(不继续执行)
clusters 并发账号实例数量 1(单账号运行)
设置项(Setting) 描述(Description) 默认值(Default)
baseURL Microsoft Rewards 链接 https://rewards.bing.com
sessionPath 会话/指纹存储路径 sessions
headless 后台运行浏览器 false
parallel 同时运行移动端/桌面端任务 true
runOnZeroPoints 无积分时是否执行 false
clusters 并发账号实例数 1

指纹设置(Fingerprint Settings)

设置项(Setting) 描述(Description) 默认值(Default)
saveFingerprint.mobile 是否复用移动端浏览器指纹 false(不复用)
saveFingerprint.desktop 是否复用桌面端浏览器指纹 false(不复用)
设置项(Setting) 描述(Description) 默认值(Default)
saveFingerprint.mobile 复用移动端指纹 false
saveFingerprint.desktop 复用桌面端指纹 false

任务设置(Task Settings)

设置项(Setting) 描述(Description) 默认值(Default)
workers.doDailySet 是否完成“每日任务组”活动 true(完成)
workers.doMorePromotions 是否完成促销活动任务 true(完成)
workers.doPunchCards 是否完成“打卡任务”(PunchCard) true(完成)
workers.doDesktopSearch 是否执行桌面端搜索任务 true(执行)
workers.doMobileSearch 是否执行移动端搜索任务 true(执行)
workers.doDailyCheckIn 是否完成每日签到 true(完成)
workers.doReadToEarn 是否完成“阅读赚积分”活动 true(完成)
设置项(Setting) 描述(Description) 默认值(Default)
workers.doDailySet 执行每日任务组 true
workers.doMorePromotions 执行促销活动任务 true
workers.doPunchCards 执行打卡任务 true
workers.doDesktopSearch 执行桌面端搜索 true
workers.doMobileSearch 执行移动端搜索 true
workers.doDailyCheckIn 执行每日签到 true
workers.doReadToEarn 执行阅读赚积分任务 true

搜索设置(Search Settings)

设置项(Setting) 描述(Description) 默认值(Default)
searchOnBingLocalQueries 是否使用本地预设搜索词(而非在线获取) false(使用在线获取)
searchSettings.useGeoLocaleQueries 是否生成基于地理位置的搜索词 false(不生成)
searchSettings.scrollRandomResults 是否随机滚动搜索结果页面 true(随机滚动)
searchSettings.clickRandomResults 是否随机点击搜索结果链接 true(随机点击)
searchSettings.searchDelay 两次搜索之间的延迟时间(最小值/最大值) 3-5 minutes(3-5 分钟)
searchSettings.retryMobileSearchAmount 移动端搜索任务的重试次数 2(重试 2 次)
设置项(Setting) 描述(Description) 默认值(Default)
searchOnBingLocalQueries 使用本地搜索词 false
searchSettings.useGeoLocaleQueries 生成地理位置相关搜索词 false
searchSettings.scrollRandomResults 随机滚动搜索结果 true
searchSettings.clickRandomResults 随机点击搜索结果链接 true
searchSettings.searchDelay 两次搜索间隔 3-5 minutes
searchSettings.retryMobileSearchAmount 移动端搜索重试次数 2

高级设置(Advanced Settings)

设置项(Setting) 描述(Description) 默认值(Default)
globalTimeout 操作超时时间 30s(30 秒)
logExcludeFunc 日志中需排除的功能模块 SEARCH-CLOSE-TABS(搜索-关闭标签页模块)
webhookLogExcludeFunc Webhook 通知中需排除的功能模块 SEARCH-CLOSE-TABS
proxy.proxyGoogleTrends 是否为 Google Trends 请求设置代理 true(使用代理)
proxy.proxyBingTerms 是否为 Bing Terms 请求设置代理 true(使用代理)
设置项(Setting) 描述(Description) 默认值(Default)
globalTimeout 操作超时时间 30s
logExcludeFunc 日志排除的功能模块 SEARCH-CLOSE-TABS
proxy.proxyGoogleTrends 为 Google Trends 配置代理 true
proxy.proxyBingTerms 为 Bing Terms 配置代理 true

Webhook 通知设置(Webhook Settings)

设置项(Setting) 描述(Description) 默认值(Default)
webhook.enabled 是否启用 Discord 通知 false(禁用)
webhook.url Discord Webhook 链接 null(未设置)
conclusionWebhook.enabled 是否启用“执行总结”专属通知 false(禁用)
conclusionWebhook.url “执行总结”通知的 Webhook 链接 null(未设置)
设置项(Setting) 描述(Description) 默认值(Default)
webhook.enabled 启用 Discord 通知 false
webhook.url Discord Webhook 链接 null
conclusionWebhook.enabled 启用执行总结通知 false
conclusionWebhook.url 执行总结通知 Webhook 链接 null

✨ 功能特性

✨ 功能特性 动态Discord图标

账号管理

  • ✅ 多账号支持
  • ✅ 会话存储与持久化
  • ✅ 双重认证(2FA)支持
  • ✅ 无密码登录支持

自动化与控制

  • ✅ 无头浏览器运行(后台运行,无界面)
  • ✅ 集群支持(多账号同时运行)
  • ✅ 可配置任务选择
  • ✅ 代理支持
  • ✅ 自动定时执行(基于Docker)

搜索与活动

  • ✅ 桌面端与移动端搜索
  • ✅ 微软Edge浏览器搜索模拟
  • ✅ 基于地理位置的搜索查询
  • ✅ 模拟滚动与链接点击
  • ✅ 每日任务组完成
  • ✅ 促销活动参与
  • ✅ 打卡任务(PunchCard)完成
  • ✅ 每日签到
  • ✅ 阅读赚积分活动参与

问答与互动内容

  • ✅ 问答解题(10分制与30-40分制两种类型)
  • ✅ “二选一”问答(随机答案)
  • ✅ ABC问答解题
  • ✅ 投票任务完成
  • ✅ 点击赚积分任务

通知与监控

  • ✅ Discord机器人(Webhook)集成
  • ✅ 专属执行总结机器人(Webhook)
  • ✅ 全面日志记录
  • ✅ 带监控功能的Docker支持

账号与会话

  • 多账号支持
  • 持久化会话与浏览器指纹
  • 双重认证(2FA)支持与无密码登录选项

⚠️ 免责声明 动态Discord图标

自动化相关

风险自负! 使用自动化脚本可能导致你的微软奖励(Microsoft Rewards)账号被暂停或封禁。

  • 无头浏览器运行与集群功能
  • 可选择任务组
  • 代理支持与定时执行(基于Docker)

本脚本仅用于教育目的。作者对微软针对账号采取的任何措施不承担责任。

搜索与奖励

  • 桌面端与移动端搜索
  • 模拟浏览、滚动、点击
  • 每日任务组、促销活动、打卡任务、问答解题

互动功能

  • 问答解题(10分制与30-40分制两种类型)
  • 投票、ABC问答、“二选一”问答答题

通知功能

  • Discord机器人(Webhook)与执行总结机器人(Webhook)
  • 用于调试的详细日志

🤝 贡献指南

欢迎大家贡献代码,但请确保修改内容与现有配置系统兼容。本仓库主要用于v2版本的开发——有关功能开发与问题反馈,请在Discord(v2专属服务器)上协调沟通。

本项目主要供个人使用,但同样欢迎贡献。请确保所有修改均能与现有配置系统保持兼容。

Discord GitHub

Microsoft Rewards Script Logo

About

自动化 Microsoft Rewards 脚本,使用 TypeScript、Cheerio 和 Playwright 开发。

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages