Skip to content

Disaster-Terminator/RewardsCore

Repository files navigation

🎯 RewardsCore

自动化完成 Microsoft Rewards 任务,轻松赚取积分。

Python Playwright Maintained Open Source License

⚠️ 免责声明

本项目仅供学习和研究使用。使用自动化工具可能违反 Microsoft Rewards 服务条款,可能导致账号被限制或封禁。使用本工具造成的任何后果由使用者自行承担,作者不承担任何责任。

✨ 核心功能

🔍 智能搜索系统

  • 桌面端搜索: 自动完成20次桌面搜索任务
  • 智能适配: 自动检测登录状态,首次显示浏览器,后续后台运行
  • 反检测机制: 集成 playwright-stealth,模拟真实用户行为

📊 数据监控

  • 实时积分监控: 智能检测积分变化,实时监控任务完成情况
  • 会话持久化: 一次登录,长期使用,自动保存加密的登录状态
  • 健康监控: 内置性能监控,记录执行成功率、响应时间等指标
  • 进度跟踪: 阶段化进度显示,智能剩余时间估算,实时状态面板

🚀 智能调度

  • 定时执行: 支持每天固定时间自动执行
  • 随机调度: 避开高峰时段,随机时间执行(更安全)
  • 批量任务: 桌面+移动双重任务,最大化收益

📈 任务扩展

  • 日常任务: 自动发现并完成奖励任务(问答、调查、URL任务等)
  • 任务过滤: 智能过滤无效任务,只执行有效积分任务
  • 错误恢复: 失败任务自动跳过,继续执行其他任务

🔔 通知系统

  • 多渠道通知: 支持 Telegram、微信(Server酱)、WhatsApp 推送
  • 实时反馈: 任务完成情况、积分增长、异常提醒
  • 配置灵活: 可同时启用多种通知方式

🛠️ 系统架构

核心组件

采用模块化设计,核心组件包括:

  • MSRewardsApp: 主控制器,协调整个系统
  • TaskCoordinator: 任务协调器,管理执行流程
  • BrowserSimulator: 浏览器管理器,处理自动化
  • AccountManager: 账户管理器,处理登录状态
  • SearchEngine: 搜索引擎,执行搜索任务

各组件松耦合设计,支持独立测试和维护。

执行流程

完整执行流程

1. 系统初始化
   ├─ 加载配置文件
   ├─ 初始化所有组件
   └─ 启动健康监控

2. 浏览器管理
   ├─ 检查登录状态
   ├─ 需要登录时显示浏览器
   └─ 保存登录会话状态

3. 搜索任务执行
   ├─ 桌面端搜索 (20次)
   │  └─ 使用搜索词库+随机延迟

4. 日常任务执行
   ├─ 发现可用任务
   ├─ 过滤无效任务
   └─ 执行剩余任务

5. 生成报告
   ├─ 保存执行数据
   ├─ 发送通知
   └─ 清理资源

关键技术特性

🔄 会话管理策略

  • 智能检测: 自动检测已有会话,避免重复登录
  • 会话持久化: 加密保存登录状态,长期有效
  • 会话恢复: 意外退出后可从上次位置恢复

🎭 反检测机制

  • playwright-stealth: 隐藏自动化特征
  • 随机延迟: 搜索间隔随机化,模拟真实用户
  • 加权调度: 避开高峰时段,分散执行时间

📊 数据收集

  • 实时监控: 监控每次搜索后的积分变化
  • 智能分析: 识别积分异常,及时告警
  • 持久化存储: 日志和报告长期保存

🚀 快速开始

1. 环境准备

Windows 用户(推荐)

# 克隆仓库
git clone https://github.com/Disaster-Terminator/rewards-core.git
cd rewards-core

# 使用 Conda 环境(推荐)
conda env create -f environment.yml
conda activate rewards-core

# 验证安装
python tools/check_environment.py

Linux/macOS 用户

# 克隆仓库
git clone https://github.com/Disaster-Terminator/rewards-core.git
cd rewards-core

# 创建虚拟环境
python -m venv venv
source venv/bin/activate

# 安装依赖
pip install -e ".[dev]"

# 安装浏览器
playwright install chromium

2. 首次使用

# 复制配置文件
cp config.example.yaml config.yaml
# 编辑 config.yaml,填写账号信息

# 安装包(启用 rscore 命令)
pip install -e .

# 直接运行(生产环境,20次搜索)
rscore

运行模式说明

