您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动完成微软Rewards每日搜索任务,每次运行时获取热门词,随机选择搜索词
// ==UserScript== // @name Microsoft Bing Rewards每日任务脚本 自用修改 by 诺子小姐 // @version V1.3 // @description 自动完成微软Rewards每日搜索任务,每次运行时获取热门词,随机选择搜索词 // @note 更新于 2025年07月15日 - 增加随机搜索词功能 // @author 诺子 // @match https://*.bing.com/* // @exclude https://rewards.bing.com/* // @license GNU GPLv3 // @icon https://www.bing.com/favicon.ico // @connect aa1.cn // @run-at document-end // @grant GM_registerMenuCommand // @grant GM_addStyle // @grant GM_openInTab // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @namespace https://greasyfork.org/zh-CN/scripts/477107 // ==/UserScript== var max_rewards = Math.floor(Math.random() * (45 - 35 + 1)) + 35; // 生成随机重复执行的次数(35 到 45 次之间) // 每执行4次搜索后插入暂停时间,解决账号被监控不增加积分的问题 var pause_time = Math.floor(Math.random() * (900000 - 600000 + 1)) + 600000; // 生成随机暂停时间(10 到 15 分钟之间) var search_words = []; //搜索词 var Hot_words_apis = "https://v.api.aa1.cn/api/"; // 新API接口地址 // 默认搜索词,热门搜索词请求失败时使用 var default_search_words = [ // 自然景观与地理知识类 "壶口瀑布冬季结冰期是几月", "张家界天门山盘山公路有多少弯", "桂林阳朔十里画廊最佳徒步路线", "青海湖湟鱼洄游最佳观赏时间", "新疆独库公路每年开放几个月", // 省略部分默认搜索词(保持原有内容) ]; // 新API支持的热门词来源 var keywords_source = [ 'bilibili-rs', // B站热搜 'weibo-hot', // 微博热搜 'baidu-hot', // 百度热搜 'douyin-hot', // 抖音热搜 'zhihu-hot' // 知乎热搜 ]; var current_source_index = 0; // 当前搜索词来源的索引 /** * 从新API获取热门搜索词 * @returns {Promise<string[]>} 返回搜索到的关键词列表或默认搜索词列表 */ async function getHotKeywords() { while (current_source_index < keywords_source.length) { const source = keywords_source[current_source_index]; const url = `${Hot_words_apis}${source}/`; // 构建API请求地址 try { const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP错误: ${response.status}`); } const data = await response.json(); // 处理不同API返回的数据结构 let keywords = []; if (Array.isArray(data)) { // 处理数组类型返回(如B站热搜) keywords = data.map(item => { if (typeof item === 'string') return item; if (item.title) return item.title; if (item.name) return item.name; return JSON.stringify(item).substring(0, 20); // 保底处理 }); } else if (data.data && Array.isArray(data.data)) { // 处理带data字段的返回 keywords = data.data.map(item => item.title || item.name || ''); } // 过滤空值并去重 keywords = [...new Set(keywords.filter(k => k.trim().length > 0))]; if (keywords.length > 0) { console.log(`从${source}获取到${keywords.length}个关键词`); return keywords; } } catch (error) { console.error(`获取${source}热门词失败:`, error); } current_source_index++; // 尝试下一个来源 } // 所有来源都失败时使用默认搜索词 console.error('所有热门词来源请求失败,使用默认搜索词'); return default_search_words; } // 执行搜索初始化 getHotKeywords() .then(keywords => { search_words = keywords; exec(); }) .catch(error => { console.error('初始化失败:', error); search_words = default_search_words; exec(); }); // 定义菜单命令:开始 GM_registerMenuCommand('开始', function () { GM_setValue('Cnt', 0); location.href = "https://www.bing.com/?br_msg=Please-Wait"; }, 'o'); // 定义菜单命令:停止 GM_registerMenuCommand('停止', function () { GM_setValue('Cnt', max_rewards + 10); }, 'o'); // 搜索词混淆处理 function AutoStrTrans(st) { let yStr = st; let rStr = ""; // 可根据需要添加混淆字符 let zStr = ""; let prePo = 0; for (let i = 0; i < yStr.length;) { let step = parseInt(Math.random() * 5) + 1; if (i > 0) { zStr += yStr.substr(prePo, i - prePo) + rStr; prePo = i; } i += step; } if (prePo < yStr.length) { zStr += yStr.substr(prePo); } return zStr; } // 生成随机字符串 function generateRandomString(length) { const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; let result = ''; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } return result; } // 平滑滚动到页面底部 function smoothScrollToBottom() { window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' }); } // 主执行函数(增加随机搜索词功能) function exec() { let randomDelay = Math.floor(Math.random() * 20000) + 10000; // 10-30秒随机延迟 let randomString = generateRandomString(4); let randomCvid = generateRandomString(32); 'use strict'; // 初始化计数器 if (GM_getValue('Cnt') === null) { GM_setValue('Cnt', max_rewards + 10); } let currentSearchCount = GM_getValue('Cnt'); if (currentSearchCount < max_rewards) { // 更新页面标题显示进度 const title = document.getElementsByTagName("title")[0]; title.innerHTML = `[${currentSearchCount} / ${max_rewards}] ${title.innerHTML}`; smoothScrollToBottom(); GM_setValue('Cnt', currentSearchCount + 1); setTimeout(() => { // 关键修改:从搜索词列表中随机挑选一个(而非顺序循环) let wordIndex = Math.floor(Math.random() * search_words.length); let nowtxt = search_words[wordIndex]; nowtxt = AutoStrTrans(nowtxt); // 构建搜索URL const searchUrl = `https://www.bing.com/search?q=${encodeURI(nowtxt)}&form=${randomString}&cvid=${randomCvid}`; // 每5次搜索添加一次暂停 if ((currentSearchCount + 1) % 5 === 0) { console.log(`第${currentSearchCount + 1}次搜索(随机词:${nowtxt}),进入暂停期`); setTimeout(() => { location.href = searchUrl; }, pause_time); } else { console.log(`第${currentSearchCount + 1}次搜索(随机词:${nowtxt})`); location.href = searchUrl; } }, randomDelay); } else { console.log(`已完成${max_rewards}次搜索任务`); } }