Google chrome extension 如何从chrome extension获取系统代理设置?

Google chrome extension 如何从chrome extension获取系统代理设置?,google-chrome-extension,proxy,Google Chrome Extension,Proxy,我需要为我的chrome扩展做一个定制的代理设置,这样到特定域的流量就可以通过代理服务器,而所有其他(用户)流量都可以正常使用默认的系统设置。根据chromeapi文档,唯一的方法是使用pac_脚本(如果我错了,请纠正我)。因此,代码如下所示: var config = { mode: "pac_script", pacScript: { data: "function FindProxyForURL(url, host) {\n" + " if (dnsDomainIs(host,

我需要为我的chrome扩展做一个定制的代理设置,这样到特定域的流量就可以通过代理服务器,而所有其他(用户)流量都可以正常使用默认的系统设置。根据chromeapi文档,唯一的方法是使用pac_脚本(如果我错了,请纠正我)。因此,代码如下所示:

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'});
{
  "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
     }
    }
}
但是,pac_脚本没有使用系统代理设置路由流量的选项(仅“直接”,这意味着它将跳过系统设置)。我想使用
chrome.proxy.settings.get
获取系统代理设置,但此函数返回一个对象,其中
mode=system
,没有有用的信息

有人知道如何从extension获取系统代理设置吗?或者有处理原始问题的建议?

您可以使用

chrome.proxy.settings.get(
      {'incognito': false},
      function(config) {
          console.log(JSON.stringify(config));
      });
它应该向您展示如下内容:

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'});
{
  "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
     }
    }
}
阅读文档了解更多详细信息

根据我发现的有关您的问题的相关信息,他们还使用chrome extension中的代理设置,这是chrome extension的官方API。如果您发现pac_脚本没有路由流量的选项,那么这意味着它不支持路由流量。我建议你问这个问题,这样Chrome扩展方面的专家就可以帮助你解决这个问题。