模式 桌面搜索 拟人行为 防检测 用途
默认 20 生产环境(用户使用)
--user 3 鲁棒性测试(开发调试用)
--dev 2 快速迭代调试(开发用)

登录方式

  • 手动登录(推荐):首次运行时浏览器打开,手动登录后保存会话
  • 自动登录:在 config.yaml 填写账号密码,自动完成登录(需配置 2FA 密钥)
  • 重新登录:删除 storage_state.json 文件后重新运行

3. 常用命令

# 生产环境(完整搜索,自动调度)
rscore

# 后台运行(服务器部署)
rscore --headless

# 用户测试模式(3次搜索,验证稳定性)
rscore --user

# 开发模式(快速调试)
rscore --dev

4. 查看执行结果

启动数据面板

streamlit run tools/dashboard.py

数据面板显示:

  • 今天的任务完成情况
  • 积分获得详情
  • 7天积分增长趋势
  • 执行状态和错误信息

🎯 实际使用场景

日常自动化任务

  • 目标: 每天自动完成所有任务,获得最大积分
  • 配置: 启用调度器,设置随机时间执行
  • 流程: 早上随机时间自动启动 → 完成所有任务 → 发送结果通知

详细文档

用户文档

  • 用户指南 - 完整的使用说明、配置详解和故障排除

技术文档

配置文件说明

# 基础配置
search:
  desktop_count: 20      # 桌面搜索次数
  mobile_count: 0        # 移动搜索次数(已禁用)
  wait_interval:
    min: 5              # 最小等待时间(秒)
    max: 15             # 最大等待时间(秒)

# 调度配置
scheduler:
  enabled: true           # 启用调度器
  mode: "scheduled"       # 定时模式
  scheduled_hour: 17      # 基准执行时间
  max_offset_minutes: 45  # 随机偏移范围

# 通知配置
notification:
  enabled: true
  telegram:
    enabled: true
    bot_token: "你的Bot Token"
    chat_id: "你的Chat ID"
  serverchan:
    enabled: true
    key: "你的SendKey"

⚠️ 风险提示与安全建议

⚠️ 重要声明

本项目仅供学习和研究使用。使用自动化工具可能违反 Microsoft Rewards 服务条款,可能导致账号被限制或封禁。使用本工具造成的任何后果由使用者自行承担。

✅ 推荐的安全使用方式

  • 使用本地运行: 在家庭网络环境中运行,避免使用云服务器
  • 禁用调度器: 在 config.yaml 中设置 scheduler.enabled: false
  • 限制执行频率: 不要短时间内多次运行
  • 监控日志: 定期检查执行日志,及时发现异常

❌ 避免的危险行为

  • 不要在云服务器上运行: 避免使用 AWS、Azure、GitHub Actions 等
  • 不要频繁手动运行: 避免一天内多次执行
  • 不要修改核心参数: 不要随意减少等待时间
  • 不要同时运行多个实例: 避免资源竞争

📊 安全配置建议

# 推荐的安全配置
search:
  wait_interval:
    min: 15            # 较长的最小等待时间
    max: 30            # 较长的最大等待时间

scheduler:
  mode: "random"       # 必须使用随机模式
  random_start_hour: 8
  random_end_hour: 22  # 工作时间内随机执行

notification:
  enabled: true       # 启用通知,及时发现问题

📁 项目结构

rewards-core/
├── src/                    # 源代码目录
│   ├── account/           # 账户管理
│   ├── browser/           # 浏览器控制
│   ├── infrastructure/    # 基础设施
│   ├── login/             # 登录模块
│   ├── search/            # 搜索模块
│   ├── tasks/             # 任务系统
│   └── ui/                # 用户界面
├── tests/                  # 测试目录
│   ├── fixtures/          # 测试固件
│   ├── integration/       # 集成测试
│   └── unit/              # 单元测试
├── tools/                  # 辅助工具
│   ├── check_environment.py
│   ├── dashboard.py
│   └── search_terms.txt
├── docs/                   # 文档目录
│   ├── guides/            # 用户指南
│   └── reports/           # 技术报告
├── logs/                   # 日志文件
├── main.py                 # 主程序入口
├── config.example.yaml     # 配置文件模板(复制为 config.yaml 使用)
└── requirements.txt        # Python 依赖

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🙏 致谢


如果觉得有用,请给个 ⭐ Star!

About

自动化完成 Microsoft Rewards 任务的 Python 工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages