本文目录导读:

要实现油猴脚本的自动更新,主要利用的是油猴(Tampermonkey/Violentmonkey)内置的更新检查机制,你只需要在脚本的元数据(// ==UserScript== 区块)中正确配置好更新URL,油猴就会定期自动检查并提示更新。
以下是具体的配置方法和推荐的工作流程:
核心配置:使用 @updateURL 和 @downloadURL
油猴通过元数据中的两个关键字段来实现自动更新:
@updateURL:定义了一个用于检查是否有新版本的 URL,油猴会定期访问这个地址,获取一个包含版本号的元信息文件。@downloadURL:定义下载新版本脚本文件的 URL,当油猴通过@updateURL发现版本更高时,就会从这个地址下载新脚本。@version:必须设置,油猴比较新旧版本的@version值来决定是否更新。
推荐方案(最简单、最稳定)
将你的脚本发布到 GitHub 或 Greasy Fork 上。
方案 A:使用 Greasy Fork(强烈推荐)
如果你将脚本上传到 Greasy Fork,它会自动为你托管并生成更新链接,你只需要在脚本元数据中注册即可:
// ==UserScript== // @name 我的脚本 // @namespace http://tampermonkey.net/ // @version 1.0.0 // @description 试试自动更新 // @author You // @match https://example.com/* // @grant none // --- 关键是这两行,指向 Greasy Fork 上的脚本地址 --- // @updateURL https://greasyfork.org/scripts/YOUR_SCRIPT_ID/code/我的脚本.meta.js // @downloadURL https://greasyfork.org/scripts/YOUR_SCRIPT_ID/code/我的脚本.user.js // ------------------------------------------------- // ==/UserScript== // 你的脚本代码...
- 原理:
updateURL指向.meta.js文件(只包含元数据,体积小,更新检查快);downloadURL指向.user.js文件(完整脚本)。 - 优点:完全托管,无需自己搭建服务器,Greasy Fork 自动处理版本管理和分发。
方案 B:使用 GitHub Raw 链接
如果你自己托管在 GitHub 上,可以使用 Raw 链接。
// ==UserScript== // @name 我的脚本 // @namespace http://tampermonkey.net/ // @version 1.0.0 // ... // @updateURL https://raw.githubusercontent.com/你的GitHub用户名/你的仓库/main/你的脚本名称.meta.js // @downloadURL https://raw.githubusercontent.com/你的GitHub用户名/你的仓库/main/你的脚本名称.user.js // ==/UserScript==
- 注意:
- GitHub 有缓存,推送新版本后可能不会立即生效(通常几分钟到半小时)。
- 你需要手动维护一个
.meta.js文件(内容就是只包含元数据部分,去掉==/UserScript==之后的代码),很多开源脚本项目(如Violentmonkey)的更新检查脚本可以帮你生成这个文件。
如何不依赖外部服务器(高级用法)
如果你不想把脚本发布到网上,只在本地使用,实现完全本地的自动更新会比较困难,因为油猴本身是基于 URL 访问的,但可以借助本地文件服务器:
- 搭建本地服务器:比如用 Python 自带的
http.server。- 把你的脚本文件(如
myscript.user.js和myscript.meta.js)放在一个文件夹里。 - 在该文件夹下运行命令:
python3 -m http.server 8080(Windows 下把python3换成python)。
- 把你的脚本文件(如
- 配置元数据:
// @updateURL http://localhost:8080/myscript.meta.js // @downloadURL http://localhost:8080/myscript.user.js // @version 1.0.1 // 更新时修改此版本号
- 更新流程:每次你修改脚本并更新
@version后,油猴会在检查时访问localhost:8080,发现版本号不同就会询问你是否更新。
更新触发机制(什么时候检查)
- 默认频率:油猴默认每隔 24 小时(或者每次浏览器启动时,视具体设置)检查一次所有脚本的更新。
- 手动检查:你可以在油猴仪表盘的脚本列表上点击「检查所有脚本更新」按钮。
@updateURL的返回内容:油猴访问@updateURL时,期望得到的内容是一个只包含元数据区块的文本文件(==UserScript==到==/UserScript==),其中最重要的是@version字段,如果返回的版本号大于本地版本,则触发下载@downloadURL。
最佳实践流程
- 把你的脚本上传到 Greasy Fork(最省心)。
- 在脚本元数据中正确填写
@updateURL和@downloadURL。 - 每次发布新版本时,务必修改
@version字段(例如从0改为1)。 - 油猴会自动完成后续的检查和更新提示。
核心就是:告诉油猴去哪里查版本号(@updateURL),以及去哪里下载新版本(@downloadURL),并保证每次发布都提升版本号。
标签: 油猴脚本
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。