// ==UserScript== // @name 脚本猫脚本/网站/插件推荐助手(持续更新中......) // @namespace http://scriptcat.org // @version 1.9900.000.0 // @description 脚本猫上好用脚本推荐工具,弹窗展示+黑名单避雷###(敲重点:安装后并非没有窗口,浏览器右下角会出现紫色按钮,点击即可弹出窗口。) // @author ScriptCat User // @match *://*/* // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @license MIT // ==/UserScript== (function() { 'use strict'; // 推荐数据 - 按你提供的最新内容修改 const recommendData = `1. 学习通(刷课/视频+刷题): 编号:00001 类型:教育类 网址:https://scriptcat.org/zh-CN/script-show-page/2453 使用教程:待更新...... [说明:暂无......] 2. 各种文库下载器(打勾可用,打叉不可用): 编号:10001 类型:办公类、教育类 网址:https://scriptcat.org/zh-CN/script-show-page/2787 使用教程:待更新...... 适用范围:百度文库√...... [说明:测试了部分网站,其他网站待测试......] 3. 小红书优化: 编号:20001 类型:浏览器优化类 网址:https://scriptcat.org/zh-CN/script-show-page/2538 使用教程:待更新...... [说明:暂无......] 4. BZ综合网页搜索脚本: 编号:30001 类型:工具类 网址:https://scriptcat.org/zh-CN/script-show-page/3006 使用教程:待更新...... [说明:暂无......] 5.智能翻译助手: 编号:30002 类型:工具类 网址:https://scriptcat.org/zh-CN/script-show-page/5633 使用教程:无 缺点:就是切换语言翻译完,语言选项也跟着翻译了,万一翻译成的语言中文不认识怎么切回简体中文?逻辑有点问题 [说明:按钮在屏幕左上角] 6.VPN: 编号:20002 类型:网络加速类 网址:https://microsoftedge.microsoft.com/addons/detail/vpn/dalhgafbhpdolibignjckpmiejgfddjp 使用教程:待更新...... [说明:PC端edge上好用,移动端edge不好用] 7.iTab新标签页: 编号:30003 类型:浏览器优化类 网址:https://microsoftedge.microsoft.com/addons/detail/itab%E6%96%B0%E6%A0%87%E7%AD%BE%E9%A1%B5/inedkoakiaeepjoblbiiipedngonadhn 用途:iTab 组件式图标自定义您的浏览器的标签页,精美日历、炫酷天气、每日头条、海量壁纸、常用网址随心订制等 (大白话:改善edge主页的一个好东西,有各种小组件、实用功能/网站、壁纸等) 使用教程:待更新...... [说明:暂无......] 8.微软积分商城签到(改进版): 编号:30004 类型:实用工具类 网址:https://scriptcat.org/zh-CN/script-show-page/5559 用途:每天在后台自动完成 Microsoft Rewards 任务获取积分奖励,✅签入、✅阅读、✅活动、✅搜索 使用教程:待更新...... [说明:暂无......] 9.短视频榜单: 编号:40001 类型:资讯休闲类 网址:https://www.xinpianchang.com/discover/article 用途:查看热门短视频榜单 使用教程:无 [说明:暂无......] 10.《城市租房生存指南》: 编号:40002 类型:生活实用类 网址:https://zufang.ababtools.com/ 用途:找到一个称心如意的窝,咱们得先学会找房子的门道 使用教程:①进网址后点击开始阅读,其他的不要乱点,可能是垃圾广告/网站,下边有目录,可以点击跳转对应页面阅读, ②进网址后点下载电子书,可以微信扫码,查看更多内容,支付一块钱可以下载到本地保存查看/打印出来查看 ③1块钱看你们自己了,萝卜青菜各有所爱 ④...... [说明:暂无......] 黑名单: 1.抖音优化:https://scriptcat.org/zh-CN/script-show-page/2534 2.超星学习通九九助手[AI答题][一键启动][最小化运行]:https://scriptcat.org/zh-CN/script-show-page/1127 3.右键链接复制器 增强版:https://scriptcat.org/zh-CN/script-show-page/5967#google_vignette 4.【最强无套路脚本】你能看见多少我能下载多少&下载公开免费的PPT、PDF、DOC、TXT等文件:https://scriptcat.org/zh-CN/script-show-page/3046 [说明:安装运行后,没有后台运行,没有前端弹窗,不会用,脚本说明看了也不会用,没招了] 5.重要事件倒计时:https://scriptcat.org/zh-CN/script-show-page/1506 [说明:安装运行后,右上角有几行字,"倒计时结束,请重新设置"之类的话,但是没有设置按钮,用不了]`; // 解析数据 - 修复所有字段解析问题(支持多行用途/教程、字段顺序不固定) function parseData(text) { const scripts = []; const blacklist = []; const lines = text.split('\n'); let currentScript = null; let inBlacklist = false; let multiLineMode = null; // 用于处理多行字段:'purpose'/'tutorial'/null lines.forEach((line) => { const trimmedLine = line.trim(); if (!trimmedLine && !multiLineMode) return; // 空行跳过(多行模式下不跳过) // 检测黑名单开始 if (trimmedLine === '黑名单:') { inBlacklist = true; multiLineMode = null; return; } // 处理黑名单 if (inBlacklist) { const match = trimmedLine.match(/(\d+)\.(.*?):(https:\/\/\S+)/); if (match) { blacklist.push({ name: match[2].trim(), url: match[3], note: '' }); } else if (trimmedLine.startsWith('[说明:') && blacklist.length > 0) { blacklist[blacklist.length - 1].note = trimmedLine.substring(3, trimmedLine.length - 1).trim(); } return; } // 处理推荐脚本 const newScriptMatch = trimmedLine.match(/^(\d+)\.\s*(.+?)(:|$)/); if (newScriptMatch) { // 保存上一个脚本 if (currentScript) scripts.push(currentScript); // 创建新脚本 currentScript = { id: newScriptMatch[1], name: newScriptMatch[2].trim(), number: '', url: '', tutorial: '', scope: '', note: '暂无......', purpose: '', 缺点: '', type: '其他' }; multiLineMode = null; return; } if (!currentScript) return; // 处理多行字段的补充内容 if (multiLineMode) { // 遇到新的属性行时,退出多行模式 if (trimmedLine.startsWith('编号:') || trimmedLine.startsWith('类型:') || trimmedLine.startsWith('网址:') || trimmedLine.startsWith('用途:') || trimmedLine.startsWith('使用教程:') || trimmedLine.startsWith('缺点:') || trimmedLine.startsWith('适用范围:') || trimmedLine.startsWith('[说明:')) { multiLineMode = null; } else if (trimmedLine.startsWith('(大白话:')) { // 大白话属于用途的补充,直接拼接 currentScript.purpose += '\n' + trimmedLine.substring(4, trimmedLine.length - 1).trim(); return; } else { // 追加到当前多行字段 if (multiLineMode === 'purpose') currentScript.purpose += '\n' + trimmedLine; if (multiLineMode === 'tutorial') currentScript.tutorial += '\n' + trimmedLine; return; } } // 解析单个属性行 if (trimmedLine.startsWith('编号:')) { currentScript.number = trimmedLine.replace('编号:', '').trim(); } else if (trimmedLine.startsWith('类型:')) { currentScript.type = trimmedLine.replace('类型:', '').trim(); } else if (trimmedLine.startsWith('网址:')) { currentScript.url = trimmedLine.replace('网址:', '').trim(); } else if (trimmedLine.startsWith('用途:')) { currentScript.purpose = trimmedLine.replace('用途:', '').trim(); multiLineMode = 'purpose'; // 进入用途多行模式 } else if (trimmedLine.startsWith('使用教程:')) { currentScript.tutorial = trimmedLine.replace('使用教程:', '').trim(); multiLineMode = 'tutorial'; // 进入教程多行模式 } else if (trimmedLine.startsWith('适用范围:')) { currentScript.scope = trimmedLine.replace('适用范围:', '').trim(); } else if (trimmedLine.startsWith('缺点:')) { currentScript.缺点 = trimmedLine.replace('缺点:', '').trim(); } else if (trimmedLine.startsWith('[说明:') && trimmedLine.endsWith(']')) { currentScript.note = trimmedLine.substring(3, trimmedLine.length - 1).trim(); } }); // 保存最后一个脚本 if (currentScript) scripts.push(currentScript); return { scripts, blacklist }; } const { scripts, blacklist } = parseData(recommendData); // 添加样式(优化多行文本显示) GM_addStyle(` /* 全局样式重置 */ .script-rec-modal, .script-rec-btn, .script-rec-window { box-sizing: border-box; } /* 悬浮按钮 */ .script-rec-btn { position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 50%; border: none; color: white; font-size: 24px; cursor: pointer; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); z-index: 999999; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; } .script-rec-btn:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6); } /* 模态窗口背景 */ .script-rec-modal { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 999999; justify-content: center; align-items: center; backdrop-filter: blur(5px); } .script-rec-modal.active { display: flex; } /* 窗口 */ .script-rec-window { background: white; width: 90vw; max-width: 800px; max-height: 85vh; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); display: flex; flex-direction: column; } /* 窗口头部 */ .script-rec-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px 25px; display: flex; justify-content: space-between; align-items: center; } .script-rec-title { font-size: 20px; font-weight: 600; display: flex; align-items: center; gap: 10px; } .script-rec-header-buttons { display: flex; gap: 10px; align-items: center; } .script-rec-developer-button { background: rgba(255,255,255,0.2); border: none; color: white; padding: 8px 16px; border-radius: 20px; cursor: pointer; font-size: 13px; font-weight: 500; transition: all 0.2s ease; } .script-rec-developer-button:hover { background: rgba(255,255,255,0.3); } .script-rec-close { background: rgba(255,255,255,0.2); border: none; color: white; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; font-size: 20px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; } .script-rec-close:hover { background: rgba(255,255,255,0.3); } /* 窗口内容 */ .script-rec-body { flex: 1; overflow-y: auto; padding: 25px; } /* 搜索栏 */ .script-rec-search { margin-bottom: 20px; width: 100%; } .script-rec-search input { width: 100%; padding: 14px 18px; border: 2px solid #e0e0e0; border-radius: 12px; font-size: 15px; outline: none; transition: all 0.3s ease; background: white; box-sizing: border-box; } .script-rec-search input:focus { border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); } /* 类型筛选标签 */ .script-rec-type-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; } .script-rec-type-tab { padding: 8px 16px; border: 1px solid #e0e0e0; border-radius: 20px; background: white; cursor: pointer; font-size: 13px; transition: all 0.3s ease; color: #555; } .script-rec-type-tab:hover { border-color: #667eea; color: #667eea; } .script-rec-type-tab.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-color: #667eea; color: white; } .script-rec-blacklist-tab { background: #fff3cd; border-color: #ffeeba; color: #856404; } .script-rec-blacklist-tab:hover { background: #ffeeba; border-color: #ffc107; color: #856404; } /* 脚本列表 */ .script-rec-list { display: grid; gap: 15px; } /* 脚本项 */ .script-rec-item { background: #f8f9fa; border: 2px solid transparent; border-radius: 12px; padding: 18px; transition: all 0.3s ease; cursor: pointer; } .script-rec-item:hover { border-color: #667eea; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(102, 126, 234, 0.15); } /* 脚本头部 */ .script-rec-item-header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 10px; } .script-rec-item-name { font-size: 17px; font-weight: 600; color: #333; } .script-rec-item-number { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 4px 12px; border-radius: 15px; font-size: 13px; font-weight: 600; } /* 脚本信息 - 优化多行文本显示 */ .script-rec-item-info { margin-top: 10px; } .script-rec-item-row { display: flex; margin-bottom: 8px; font-size: 14px; line-height: 1.6; } .script-rec-item-label { color: #888; min-width: 80px; flex-shrink: 0; /* 防止标签被压缩 */ } .script-rec-item-value { color: #555; flex: 1; white-space: pre-line; /* 支持换行符显示多行文本 */ word-break: break-word; /* 长文本自动换行 */ } /* 脚本说明 */ .script-rec-item-note { background: #fff3cd; padding: 10px 14px; border-radius: 8px; margin-top: 12px; font-size: 13px; color: #856404; line-height: 1.5; } /* 脚本操作按钮 */ .script-rec-item-actions { display: flex; gap: 10px; margin-top: 15px; } .script-rec-btn-primary { flex: 1; padding: 12px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 14px; transition: all 0.2s ease; } .script-rec-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); } .script-rec-btn-secondary { padding: 12px 20px; background: #e9ecef; color: #555; border: none; border-radius: 8px; cursor: pointer; font-weight: 500; font-size: 14px; transition: all 0.2s ease; } .script-rec-btn-secondary:hover { background: #dee2e6; } /* 无结果提示 */ .script-rec-no-result { text-align: center; padding: 50px 20px; color: #888; } .script-rec-no-result-icon { font-size: 60px; margin-bottom: 15px; } /* 分类标题 */ .script-rec-section-title { font-size: 16px; font-weight: 600; color: #333; margin: 25px 0 15px; padding-bottom: 10px; border-bottom: 2px solid #e0e0e0; } /* 黑名单项 */ .script-rec-blacklist-item { background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 8px; padding: 15px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 10px; } .script-rec-blacklist-content { display: flex; justify-content: space-between; align-items: center; } .script-rec-blacklist-name { color: #721c24; font-weight: 500; } .script-rec-blacklist-badge { background: #dc3545; color: white; padding: 3px 10px; border-radius: 12px; font-size: 12px; } .script-rec-blacklist-actions { display: flex; gap: 8px; justify-content: flex-end; } .script-rec-blacklist-btn { border: none; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 500; } .script-rec-blacklist-btn-primary { background: #dc3545; color: white; } .script-rec-blacklist-btn-primary:hover { background: #c82333; } .script-rec-blacklist-btn-secondary { background: #6c757d; color: white; } .script-rec-blacklist-btn-secondary:hover { background: #5a6268; } .script-rec-blacklist-note { font-size: 12px; color: #6c757d; margin: 8px 0; line-height: 1.4; } /* 统计信息 */ .script-rec-stats { display: flex; gap: 20px; margin-bottom: 20px; padding: 15px; background: #f8f9fa; border-radius: 10px; } .script-rec-stat { text-align: center; } .script-rec-stat-value { font-size: 24px; font-weight: 700; color: #667eea; } .script-rec-stat-label { font-size: 12px; color: #888; margin-top: 4px; } /* 滚动条 */ .script-rec-body::-webkit-scrollbar { width: 8px; } .script-rec-body::-webkit-scrollbar-track { background: #f1f1f1; } .script-rec-body::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 4px; } .script-rec-body::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } /* 响应式设计 */ @media (max-width: 768px) { .script-rec-window { width: 95vw; max-height: 90vh; } .script-rec-btn { bottom: 20px; right: 20px; } } /* 开发者寄语弹窗 */ .script-rec-developer-popup { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 9999999; display: flex; justify-content: center; align-items: center; } .script-rec-developer-content { background: white; width: 85vw; max-width: 500px; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } .script-rec-developer-header { background: #667eea; color: white; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; } .script-rec-developer-header h3 { margin: 0; font-size: 16px; font-weight: 600; } .script-rec-developer-close { font-size: 20px; cursor: pointer; } .script-rec-developer-body { padding: 20px; max-height: 60vh; overflow-y: auto; } .script-rec-developer-body p { margin: 10px 0; line-height: 1.5; color: #333; font-size: 14px; } .script-rec-developer-footer { padding: 15px 20px; background: #f5f5f5; text-align: center; } .script-rec-developer-btn { background: #667eea; color: white; border: none; padding: 10px 25px; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 14px; } .script-rec-developer-btn:hover { background: #5a6fd8; } `); // 创建UI function createUI() { // 创建悬浮按钮 const btn = document.createElement('button'); btn.className = 'script-rec-btn'; btn.innerHTML = '📋'; btn.title = '脚本推荐'; document.body.appendChild(btn); // 创建模态窗口 const modal = document.createElement('div'); modal.className = 'script-rec-modal'; modal.innerHTML = `
大家好,我是本脚本开发者,也是长期使用脚本猫的普通用户。
日常使用中发现平台脚本质量参差不齐,找实用脚本需要反复试错、浪费时间,因此我开发了这款工具:只推荐**实测好用**的优质脚本,同时拉黑劣质脚本,帮大家快速避坑、节省时间。
所有推荐脚本均经过亲自实测验证,稳定靠谱;脚本黑名单也会根据用户反馈和后续实测持续更新,欢迎大家积极反馈补充优劣脚本信息。
我的初心:让每位脚本猫用户都能轻松找到好用脚本,不用盲目筛选浪费精力,提升使用体验。后续会跟随脚本猫版本和大家需求,持续优化功能,感谢支持与使用❤️
联系方式:625716806 [(QQ,加好友请备注来意)]
QQ群:1067225399
[欢迎进群交流闲聊一切,但要合法合规(加群请备注来意,另外加群成功记得按照要求改名哦)]