Surge Mac在使用external proxy,addresses是一个域名,同时开启enhanced mode,会出现无法连接代理服务器的情况。
例如,我使用v2ray作为external proxy provider,采用http2的方式,这时代理服务器的地址是一个域名,profile中的配置如下:
[Proxy]
External = external, exec = "/usr/local/bin/v2ray", local-port = 1089, args = "-config", args = "path/to/config", addresses=mydomain.com
上面的情况中域名是mydomain.com,和代理服务器的地址相同。这时如果在开启enhanced mode的情况下,代理服务器会连接失败,external proxy 的log中出现如下类似的报错:
2020/01/21 00:38:46 [Warning] [1636354884] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/http: failed to dial to tcp:mydomain:443 > Put https://mydomain.com:443/proxy: dial tcp 198.18.1.7:443: connect: can't assign requested address] > v2ray.com/core/common/retry: all retry attempts failed
这时暂时将enhanced mode关闭,代理服务器就可以连接成功了。目前暂时的解决方法是在连接代理服务器之前先关闭enhanced mode,等待连接成功一次之后再打开,这之后就可以正常使用了。个人觉得可能和DNS解析有关,但是我手动设置了该域名对应的ip地址之后仍然无法解决。不知道这是不是一个bug,还是我的相关配置有问题。