数量庞大的扩展已经成为 Chrome 浏览器的强大之处,而篡改猴更是其中的神级扩展,用户数量超过 1100 万,有必要单独拿一篇出来介绍。
如果你还不会安装插件,可以看看我前一篇文章:Chrome 扩展全指南
篡改猴是什么
官网:https://www.tampermonkey.net
论坛:https://bbs.tampermonkey.net.cn
篡改猴是一个脚本管理器,可以为你的浏览器加载各种各样有趣、实用、脑洞大开的脚本,对你正在访问的指定网站按照你的需求进行修改,从而让你的浏览器前所未有地强大。
而什么是脚本?其实就是几行代码(一般是 JavaScript 代码),任何人都可以编写,你可以理解为是一个小插件。
它的原理也不复杂,我们将它和浏览器作个对比,你就懂了:
名称
使用步骤
获得效果
浏览器(能进行插件管理)
安装插件
增强功能
篡改猴(能进行脚本管理)
安装脚本
增强功能
你可能之前听说过该扩展,但因为看到「脚本」而不敢尝试,其实它操作很简单的,安装脚本就行,几乎不用其他配置。
篡改猴有什么用
篡改猴可以通过安装各类脚本对网站进行定制,它不仅仅能定制网站的样式,还能实现更多更强大的功能,例如:
- 直接下载百度网盘文件,网盘密码自动填充条状
- 重新定制繁杂的微博页面
- 破解 VIP 会员视频集合,去掉视频播放广告
- 将网站默认的「二维码登录」改回「账号密码登录」
- 绕过搜索引擎的跳转提示
- 还原清新的小说阅读模式
- 豆瓣和 IMDb 互相显示评分
- ……
几乎你想要的功能,都有对应的脚本,安装即用。
脚本管理器的历史
简单介绍一下历史,让你用起来更明白。
油猴与篡改猴
- 2005 年,Aaron Boodman 开发了最初的用户脚本管理器:Greasemonkey,它是 Firefox 的插件。Greasemonkey 中文直译就是「油腻的猴子」,简称油猴
- 2008 年,Chrome 发布,逐渐成为最流行的浏览器。其自然也有对于脚本的需求,开始有人移植油猴到谷歌上。
- 2010 年,Tampermonkey 发布,可以在 Chrome 上使用脚本了。
- 2019 年,Tampermonkey 的用户已经超过 1000 万。随着使用量不断上升,Tampermonkey 逐渐取代了油猴。但 Tampermonkey 一直没正式的中文名,经常被习惯性地称为油猴。随后官网居然也用油猴这个名字。
- 2023 年,有网友看不下去了,给 Tampermonkey 正名 [1],官网也修改为了正式名字为:篡改猴。
其实,Tamper 本身就不具备 “油” 的意思,更接近于 “篡改” 的意思,建议以后也用这个正式的名字。
暴力猴
你可能还听说过 Violentmonkey 暴力猴,其发展过程也和篡改猴类似:因为油猴太好用了,所以有团队开发了暴力猴,可以用在遨游和火狐浏览器上,后续也支持了 Chrome。
相比较 Tampermonkey,暴力猴界面更简洁,占用资源更少,并且开源在 Github[2] 上,也是一大优点。
脚本猫
除了刚刚介绍的几个 “猴子”,还有一只 “猫”:脚本猫,也是一个脚本管理器。
官网:https://scriptcat.org
开源:https://github.com/scriptscat/scriptcat,已有 1.9k Star
特点:
- 页面更好看,更现代化,支持黑夜模式
- 参考了油猴的设计思路,兼容油猴 90%+ 的脚本,且提供了更强大的 API,更多的功能
- 增加了后台脚本、定时脚本、云同步、脚本合集等功能,通过沙盒机制确保安全
- 提供了一个优秀的编辑器(支持自动补全和 ESLint),让脚本代码编写开发更加舒服流畅
- 有自己的脚本站:https://scriptcat.org/zh-CN/search
选哪个?
目前,油猴,篡改猴,暴力猴,脚本猫功能都差不多,脚本也基本上都互相兼容,自己挑一个喜欢的就行。
这几款主流的浏览器扩展的支持情况见下表:
浏览器
Greasymonkey
Tampermonkey
Violentmonkey
Chrome
支持
支持
Edge
支持
支持
Safari
支持
Firefox
支持
支持
支持
Opera
支持
支持
Vivaldi
支持
Maxthon 遨游
支持
Dolphin
支持
UC
支持
支持
篡改猴在权限控制、脚本编辑和调试、全局黑白名单这些方面都做得相当不错,易用性相比 Greasymonkey 提升了不少。
后续本文也主要以 Tampermonkey 为例进行讲解。
安装篡改猴
篡改猴支持众多浏览器,可以直接在扩展集市里搜索,也可以在篡改猴官网找到插件安装地址。
安装成功之后,你会在扩展栏看到一个类似望远镜的图标,这个就是 Tampermonkey。你可以单击它,查看扩展弹出菜单。
安装脚本
安装好篡改猴后,默认是没有安装任何脚本的,得自己安装脚本,才能使用上边提到的神奇功能。
安装好扩展相当于你手里有了一把枪,还要有子弹才能发挥枪的威力。
围绕这款插件,众多高手们编写了大量教程,开发了各种实用的脚本,为我们带来了丰富的使用体验。
那么哪里获取呢?我们可以打开官网,点击「用户脚本」看看:
这里通常会介绍几个网站,可以在上面搜索、安装脚本。
我这里列几个常见的:
- Greasy Fork[3](油叉):最收欢迎的脚本网站,有中文页面,丰富的脚本
- Userscript.Zone[4]:新网站,也不错
- OpenUserJS[5]:主打收录国外优秀脚本的网站,无中文页面
- Userscript.org:早期的脚本源中最有名的站点,但由于维护不力,导致后面充斥着各种各样的有害脚本,已关站
- Userscripts Mirror[6]:Userscript 的镜像站,可以找到一些历史脚本,无中文页面
- 其他:在 GitHub,各大技术论坛里,也有不少的脚本
以油叉为例,打开后可以搜索,也可以按网站进行分类:
找到需要的脚本后,会在介绍页面看到安装(install)按钮:
点击下载脚本后会自动跳转到安装界面,再点击安装就可以了。网页下方也会显示源代码。
检查脚本是否生效
安装完脚本后,你可以直接试试该脚本的功能,看看是否生效。
此外,打开对应的网站后,查看扩展弹出窗口,也能看到脚本是否生效:
还可以点击左侧的开关,停用脚本:
还可以展开脚本,查看更多配置,例如不在某个网站内生效:
脚本的原理浅析
脚本,正式的名字是用户脚本(user script),也叫油猴脚本,这是因为后续脚本开发时,基本都在沿用 Greasymonkey 的一些基本规范,这些脚本也就统称为「油猴脚本」了。
用户脚本其实是一种注入式的 JavaScript 程序,在网页本身的程序之外,通过一些手段,将用户需要的数据和逻辑注入到当前的网页中,达到修改界面、增加功能等等的目的。
换句话说,JavaScript 能实现的,用户脚本基本也能实现,比如操作页面元素,可以给页面中增加、删减、修改页面元素,最常见的去广告脚本就是这么实现的。
关于脚本推荐:好用的脚本成千上万,后续会专门写几篇文章进行讲解,这里先不表。
设置篡改猴
点击篡改猴,点击管理面板:
即可看到管理页面:
可以看到所有已安装的脚本,脚本大小,适用于哪些网站,主页是什么:
还可以在这里对脚本进行编辑,报告 bug,删除等操作。
在设置里还可以对篡改猴进行更多操作。
备份油猴
如果你重装 / 换电脑,重新安装一次油猴脚本也太麻烦了,这里介绍一下如何实现备份。
油猴内置的备份功能(推荐)
其实篡改猴已经内置了和备份的功能,只需设置好备份选项即可。
以 Tampermonkey 为例,点击插件,打开管理面板 → 右上角的实用工具:
能看到不同的备份选项:
云备份:支持将数据备份到 Google Drive、Dropbox、OneDrive,需魔法上网。
点击导出,即可将数据导出到云存储,即完成备份;点击「显示备份」,可查询所有备份数据,还提供导入选项:
导入:可以导入 TXT,压缩包格式的备份文件。
压缩包:支持导出为 ZIP 压缩包,内容包括了油猴扩展本身、脚本数据:
文件:导出一个 TXT 文件
文本区:点击「导出」,会出现一长串字符,可以自行复制粘贴到其他地方。想要导入的话,在文本框里粘贴点击「导入」。不太推荐该方式,当脚本多了后字符串会很长,容易造成浏览器卡顿
URL:支持脚本的在线地址导入。例如,你可以将自己的油猴脚本公开,共享给他人。
脚本网站的收藏功能
用户注册登录 GreasyFork 后,可以将喜欢的脚本收藏起来:打开脚本详情页,点击收藏按钮即可
收藏后,打开个人中心,即可查看曾经收藏过的脚本。
但该方法也有缺点:
- 需要用户依次打开不同的脚本详情页,重新安装
- 并不是所有脚本网站都支持在线收藏功能(例如 OpenUserJS[7])
更新:收藏按钮后来被 GF 取消了,但其实收藏功能还是有的,在用户中心:
当然,网友也不惯着 GF,开发了一个脚本,添加一个收藏按钮:Greasyfork 快捷编辑收藏 [8]
定期备份
对于安装了大量脚本的用户来说,养成良好的备份习惯很重要,建议定期导出备份。
我自己就会每周导出一次:
同步功能
Tampermonkey 还支持自动同步脚本,可以在不同的操作系统和浏览器同步。
打开管理面板,在设置页面找到「通用」设置,选择配置模式为高级:
下方会出现同步脚本的选项:
开启后即可随着 Google 账号进行同步(个人感觉得用魔法上网)。
油猴浏览器
在浏览器推荐篇里,提过一嘴油猴浏览器,这里展开说说。
由于油猴太好用了,有人基于 Chromium 源码开发出了内置油猴的浏览器,支持 Windows + 安卓,默认内置了油猴脚本和各种常用插件,到手即用。
之前刷到过不少推荐它的文章,个人感觉是刚出品没多久,资历尚浅。
油猴脚本 vs 浏览器扩展
同样一个需求,如何脚本和扩展都能实现,应该选哪个?两者对比:
这里得额外说下安全性问题。
上一篇文章提到了有些浏览器插件,包含恶意代码,会窃取用户信息。
其实油猴也有些案例。爆出过不少 窃取个人信息 [9]、替换返利链接的负面新闻。
但用户脚本的源代码审查相比浏览器扩展更为直接透明,选择合适的用户脚本获取渠道、留意脚本的权限请求,能避免大部分坑。如果有编程基础,甚至可以自己检查脚本内容,并且去掉恶意代码部分,或者举报。
综合来看,如果对于一些小功能,建议选择用脚本 + 样式(user style)解决,例如:
- 网盘自动填写访问码,外链免确认
- B 站:干净链接,获取封面,下载动态图
- ……
而对于一些比较复杂的功能,建议选择用扩展,例如:
广告拦截(可以自定义规则,导入 / 导出规则)
截图,录屏,翻译,语音转换
开发者相关插件
……
最后
对于一个浏览器而言,自带的功能 + 扩展 + 脚本,就是我们用好浏览器的关键,也正是我之前文章所介绍的内容。
后续,我会推荐一些插件,脚本,已经如何去找,授人以鱼不如授人以渔。
参考资料
[1]给 Tampermonkey 正名: https://zhuanlan.zhihu.com/p/619671247
[2]Github: https://github.com/violentmonkey/violentmonkey
[3]Greasy Fork: https://greasyfork.org/zh-CN
[4]Userscript.Zone: https://www.userscript.zone/?utm_source=tm.net&utm_medium=scripts
[5]OpenUserJS: https://openuserjs.org/
[6]Userscripts Mirror: https://userscripts-mirror.org/
[7]OpenUserJS: https://openuserjs.org/
[8]Greasyfork 快捷编辑收藏: https://greasyfork.org/zh-CN/scripts/439699-greasyfork-script-set-edit-button
[9]窃取个人信息: https://userscripts-mirror.org/topics/704c575.html?page=6
评论前必须登录!
立即登录 注册