Safari实现SwitchyOmega的PAC代理功能

警告
本文最后更新于 2022-08-18,文中内容可能已过时。

介绍

Safari 没有开放代理 API,因为 macOS 可以很方便地设置系统级的全局代理,但是全局代理则会导致所有流量走代理服务器。

相比类似于Chrome + SwitchyOmega(auto switch)那种代理上网效果(国内正常,国外走代理),Safari在代理上网方面的扩展程序实在乏善可陈,这篇文章所解决的需求就是在 macOS Safari平台上实现Chrome的这种代理上网方式。

方法

导出Chrome的PAC文件

从Chrome的SwitchyOmega扩展程序中将PAC文件导出,记得选择自动切换E模式下的PAC文件。

启动一个http server承载PAC文件

在本机存放PAC的目录下用python直接起HTTP服务

1
2
# 11111为端口
python -m http.server 11111

配置代理

系统偏好设置👉🏻 网络👉🏻 高级👉🏻 代理👉🏻 选择「自动代理配置」,URL填入刚才的PAC文件的下载地址http://127.0.0.1:11111/Safari.pac

显示错误
演示

Safari.pac就是刚才导出的PAC文件,目的是让系统能够找到PAC文件

0%