2017-05-03 39 views
13

Potrzebuję ustawić serwer proxy dla określonego zestawu adresów URL. chrome.proxy pozwala przekazać listę pomijania, ale nie białą listę (wzorzec pozwalający tylko na niektóre żądania za pośrednictwem serwera proxy).Niech inne rozszerzenia obsługują ustawienia proxy

Poniższy kod działa w moim przypadku (przy użyciu skryptu pac):

var config = { 
    mode: "pac_script", 
    pacScript: { 
     data: "function FindProxyForURL(url, host) { if (shExpMatch(url, '*get_with_proxy*')) return 'PROXY 127.0.0.1:8888'; return DIRECT }" 
    } 
}; 
chrome.proxy.settings.set({ value: config, scope: 'regular' }, 
    function() {}); 

Ale jest problem, wiele moich użytkowników stosować inne rozszerzenia, takie jak ostry lub Proxy Proxy Omega obsłużyć swoich potrzeb proxy. Jeśli użyję powyższego kodu, zobaczą oni "inne rozszerzenie obsługuje ustawienia proxy", gdy próbują zmienić opcje w tych innych rozszerzeniach.

Ponieważ potrzebuję tylko kilku adresów URL, aby przejść przez serwer proxy, czy jest sposób, w jaki inne rozszerzenia mogą obsługiwać ustawienia proxy dla adresów URL niezgodnych?

Odpowiedz

1

Według documentation można mieć tylko albo:

  • Poszczególne stałe serwery proxy
  • PacScript obsłużyć które proxy jest używany

Ale nie można mieć obu lub wielokrotność albo.

Najlepszym wyjściem byłoby spróbować być ostatnim rozszerzeniem, które konfiguruje serwer proxy, uzyskać ustawienia proxy i spróbować przekonwertować je wszystkie na pojedynczy serwer proxy PacScript.

TL; DR: Jeśli nie chcesz zmieniać ustawień innych użytkowników, nie jest to możliwe.