You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MacOS下如何为同一应用内的特定窗口设置代理

MacOS下如何为同一应用内的特定窗口设置代理

嘿,我完全懂你的需求——同一应用开多个窗口,每个窗口要走不同的代理甚至不代理,就像你说的Chrome那种场景:一个窗口裸连,另外两个分别走不同代理。之前用Proxifier只能给整个应用套代理,确实没法实现窗口级别的区分,在MacOS上我有几个实用的方案可以试试:

方法一:利用Chrome的多用户配置文件(最省心)

Chrome本身就支持独立的用户配置文件,每个配置文件对应的窗口是完全隔离的,代理设置自然也互不影响:

  • 打开Chrome,点击右上角的用户头像(如果没显示,就在菜单里找「用户」选项)
  • 选择「添加」,给新配置文件起个好记的名字(比如「Proxy1窗口」「Proxy2窗口」),选个区分度高的头像
  • 每个配置文件打开的新窗口,你可以单独去 chrome://settings/system,点击「打开您计算机的代理设置」,给这个配置文件设置对应的代理;而原来的默认用户窗口,保持不设置代理就行。这样几个窗口就各自走各自的网络了。

方法二:用终端启动独立Chrome实例(更灵活)

如果不想用多用户配置,也可以通过终端命令启动带有指定代理的Chrome独立进程,每个进程对应一个窗口:

  • 打开「终端」应用,输入以下命令启动走代理#1的Chrome窗口(记得把your-proxy-1:port换成实际的代理地址和端口):
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server=http://your-proxy-1:port --user-data-dir=/tmp/chrome-proxy1
  • 同理,要启动走代理#2的窗口,只需要修改代理地址和数据目录路径:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server=http://your-proxy-2:port --user-data-dir=/tmp/chrome-proxy2

这里的--user-data-dir很关键,它指定了独立的用户数据目录,确保这个新启动的Chrome实例和你平时用的完全分开,不会共享任何设置。原来的不代理窗口正常打开Chrome就行,不用加任何参数。

要是你用的是其他应用,窗口级代理的实现会麻烦一些,但针对Chrome来说,上面这两个方案基本就能完美解决你的问题啦。

备注:内容来源于stack exchange,提问作者PaulVO

火山引擎 最新活动