news 2026/10/26 17:50:49

篡改猴安装配置与脚本使用全攻略:从油猴到用户脚本管理器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
篡改猴安装配置与脚本使用全攻略:从油猴到用户脚本管理器

简介:这份Chrome谷歌浏览器专用的篡改猴(Tampermonkey)离线安装资源,面向无法访问网上应用商店、需要在内网环境部署或将扩展批量安装到多台设备的用户。Tampermonkey本身不提供具体功能,而是通过运行社区编写的JavaScript脚本来去除广告、调整页面布局、增强网站功能,适合有一定网页定制需求的油猴爱好者。压缩包共82个文件,约1.52MB,包含31个json配置、29个png图标与界面素材、11个js逻辑脚本、5个html页面,以及license、css、txt、md等说明与样式文件,覆盖了扩展的配置数据、脚本逻辑、界面呈现和授权信息,结构较完整,便于了解Tampermonkey的组成方式。已有921人浏览学习。下载后即可获得可用于离线安装的Tampermonkey扩展文件,配合脚本库或自建脚本,可在Chrome中实现高度个性化的网页浏览体验;对想研究扩展包目录结构和脚本管理原理的用户,也是一份紧凑的参考样本。

1. 篡改猴不是一个下载器:先搞明白你装的是容器还是脚本

很多朋友从论坛里下载了一个“篡改猴安装包”,装完 Chrome 之后发现浏览器右上角多了一个黑红色图标,然后就开始发懵:这插件到底有什么用?其实篡改猴(Tampermonkey,常被写作油猴或者拼成 tempermongkey)本身不干任何“看得见”的事,它是一个用户脚本管理器,换句话说,它是一个装了脚本才能跑的容器。你的需求——倍速看视频、抓网页数据、去水印、屏蔽页面干扰——全部由后续安装的“用户脚本”来实现。这篇文章就是要把从装插件、找脚本、调参数到排坑的完整路径给你理顺,让你装完不是对着一个空图标发呆,而是真正能把脚本用起来。

2. Chrome 装上篡改猴:商店安装与开发者模式两条路径

2.1 从 Chrome 网上应用店安装:一条命令都不用敲的路径

常见做法是直接打开 Chrome 网上应用店,在搜索框里输入 Tampermonkey,找到标识为“Tampermonkey”的扩展,点“添加至 Chrome”。安装完成后浏览器右上角出现篡改猴的图标,这是最正规也最省心的路径,后续更新由 Chrome 自动处理,你在扩展管理页里基本不用操心。

装完之后做一次确认:在 Chrome 地址栏输入chrome://extensions/回车,应该能看到 Tampermonkey 的卡片,卡片上的开关处于开启状态。这里有个小提示:如果你的公司电脑或校园网环境有统一的扩展策略,商店安装可能会被拦下来,弹窗提示“您的管理员已禁用安装”。这时候不要急着折腾,先看看是不是真的被策略限制,是的话直接走下面那条离线路径。

2.2 开发者模式加载本地安装包:离线安装的实操步骤

网上流传的“篡改猴安装包”大多是 .crx 文件,很多人直接双击或者拖进 chrome://extensions/ 页面,结果 Chrome 报错“无法从该网站添加扩展”。这个报错根本原因是 Chrome 早就禁止了直接拖拽 .crx 安装第三方扩展,正确姿势是先解压再加载。具体步骤:

  1. 把下载到的 .crx 文件放到一个固定目录,比如D:\extensions\tampermonkey。
  2. 把扩展包后缀名从.crx改成.zip,然后用解压软件解压到上一步的目录里。
  3. 打开chrome://extensions/。
  4. 打开右上角的“开发者模式”开关。
  5. 点击左上角“加载已解压的扩展程序”,选择刚才解压出来的文件夹。

这里需要注意,解压后的目录里必须包含manifest.json文件,选错了层级 Chrome 会提示“清单文件缺失或不可读取”。我一般会顺手看一眼 manifest.json 里的version字段,确认安装包不是被第三方改过的版本。如果你在压缩包里看到什么“激活码”“使用说明.txt”,我建议直接删除整个压缩包——正规的篡改猴扩展包只有代码文件,不需要任何额外激活步骤。

2.3 装完先验证一件事:扩展管理页里的三个状态

