macOS 下对特定软件使用科学代理

Flinty Lemming
4 min readJun 14, 2019

--

由于电脑的软件使用网络协议等其他比手机app要丰富得多,所以在使用ss的PAC模式时,往往不能保证需要代理的连接走ss。如果自己抓包,添加规则,效率太低有很麻烦,还有可能失效。甚至对于 Telegram 这种,即使使用全局代理也无法连接。

为了解决这个情况,我们需要 Proxifier 这个软件,经过配置,便可以让我们需要的应用走 ss 代理。

原理大致就是:应用请求数据 — 被Proxifier捕获 — 确认是需要代理的 — 将数据通过ss的本地端口交给ss软件 — ss从预置的服务器获取流量。所以配置的两个核心就是:连接 Proxifier 和 ss 软件(这里用的就是ShadowsocksX-NG-R8)以及 在 Proxifier 里编辑规则,添加强制走代理的程序

首先要连接 Proxifier 和ShadowsocksX-NG-R8

1. 打开ShadowsocksX-NG-R8 的高级设置

2. 打开后记下 本地 Sock5 监听地址和端口,比如我这里就是 127.0.0.1:1086,这里一定要注意你的地址和端口可能跟我的不一样,一定要以你自己的为准

3. 打开 Proxifier,点击左上角的 Proxies,在这里填写好刚刚记下的地址和端口号

我这已经写好的,你打开如果这里已经有一个,那就双击点开修改;没有的话就点右边的 Add… 添加一个。格式如下:

这样就完成了 Proxifier 和ShadowsocksX-NG-R8 的连接

然后我们要在 Proxifier 里编写规则,设置哪些程序要走代理

1. 在刚才的选项卡里点击 Rules

2. 我这里已经配置好了,默认这里应该就是一个“Localhost”和一个“Default”,不管他,点击下面的 Add… 新建一个规则
3. Name 随便写,我这里就写 App;勾选旁边的 Enable;Applications里就添加想强制走代理的软件,点击右下角的加号就可以选了(比如你要用 Telegram,那你就选个 Telegram);Target Hosts和 Target Ports不用管;Action 选择刚刚建立的连接“Proxy SOCK5 xxx.xxx.xxx.xxx:xxxx”,这里的地址和端口号你的可能跟我不一样。最后设置好大概是这样:

4. 点ok后其实就已经生效了

那如果你要用 Telegram ,刚才规则里也添加过了,那你这个时候点登陆,就会发现 Proxifier 就已经产生连接记录了,表示连接是正常的。你 Telegram 应该就能用了。

如果不能用的话你要检查三个部分:ShadowsocksX-NG-R8 本身的节点是不是通的,是不是启用了;ShadowsocksX-NG-R8 本地地址和端口是否正确的填写到了 Proxifier 里;Proxifier 规则里是不是正确添加了程序。

--

--

No responses yet