【免费下载链接】rewards-farmerAutomation for MS Rewards based on https://youtu.be/4qdPcMNaioA项目地址https://gitcode.com/gh_mirrors/re/rewards-farmer点击查看免费下载rewards-farmer 是一个 Microsoft Rewards 自动刷分工具它用 Selenium 驱动 Edge 浏览器再通过 CDP 协议注入自定义请求头把浏览器伪装成 MSRewards 桌面客户端从而解锁仅桌面端可用的奖励任务并配合拟人化的鼠标轨迹和打字节奏来绕过自动化检测。这篇文章拆解它的全部伪装技巧。一、奖励网站凭什么识别自动化脚本在讲伪装之前先弄清楚检测方手里有什么证据。Selenium 驱动的浏览器默认会留下一串明显的自动化指纹rewards-farmer 的对策可以按指纹 → 对策一一对应检测点自动化留下的痕迹rewards-farmer 的对策源码位置页面脚本navigator.webdriver true--disable-blink-featuresAutomationControlledsrc/browser.py页面脚本被自动化测试软件控制信息条excludeSwitches移除enable-automationsrc/browser.py服务端请求缺少桌面端标识看不到桌面专属任务CDP 注入MSRewards/DesktopUser-Agentsrc/rewards_tasks.py行为分析打字瞬间完成、鼠标走直线随机打字间隔 贝塞尔轨迹 Fitts 定律src/mouse_trajectory.py页面状态窗口失焦时页面逻辑被暂停伪装document.hidden为可见src/tab_utils.py可以看到伪装分三个层次启动参数抹掉静态指纹 → CDP 协议改写请求身份 → 拟人化输入覆盖动态行为。下面逐层拆解。二、第一层伪装用启动参数移除 Selenium 自动化指纹浏览器还没打开之前指纹就已经存在了。rewards-farmer 在 src/browser.py 的build_options中做了三件事options.add_experimental_option(excludeSwitches, [enable-automation]) options.add_experimental_option(useAutomationExtension, False) options.add_argument(--disable-blink-featuresAutomationControlled)excludeSwitches移除enable-automationSelenium 默认会给浏览器加这个开关导致页面顶部出现黄条提示Chrome 正在受到自动化测试软件的控制任何页面脚本也都能读到它。移除后这条最显眼的自曝信息直接消失。useAutomationExtension设为False不加载 Selenium 的自动化扩展进一步消除扩展层面的特征。--disable-blink-featuresAutomationControlled这是关键一步。Chromium 在自动化模式下会把navigator.webdriver置为true而这一特征正是由 Blink 的AutomationControlled特性控制的。禁用该特性后页面里执行navigator.webdriver会返回false大多数反爬虫检测库的第一道判断就此失效。此外启动参数里还有一个不那么伪装但同样重要的细节--accept-langen-USsrc/browser.py。脚本靠按钮的英文文案来定位元素锁定英文界面能避免用户系统语言不同导致任务全部找不到入口。三、第二层伪装核心CDP 协议把 Edge 改成 MSRewards 桌面客户端如果说第一层只是洗白那这一层就是真正的变身——它要解决的不是我是不是浏览器而是我是什么客户端。Microsoft Rewards 有一些任务只对官方桌面客户端开放服务端靠请求头来区分来源。普通的 Selenium 请求发出的是标准 Edge 浏览器的 User-Agent服务端一看就知道你只是个浏览器于是这些任务根本不出现。rewards-farmer 的解法藏在 src/rewards_tasks.py 的初始化代码里短短几行就是全文最精华的部分# Set headers to spoof the rewards app for the rewards only quests self.driver.execute_cdp_cmd(Network.enable, {}) headers { User-Agent: Mozilla/5.0 ... Edg/151.0.0.0 MSRewards/Desktop/1.1.0, X-Rewards-Source: msrewards-desktop, } self.driver.execute_cdp_cmd(Network.setExtraHTTPHeaders, {headers: headers})这里用到了CDPChrome DevTools Protocol的两个命令这也是 Selenium 4 的强大之处——execute_cdp_cmd让你绕过 WebDriver 的标准接口直接向浏览器下发协议级指令Network.enable先开启网络域。这是前置条件不开启的话setExtraHTTPHeaders不会生效。Network.setExtraHTTPHeaders给该目标的所有出站 HTTP 请求附加额外请求头。注意是所有请求——导航、XHR、图片、静态资源整个会话里发出的每个包都带着这两行头伪装是全局的不存在漏网之鱼。两个头的分工很清晰User-Agent 末尾的MSRewards/Desktop/1.1.0标准 Edge 的 UA 只到Edg/151.0.0.0为止。官方桌面客户端在这个位置追加了MSRewards/Desktop标识rewards-farmer 原样照抄让请求看起来来自桌面应用本体。自定义头X-Rewards-Source: msrewards-desktop这是桌面端独有的来源声明等价于向服务端出示身份证。 为什么用 CDP 而不是 Selenium 的add_header思路因为 Selenium 本身没有修改任意请求头的能力而 CDP 是浏览器对自动化端开放的底层控制台——凡是 DevTools 能做的execute_cdp_cmd基本都能做。这也提示了一个通用技巧WebDriver 接口做不到的伪装往往可以直接下探到 CDP 层完成。四、第三层伪装让鼠标和键盘活过来改完了请求头剩下的风险在行为上。真人操作和脚本操作的区别不在点了哪个按钮而在怎么点的。rewards-farmer 在这上面下了相当的功夫。4.1 Fitts 定律驱动的鼠标轨迹mouse_trajectory.py 是项目里最有极客味的模块它要回答一个问题从 A 点到 B 点真人的鼠标怎么走它的做法分四步src/mouse_trajectory.py三次贝塞尔曲线起点、终点固定两个控制点在起点/终点附近随机偏移生成一条自然的弧线而不是直线随机扭曲区间以约 15% 的频率在路径上插入 1~5 像素的微小偏离模拟人手的不稳定逻辑斯谛变换用 sigmoid 函数重排速度曲线让移动呈现先加速、末端减速的真人节奏Fitts 定律定时长移动耗时不是拍脑袋的固定值而是按运动学公式MT a b·ID其中ID log2(2D/W)计算——目标越远越小耗时越长src/mouse_trajectory.py。常数a0.5500、b0.1276也不是随便填的而是 src/fitts_law.py 提供了一个校准程序让操作者反复点击屏幕上的随机目标并记录真实移动时间用最小二乘回归拟合出个人参数。也就是说脚本的鼠标节奏是按人的手速标定的。4.2 带犹豫的打字节奏mimic_typing.py 处理输入节奏。send_keys时每个按键之间会插入随机停顿从三档间隔里按权重抽取0 ~ 0.1s概率 0.377连击、熟练的词0.1 ~ 0.2s概率 0.5492正常打字0.2 ~ 0.4s概率 0.0738偶尔的卡壳这个三档分布比固定间隔更接近真实打字的统计特征也避免了脚本最典型的匀速机器感。4.3 其他细节窗口焦点伪装src/tab_utils.py 的ensure_focus通过Object.defineProperty把document.hidden和visibilityState钉死为可见/聚焦。很多页面的前台任务在检测到窗口失焦后会暂停逻辑这招保证脚本切到后台比如虚拟桌面挂机时页面依然认为自己在前台。搜索词后缀-noaisrc/rewards_tasks.py 每次提交的查询都追加-noai让结果页不展开 AI 回答卡片避免额外的交互和流量特征同时保持搜索结果结构稳定、便于定位元素。五、快速上手运行 rewards-farmer了解了原理跑起来并不复杂。前置要求Python 3.12、Poetry、已安装的 Microsoft Edge自带 webdriver。git clone https://gitcode.com/gh_mirrors/re/rewards-farmer cd rewards-farmer poetry install然后按 README.md 的建议走三步初始化配置python src/init-config.py交互式设置各项参数手动登录一次运行python src/main.py等页面打开后 Ctrl-C 退出在弹出的 Edge 窗口里登录你的 Microsoft 账号Bing 和 rewards.bing.com 都要登录让登录态保存在data-dir的专用 profile 里正式运行再次运行python src/main.py脚本即开始自动完成每日任务。几个常用可选项搜索词来源QUERY_SOURCEtrends使用 Google Trends / Wikipedia / Bing 自动补全无需任何 API KeyQUERY_SOURCEllm则调用 OpenRouter 或本地 Ollama 生成搜索词配置见 README.md 的.env说明无头模式REWARDS_HEADLESS1配合 src/browser.py 中显式设置的1920x1080窗口尺寸指针代码按视口坐标工作Dockerdocker compose build后直接跑无需在宿主机装 Edge详见 docker-compose.yml多账号REWARDS_ACCOUNTSpersonal,spare每个账号一个独立 profile 目录逐个顺序执行。⚠️ 最后必须提醒README 明确声明风险自负——使用自动化脚本刷取奖励可能违反服务条款Microsoft 有权对账号采取处罚措施。学习其反检测与拟人化技术本身很有价值但请遵守目标平台的使用条款。六、总结三层伪装缺一不可rewards-farmer 的伪装思路可以浓缩成一张表层次目标关键技术启动参数抹掉静态自动化指纹excludeSwitches、disable-blink-featuresAutomationControlledCDP 请求头改写我是谁的身份Network.setExtraHTTPHeaders注入桌面客户端 UA行为拟人化动态行为不露馅Fitts 定律轨迹、三档打字间隔、焦点伪装其中最有借鉴意义的是第二层当标准 WebDriver 接口无法改变请求身份时execute_cdp_cmd让你直接下探到 CDP 协议层用Network.enableNetwork.setExtraHTTPHeaders两行代码就完成了一次浏览器 → 桌面客户端的完整变身。这正是 CDP 协议在自动化对抗中最锋利的用法。赞分享【免费下载链接】rewards-farmerAutomation for MS Rewards based on https://youtu.be/4qdPcMNaioA项目地址https://gitcode.com/gh_mirrors/re/rewards-farmer点击查看免费下载相关推荐AirCard 如何伪装成 Books 同步AirTrafficcom.apple.atc同步协议全流程拆解AirCard 如何伪装成 Books 同步AirTrafficcom.apple.atc同步协议全流程拆解 AirCardAirCard Windowrdesktop远程桌面协议客户端安装与使用指南rdesktop远程桌面协议客户端安装与使用指南 一、项目目录结构及介绍 rdesktop作为一个开源的UNIX平台远程桌面协议 RDP 客户端其项目在Gi网络与通信Apate文件伪装工具三分钟学会文件格式伪装技巧Apate文件伪装工具三分钟学会文件格式伪装技巧 Apate是一款基于.NET开发的智能文件格式伪装工具能够快速安全地改变文件外观格式帮助用户轻松绕过各种桌面应用上一篇Remotion错误处理终极指南7个常见问题排查与调试技巧下一篇Homebridge HomeKit Secure Video支持实现加密视频存储创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考