不管通过哪条路径装完,都回到chrome://extensions/页面确认三件事:开关是否开启、Tampermonkey 图标是否出现在浏览器工具栏、扩展卡片的“已读取并更改网站数据”提示是否符合预期。如果三样都正常,说明插件本体没问题。如果插件装完但图标没出现,可以点扩展页右下角的拼图图标,把 Tampermonkey 固定到工具栏。这一步虽然琐碎,但很多人忽略之后会误以为安装失败。

3. 去 GreasyFork 找脚本:安装、启用与版本更新

3.1 脚本从哪来:GreasyFork 是主阵地

篡改猴本身没有内置脚本商店,用户脚本主要来自 GreasyFork 这个社区脚本站,另外 GitHub 上也有不少脚本。GreasyFork 上能搜到视频倍速、网页抓取、去水印、自动翻页、阅读模式这些高需求脚本。选脚本时不要只看安装量,重点看两个东西:最后更新日期和代码质量。如果一个脚本最近半年没更新,而目标网站经常改版,那大概率装上去之后会翻车。我自己的习惯是优先选“最后更新在三个月以内”的脚本,哪怕安装量少一些,至少作者的维护状态是活的。

3.2 安装一个用户脚本的完整流程

安装脚本不是下载文件,而是让篡改猴接管运行。流程是:在 GreasyFork 脚本详情页点绿色的“安装此脚本”按钮,篡改猴会打开一个类似扩展源码页面的确认面板,显示脚本名字、版本号、描述以及它需要访问的网站范围。确认面板里显示的内容很关键,尤其是“适用于”那一行,它决定了脚本在哪些网址上生效。确认之后点右上角“安装”,这个脚本就进入篡改猴的“已安装脚本”列表了。

这里有一个习惯值得养成:在点“安装此脚本”之前,先点脚本详情页右上角的“代码”按钮看一眼源码,确认里面没有明显的外链请求或加密代码。觉得不放心但又想用这个脚本,可以先把脚本下载到本地再导入:

# 在命令行中下载脚本源码(注意替换脚本对应的路径) curl -L "https://greasyfork.org/scripts/某个脚本/code/script.user.js" -o local-script.user.js

下载后打开篡改猴管理面板,进入“实用工具”标签页,在“导入”区域选择刚才保存的本地文件,点“导入”。这样做的价值在于脚本代码以明文形式留在你的电脑上,随时可以打开审查。注意下载时如果看到重定向到其他域名,直接中止操作,这种脚本通常有问题。

3.3 脚本的启用、停用与匹配规则

打开篡改猴管理面板的方式是点工具栏图标,再点“管理面板”。面板里列出了所有已安装脚本,每一行显示脚本名称、适用域、运行状态。状态开关是那一行右侧的滑块,关掉它脚本立即停止运行,但不会被删除。我经常用这个开关来分步排查问题:怀疑某个脚本导致页面卡顿时,先关掉它刷新页面,如果恢复正常,基本能锁定责任方。

适配范围是另一个值得理解的字段:它来源于脚本元数据里的@match声明,声明了脚本能跑在哪些域名上。比如一个脚本只匹配https://example.com/*,那么打开其他网站时,篡改猴图标会变灰,这是正常现象,不是坏了。反过来,如果你的页面明明匹配却图标灰色,需要检查脚本的启用开关和浏览器页面是否刷新过——旧页面不会自动注入新安装的脚本,必须手动刷新一次才能看到效果。

4. 篡改猴设置里的关键参数:更新频率、存储模式与运行时机

4.1 更新检查频率:脚本失效的预防针

篡改猴的更新机制是轮询脚本元数据里的更新地址。默认的检查频率比较保守,但对于高频使用的脚本来说,我建议改成“每天”甚至“每 12 小时”。路径:点篡改猴图标 → 管理面板 → 右上角设置(齿轮图标) → “通用 → 更新检查频率”。

频率选项适合场景我的建议
每 12 小时高频脚本、目标站经常改版适合视频站脚本
每天大多数日常脚本默认够用
每周很少使用的脚本减少打扰
手动不想让脚本频繁变动适合已经稳定的核心脚本

设成高频之后,脚本作者发布新版本时,你会在篡改猴图标上看到一个数字角标提示更新可用。去管理面板里点“检查更新”,更新前可以注意一下脚本的版本号变化,避免作者改坏的情况下自动更新到坏版本。

4.2 存储模式:localStorage 上限不够用时的选择

