tgoop.com/AppleNuts/932
Last Update:
🎉 解决 AdGuard 与 Surge / Clash 不兼容
macOS Big Sur 对系统的调整巨大,其中包含内核插件策略。
Apple 已经在 WWDC19 时向各位开发者发出了提示,为了系统安全性等因素考虑,在新系统中将不会加载调用废弃 KPI 的内核插件。
https://shrtm.nu/tiWd
在 macOS Catalina 10.15.4 中,当用户在尝试加载这些调用被废除 KPI 的内核插件时,系统会发出 “Legacy System Extensions” 的提示,但是依然可以继续。
但在 macOS Big Sur 中,这些内核插件彻底不会被加载。所以 AdGuard 不能继续以内核插件的方式过滤广告,只能单独建立一个 VPN 隧道,接管全局流量。但这就和 Surge / Clash 这种修改系统代理设置的代理工具发生冲突,水火不容。
AdGuard 官方给出了一篇兼容教程,但是因为 Surge 和 Clash 自己内部自带 DNS 解析,还有增强模式的 Fake-IP、TUN 等特殊模式,Network Extension 框架的限制等,导致这篇官方文档完全无效。
https://shrtm.nu/pRuG
我给出一个可以在系统安全和便捷实用之间的权衡方案,依然让 AdGuard 以内核插件的方式运行,但是不必关闭整个系统的 SIP,只需要为 kext 豁免即可。
1. 重新启动 Mac,在 Apple Logo 点亮的瞬间按住键盘的 ⌘ Cmd + R,系统会进入 Recovery OS
2. 选择语言后,上方菜单 选择 「实用工具」 - 「终端」输入命令 csrutil enable --without kext 回车后输入 reboot 重新启动即可。
3. 如果你之前按照 AdGuard 官方文档修改过高级设置,请全部恢复到默认设置。然后打开 AdGuard 设置 -> Network -> Select Mode… > Kernel Extension > Apply
4. AdGuard 会提示你需要去 系统偏好设置 > 安全与隐私 > 通用,按照引导更新插件并重启系统。
问题解决。
BY Apple Nuts
Share with your friend now:
tgoop.com/AppleNuts/932