问题
我编写的油猴脚本中引用了来自 Github
的 JavaScript
脚本:
//@include https://cdn.jsdelivr.net/gh/nwcell/ics.js@0.2.0/demo/ics.deps.min.js
但是当我更新我的脚本代码时,Greasy Fork 提示我不允许引用这个外部脚本。
报错信息
An error is reported when quoting an external minimized script.
引用来自外部的最小化脚本时报错
原因
An error is reported when quoting an external minimized script.
引用来自外部的最小化脚本时报错
这是 Greasy Fork 的安全策略导致的(避免恶意修改外部脚本达到攻击目的),为了解决这个问题,我们需要更改引用外部脚本的方式。
Greasy Fork 限制了对外部脚本的引用,只允许在特定情况下使用外部代码,详细信息请参考:https://greasyfork.org/zh-CN/help/external-scripts
解决方案
引入的 JS 文件需要使用完整的提交哈希,而不是版本标签。这是因为 GitHub 允许在不同版本标签之间切换,可能会导致库在之后被悄悄替换为后门或恶意软件。而使用显式的提交哈希则可以让这些更改可检测。
要找到完整的提交哈希,你可以访问对应文件的 GitHub 页面,按下 y
键查看文件时,地址栏中会显示完整的提交哈希。另外,它也可以在 Latest commit
后的链接中找到。
示例:
-
打开 https://github.com/nwcell/ics.js/blob/master/demo/ics.deps.min.js
-
页面按下
y
键 -
地址栏会出现带
Hash
值的文件链接,复制Hash
值 -
将版本号
0.2.0
替换成Hash
值// 原来的链接 //@include https://cdn.jsdelivr.net/gh/nwcell/ics.js@0.2.0/demo/ics.deps.min.js // 替换后的链接 //@include https://cdn.jsdelivr.net/gh/nwcell/ics.js@dfec67f37a3c267b3f97dd229c9b6a3521222794/demo/ics.deps.min.js
-
通过这样的方式,能够符合 Greasy Fork 的安全策略并顺利引用外部脚本。
免费 CDN:jsDelivr + Github 用法
官网:
https://www.jsdelivr.com/?docs=gh
使用方法:
https://cdn.jsdelivr.net/gh/你的 Github 用户名/你的仓库名@发布的版本号/文件路径
要符合 Greasy Fork 的安全策略改为:
https://cdn.jsdelivr.net/gh/你的 Github 用户名/你的仓库名@提交的 Hash 值/文件路径
最新评论
作者写的就是只能命令行访问,在GUI界面 注册表查询依旧没有走代理。
这个跟bandwagon的一样吗 也是能用v2ray吗
一步步来的,就是不行。
如果不需要了,如何恢复呢?
右键单击电脑右下角 V 图标,按以下图片设置就可以上网了,如果需要取消代理设置为 清除系统代理 即可。建议启用 tun 模式,我到了这个步骤,服务器选项那里是空的,请问如何解决
确认成功了,第五步确认已经修改完成了,可是还是不能再群晖控制面板里面网络关闭代理,不然docker注册表依然访问不了。拉去速度未有改善,我之前就是群晖网络添加代理,然后注册表同时添加镜像,我不知道现在