我需要为我的Chrome扩展程序制定定制化的代理设置,以便特定域名的流量通过代理服务器传输,而所有其他用户流量则按照默认系统设置正常进行。根据Chrome API文档,唯一的方法是使用pac_script(如果我错了,请纠正我)。因此,代码将类似于以下内容:
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {\n" +
" if (dnsDomainIs(host, 'mydomain.com') )\n" +
" return 'SOCKS5 10.0.0.1:1234';\n" +
" return 'DIRECT';\n" +
"}"
}};
chrome.proxy.settings.set({value: config, scope: 'regular'});
然而,pac_script 没有使用系统代理设置来路由流量的选项(只有“DIRECT”表示它会跳过系统设置)。我想通过 chrome.proxy.settings.get
来获取系统代理设置,但该函数返回一个对象,其中 mode = system
,没有任何有用信息。
有人知道如何从扩展程序中获取系统代理设置吗?或者对处理原始问题有建议吗?