2016-10-02 4 views
1

私はproxy.pacファイルを変更してproxy.pacファイルを変更すると、reapply settingsボタンをここでchrome://net-internals/#proxyにする必要があります。私のproxy.pacファイルは頻繁に変更されるので、毎回手動で変更を適用することは困難です。アドオンやスクリプトのようにこのプロセスを自動化する方法があります。クロムブラウザの自動リロードプロキシ.pacファイル

Foxyproxyアドオンには、Firefoxでは自動的にpacファイルをリロードするオプションがありますが、オプションは用意されていません。

+0

https://crbug.com/31946を参照してください。[プロキシAPI](https://developer.chrome.com/extensions/proxy)もあります。 – wOxxOm

+0

@wOxxOm:申し訳ありませんが、残念ながら、crbug.com/31946に記載されているように自動リロードされません。私は25分以上待ちましたが、変更はありません。変更を手動で適用する必要があります。 –

答えて

2

Pac-Scriptプロキシ設定に基づいてコードを変更しました。これは、あなたがプロキシモードのpacscriptを持っている場合にのみ機能することを意味します。

document.addEventListener("DOMContentLoaded", function() { 
    var errorHandler = new ProxyErrorHandler(); 
    var persistedSettings = ProxyFormController.getPersistedSettings();  

     if (persistedSettings !== null) {   
      if (persistedSettings.regular.mode == 'pac_script') { 
       // Do something every 5 seconds     
       setInterval(function() { 
        // call URL with random string to avoid URL cache 
        persistedSettings.regular.pacScript.url = 'myfile/path/for/fun.pac?nocache'+Math.floor((Math.random() * 1000) + 1); 
        chrome.proxy.settings.set({'value': persistedSettings.regular}); 
      }, 5000); 
      }    
      chrome.proxy.settings.set({'value': persistedSettings.regular}); 
     }  
}); 
+0

これは改善点です。それでもサンプルコードの残りの部分に依存しない方が良いでしょう。 – Xan

+0

私たちのニーズに基づいて修正されました。これ以上の依存関係は必要ですか?そうでなければ、より良い解決策があります。ありがとう!ザーン –

0

このサンプルクロムエクステンションhttps://developer.chrome.com/extensions/examples/extensions/proxy_configuration.zipをダウンロードし、background.jsを以下のスクリプトに置き換えてください。開発者モードでこの拡張機能をロードしてください。

document.addEventListener("DOMContentLoaded", function() { 
    var errorHandler = new ProxyErrorHandler(); 
    var persistedSettings = ProxyFormController.getPersistedSettings(); 

    setInterval(function() { 
     // Do something every 5 seconds 
     if (persistedSettings !== null) { 
      chrome.proxy.settings.set({'value': 'myfile/path/for/fun.pac'}); 
     } 
    }, 5000); 

}); 

これは、5秒ごとにPACファイルをリロードします。

+0

あなたの解決策の本質が一定の間隔で 'chrome.proxy.settings.set'を呼び出す場合、なぜ複雑なのでしょうか?また、あなたの構文が正しいかどうかわかりません。 – Xan

+0

私が理解している限り、正しい呼び出しは 'value:{mode:" pac_script "、pac_script:{url:" path/to/file.pac "}}' – Xan

+0

私のバックグラウンドで試しました。 jsとそれはうまく働いています。私はクロムエクステンションに新しいので、私がやっていることが効率的な方法ですが、それは私のためにうまくいきます。 –

関連する問題