1

我正在使用擴展代理通過使用Chrome擴展代理API(chrome.proxy.settings)的擴展來設置代理。一切工作正常,我得到我的代理服務器上的所有流量,當然除了bypass listChrome擴展程序 - 以編程方式繞過代理

現在我的問題是:How do we bypass the proxy set dynamically?我的意思是有沒有辦法繞過一些URL的代理(不在代理旁路列表)編程?我知道繞過列表包括網址/模式被繞過。但我需要一些網址繞過代理服務器。

任何人都面臨類似的要求?任何直接繞過相同的動態或任何工作的方法將不勝感激。

+0

你可能要檢查[與網絡代理調試問題(https://www.chromium.org/developers/design-documents/網絡堆棧/調試網絡代理),看看它是否會有所幫助。它提到了一個給定的選項來覆蓋系統代理設置,如果你不想使用它。除此之外,還可以在[代理設置和回退]中找到更多信息(http://dev.chromium.org/developers/design-documents/network-stack/proxy-settings-fallback)。 – Teyam

+0

謝謝@Teyam。讓我看看這些。 –

+0

我經歷了鏈接,但他們似乎沒有幫助我。 –

回答

0

旁路代理在旅途中? 你可以從你的web服務器上獲取任何指定的地址。什麼是問題?

例如:

chrome.windows.onCreated.addListener(function() { 
    var config = { 
      mode: "fixed_servers", 
      rules: { 
       proxyForHttp: { 
        scheme: "http", 
        host: "127.0.0.1", 
        port:"80" 
       }, 
       bypassList: [] 
      } 
     }, 
     proxyByUrl = "path/to/proxiesByUrl?path=" + window.location.href; 

    $.get(proxyByUrl, function(data) { 
     // Set up current proxy, dependent on request URL 
     config.rules.proxyForHttp.host = data.proxyAddress; 
     config.rules.proxyForHttp.port = data.proxyport; 
     // Excluded URL's for this proxy 
     bypassList.push(data.bypassUrls); 
    }); 
}); 

匹配該模式匹配的所有主機名。領先的「。」被解釋爲「*」。 示例:「foobar.com」,「foobar.com」,「 .foobar.com」,「foobar.com:99」,「https://x..y.com:99」。

對於bypassList的更詳細的模式,閱讀官方文檔 https://developer.chrome.com/extensions/proxy