Proxy WebExtension代理API:解析SOCKS5代理上的DNS条目(不在本地系统上)

Proxy WebExtension代理API:解析SOCKS5代理上的DNS条目(不在本地系统上),proxy,dns,firefox-addon-webextensions,socks,Proxy,Dns,Firefox Addon Webextensions,Socks,Firefox中的WebExtension是否支持在使用SOCKS 5时解析代理服务器上的DNS 在WebExtensions中不再提供的中,这是可能的。您可以将标志Components.interfaces.nsIProxyInfo.TRANSPARENT\u PROXY\u解析\u HOST传递给: 如果代理要自己执行名称解析,则设置此标志。如果是这种情况,主机名会以某种方式使用,我们不应该自己进行任何形式的DNS查找 在新的WebExtensions代理API中是否有一些等效的选项?现在W

Firefox中的WebExtension是否支持在使用SOCKS 5时解析代理服务器上的DNS

在WebExtensions中不再提供的中,这是可能的。您可以将标志
Components.interfaces.nsIProxyInfo.TRANSPARENT\u PROXY\u解析\u HOST
传递给:

如果代理要自己执行名称解析,则设置此标志。如果是这种情况,主机名会以某种方式使用,我们不应该自己进行任何形式的DNS查找


在新的WebExtensions代理API中是否有一些等效的选项?

现在WebExtensionAPI可以使用。由于Bug 1381290在夜间登陆,代理脚本可以返回一个对象数组而不是字符串。在方案中,对象具有以下属性:

  • |键入|--string,其中一个是“http”|“https”|“socks5”|“socks4”|“socks”|“direct”|“ignore”|。请注意 “socks”是socks5的同义词。“ignore”表示Firefox应该处理 通过其全局代理设置(可以是wpad、pac、, 系统、直接/无或代理服务器)或其他已安装的加载项
  • |主机|--string
  • |端口|--介于1和65536之间的整数(TCP/IP不允许该范围之外的端口)
  • |用户名|--可选字符串
  • |密码|--可选字符串
  • |proxyDNS|--可选布尔值。默认值为false。如果为true,则将透明代理解析主机设置为nsIProxyInfo.flags上的标志 因此,代理服务器用于解决某些DNS查询
  • |failoverTimeout |--可选整数。默认值为1。超时并尝试故障转移阵列中的下一个代理之前的秒数
  • |failover |--具有这些相同属性的对象的可选数组。null终止。默认null(无故障转移,这是所需的 案例99%的时间(以我的经验)
例如:

{
  type: "socks",
  host: "foo.com",
  port: 1080,
  proxyDNS: true,
  failoverTimeout: 1,
  failover: {
    type: "socks",
    host: "bar.com",
    port: 1080,
    proxyDNS: true,
    failoverTimeout: 0,
    failover: null
  }
}

但在实际补丁中,我看不到该阵列中的“故障切换”选项:

+    for (let prop of ["type", "host", "port", "username", "password", "proxyDNS", "failoverTimeout"]) {
+      this[prop](proxyData);
+    }
“故障转移”服务器的定义如下:

+    let failoverProxy = proxyDataList.length > 0 ? this.createProxyInfoFromData(proxyDataList, defaultProxyInfo) : defaultProxyInfo;

相关信息:

  • 布奇拉()
  • 开关量()