本文发自 http://www.binss.me/blog/safari-use-chrome-extensions/,转载请注明出处。
作为苹果全家桶用户,在 MacOS 上都是使用 Safari 作为浏览器。但 Safari 的插件又少又难用,很多还要商店购买。一日偶然看到一个文档: https://developer.apple.com/documentation/safariservices/safari_web_extensions/converting_a_web_extension_for_safari 介绍了如何将 Chrome 插件转换成 Safari 。于是我开始了折腾。
流程
商店下载 Xcode ,以得到 /Applications/Xcode.app/Contents/Developer/usr/bin/safari-web-extension-converter 工具。
对插件源代码目录执行以下命令:
xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/safari-web-extension-converter /Users/binss/Downloads/SponsorBlock
会自动创建 xcode 工程并打开。修改项目的 Code Signing Identity 为 Mac Developer ,Development 为你自己的账户,如果没有账户,需要在 Preferences - Accounts 添加,登陆自己的 appleid 。
目标选择 MacOS,点击构建:
成功后会有 extension app 弹出,直接点击 Quit and Open Safari Extensions Preferences :
就会发现已经添加到 Safari 的插件列表中了
即便如此,插件功能不一定是有效的,需要自行验证。比如我试过 bypass paywalls 和 TamperMonkey ,虽然装上了,但功能不可用。
让编译好的插件在其他 Mac 上运行
Xcode - Product - Show build folded in finder 会打开构建目录,将目录下的 Products/Debug/xxx.app 拷贝到其他机器上运行即可,记得需要在 Security & Privacy 里允许 app 运行。
获取插件源代码
对于一些开源插件,直接下载即可,比如 SponsorBlock 在 https://github.com/ajayyy/SponsorBlock release 直接有 Safari 版本的代码。对于找不到源代码的插件,可以通过 https://crxextractor.com 先根据 Chrome 商店链接得到 crx,再根据 crx 解出源代码。
1F Binnn 1 year, 9 months ago 回复
老哥,我想转换油猴的插件,该怎么办,下载了chorme可用的crx文件 源码文件夹怎么获取呢
2F binss MOD 1 year, 9 months ago 回复
回复 [1F] Binnn:后缀名改为rar,解压缩得到文件夹
3F toto 1 year, 8 months ago 回复
回复 [1F] Binnn:mac目前不少网站下载的zip格式插件都打不开,或者直接从crx修改成zip也不行。后来发现hutubox.com下载的zip就行,具体也不知道是什么原因。windows貌似没有这个问题。