篡改猴脚本可以用GM_setValue和GM_getValue在本地保存数据,比如记住你上次看视频的倍速、记住某个开关状态。这些数据存到哪里,取决于篡改猴的设置项“存储模式”,位置在“通用 → 存储模式”,常见选项是本地存储(localStorage)和 IndexedDB。

我一般会直接选 IndexedDB。原因是 localStorage 有容量上限,数据写多了之后容易出现读写失败;而 IndexedDB 的容量大得多,而且 Chrome 对它的清理策略更友好。如果你同时装了多个浏览器,注意存储模式变更后,脚本通过GM_*读取到的数据是各自独立的,不会自动跨浏览器同步。想要同步数据,需要脚本作者额外接入云同步,这是另一层话题。

4.3 脚本运行模式:文档结束时注入为什么最稳

“脚本运行模式”在设置里其实属于高级选项,但它决定了很多脚本是不是会“看到页面时已经太晚了”。全局运行模式的选项一般是这三类:

  • 立即注入:在页面文档刚开始解析时就执行脚本,适合拦截请求、提前注入样式这类需求。
  • 文档结束:在 DOM 解析完成后注入,此时大部分元素已经存在。
  • 页面空闲:在页面 onload 之后注入,适合不着急跑的脚本。

如果你不知道选什么,我建议全局模式保持“文档结束”。这个模式在“元素是否已经存在”和“脚本是否执行得太晚”之间取得了最好平衡。给一个具体场景:你的脚本要对页面里所有视频设置倍速,如果脚本在document-start就执行,此时<video>元素可能还没被解析出来,document.querySelectorAll('video')返回空数组,脚本等于白跑。而document-end时 DOM 解析完成,视频元素基本都在了。

单个脚本可以通过元数据里的@run-at覆盖全局设置。例如需要提前拦截请求的脚本,在代码头部加上这一段:

// ==UserScript== // @name 请求拦截演示 // @match https://video-site.com/* // @run-at document-start // @grant none // ==/UserScript== (function() { 'use strict'; // 此时 document.body 可能还不存在, // 所以不要在这里直接操作 DOM。 })();

注意我代码注释里写的坑:document-start时document.body可能为null,想操作 DOM 必须等DOMContentLoaded事件。很多新手把全局模式改成“立即注入”后脚本各种报错,就是因为没理解这一点。全局设置和单脚本设置同时存在时,开发者工具里看脚本执行顺序最直观:Ctrl+Shift+I 打开控制台,在脚本里加上console.log('脚本已执行'),刷新页面看打印时机,就能判断注入时机对不对。

5. 篡改猴常见问题与避坑:5 条高频踩坑记录

5.1 脚本装了但页面没反应:先刷新再怀疑安装

现象:新安装的脚本明明显示已启用,打开目标网站却看不到任何效果。原因:这是最高频的坑,不是脚本坏了,而是页面在脚本安装之前已经打开,Chrome 不会把新注入的脚本塞进一个已经加载完的页面。解决:在目标页面按一次 F5 或者 Ctrl+R 强制刷新,脚本立刻生效。如果刷新后依然没反应,再检查管理面板里脚本的适用域写的是不是当前网址,@match对子域名是严格匹配的,https://a.com/*不会作用于https://www.a.com/*。

5.2 扩展被浏览器自动停用:开发者模式扩展在重启后躺尸

现象:用本地解压方式装的篡改猴,第二天打开 Chrome 发现图标灰了,管理面板提示“此扩展程序可能已损坏”或者直接没出现在列表里。原因:新版 Chrome 对开发者模式加载的扩展有加固策略,凡是没上架官方商店的扩展,重启后可能被自动停用,这是浏览器层面的安全设计,不是你的安装操作有问题。解决:最省心的路径是卸载本地版,去 Chrome 网上应用店装官方版;如果一定要用本地版,每次重启后手动回到chrome://extensions/重新开启一次开关。这个坑没有绕过的好办法,别相信某些教程说的“关掉自动更新就能解决”。

5.3 脚本更新后反而失效:作者改坏了或站点改版了

