我需要为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
没有有用信息的对象。
有谁知道如何从扩展程序获取系统代理设置?或者有处理原始问题的建议?
答案 0 :(得分:0)
你可以用
获得它chrome.proxy.settings.get(
{'incognito': false},
function(config) {
console.log(JSON.stringify(config));
});
它应该显示如下:
{
"levelOfControl":"controlled_by_this_extension",
"value":
{
"mode":"pac_script",
"pacScript": {
"data": "function FindProxyForURL(url, host) {\n
return \"PROXY 10.0.0.1:1234;\";\n}",
"mandatory": false
}
}
}
阅读文档以获取更详细的信息 https://developer.chrome.com/extensions/proxy