现象:某天脚本自动更新到新版本,结果原本正常的功能突然失效,甚至页面报错。原因:脚本更新后,要么作者引入了 bug,要么目标网站的页面结构变了但作者没跟上。解决:先回退版本。在管理面板里找到该脚本,点名称右侧的编辑按钮进入脚本编辑器,左侧能看到元数据,把@version改回之前能用的版本号,再点“文件 → 保存”。如果篡改猴设置里开的是自动更新,回退后它可能很快又帮你更上来,所以回退完顺手把这个脚本的自动更新关掉。我的习惯是对于已经用得顺手的核心脚本,一律在脚本编辑页里删掉@updateURL字段,让它彻底不再自动更新。

5.4 篡改猴占内存越来越高:一条 setInterval 让网页变成电暖器

现象:装了 N 个脚本后,浏览器打开一个普通网页,内存占用比没装时高出几百 MB,风扇开始狂转。原因:部分脚本为了轮询数据或监控 DOM 变化,用了高频setInterval或者不停创建的MutationObserver,没有及时清理。解决:一个个停用脚本,每停一个刷新一次页面观察内存占用。定位到凶手脚本后,去脚本编辑器里搜索setInterval,把间隔时间从几百毫秒改成几秒,或者加一个页面不可见时暂停的逻辑。技巧是给MutationObserver加上disconnect()调用,在脚本做完初始化监听后及时释放。

5.5 图标正常但页面没有任何脚本运行:协议匹配的陷阱

现象:篡改猴图标显示红色数字角标,说明有脚本匹配了当前页面,但页面上确实没有脚本运行的效果。原因:常见在 http 和 https 混用场景,脚本元数据里只写了@match http://example.com/*,而目标页面是https://example.com/,协议不匹配导致脚本实际上没跑。解决:打开管理面板,看脚本的适用域是否正确,把@match改成*://example.com/*,这个写法同时匹配 http 和 https。修改后记得回到页面刷新一次。

6. 写第一个脚本:以视频倍速为例的元数据与逻辑

6.1 视频倍速脚本:一个能跑的最小实现

调试脚本最直接的需求就是“网页视频倍速播放”,很多站点播放器没有 2 倍速选项,自己写一个比找现成脚本更能理解篡改猴的工作方式。下面这个脚本我亲手在不同视频站上试过,逻辑很短但足够说明问题。

// ==UserScript== // @name 全局视频倍速 // @namespace local-scripts // @version 0.1.0 // @description 页面加载后把所有 video 元素倍速设为 2 倍 // @match *://*/* // @run-at document-end // @grant none // ==/UserScript== (function() { 'use strict'; function setSpeed() { document.querySelectorAll('video').forEach(function(video) { video.playbackRate = 2.0; }); } setSpeed(); // 部分视频是页面加载完才动态创建的, // 再加一个轻量的定时器兜底,5 秒后自动停止。 const timer = window.setTimeout(function() { setSpeed(); window.clearTimeout(timer); }, 3000); })();

代码逻辑分三块:@match *:///*声明匹配所有 http/https 网页,@run-at document-end确保 DOM 解析完成后再执行;setSpeed()函数负责把页面上所有 video 标签的播放速度改成 2 倍;setTimeout兜底是因为不少视频网站是异步加载播放器,页面刚解析完时 video 元素还没出现。要注意@match *:///*不会匹配file://协议的本地页面,想在本地 HTML 上测试就写@match file:///*.html。

这个脚本本身很基础,但它把篡改猴脚本的三个必调参数都体现了:@match控制生效范围,@run-at控制执行时机,@grant none表示不需要额外的浏览器权限。实际使用中更成熟的视频倍速脚本一般会加一个监听器来响应动态添加的 video 元素,而不是用定时器兜底;还会用GM_registerMenuCommand在菜单里加一个倍速选择项,让用户不用改代码就能切速度。这些都属于把第一个脚本跑通之后自然延伸出来的方向。

我自己的习惯是永远保留一份最小脚本在手边,比如这个倍速脚本,出了新网站想试注入时,直接在@match里加一行就能探测篡改猴到底有没有正常工作,比反复排查图标状态高效得多。希望这篇笔记能帮你把篡改猴从“装着吃灰”变成真正能动手改造网页的工具。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 17:50:19

51单片机期末速成:C语言编程核心考点与实战项目全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 17:49:34

微信小程序登入界面制作与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 17:49:29

ESP32应用商店实战:从OTA到设备软件生命周期管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 17:48:26

FPGA功耗优化实战:从Vivado功耗分析到板级实测避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 17:47:19

嵌入式老兵转机器人岗位:简历石沉大海的真正原因与破局指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华