diff options
| author | crupest <crupest@outlook.com> | 2020-10-21 17:14:56 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-10-21 17:14:56 +0800 | 
| commit | 4e24defd1b658dbfb85320e23b09dc1c0b6ad87b (patch) | |
| tree | da68d7565454bae54b12153db4badb839c806640 /works/ProxyChanger/popup | |
| parent | f16c2ceeda27989f40379f2993fa8eac896637d1 (diff) | |
| download | crupest-4e24defd1b658dbfb85320e23b09dc1c0b6ad87b.tar.gz crupest-4e24defd1b658dbfb85320e23b09dc1c0b6ad87b.tar.bz2 crupest-4e24defd1b658dbfb85320e23b09dc1c0b6ad87b.zip  | |
import(ProxyChanger): Allow to set proxy url.
Diffstat (limited to 'works/ProxyChanger/popup')
| -rw-r--r-- | works/ProxyChanger/popup/popup.html | 2 | ||||
| -rw-r--r-- | works/ProxyChanger/popup/popup.js | 53 | 
2 files changed, 34 insertions, 21 deletions
diff --git a/works/ProxyChanger/popup/popup.html b/works/ProxyChanger/popup/popup.html index 8f082df..16e4bd0 100644 --- a/works/ProxyChanger/popup/popup.html +++ b/works/ProxyChanger/popup/popup.html @@ -10,6 +10,8 @@      <div id="direct_button" class="button">Direct</div>
      <div id="system_button" class="button">System</div>
      <div id="proxy_button" class="button">Proxy</div>
 +    <hr />
 +    <div id="settings_button" class="button">Settings</div>
      <script src="popup.js"></script>
    </body>
  </html>
 diff --git a/works/ProxyChanger/popup/popup.js b/works/ProxyChanger/popup/popup.js index 31c1384..0615035 100644 --- a/works/ProxyChanger/popup/popup.js +++ b/works/ProxyChanger/popup/popup.js @@ -22,26 +22,37 @@ browser.proxy.settings.get({}).then(({ value }) => {    }
  });
 -const proxyConfigs = {
 -  direct: {
 -    proxyType: "none",
 -  },
 -  system: {
 -    proxyType: "system",
 -  },
 -  proxy: {
 -    proxyType: "manual",
 -    http: "http://localhost:8888",
 -    httpProxyAll: true,
 -  },
 -};
 +browser.storage.local.get("proxyUrl").then(({ proxyUrl }) => {
 +  console.log("Saved proxy url is ", proxyUrl);
 +
 +  const proxyConfigs = {
 +    direct: {
 +      proxyType: "none",
 +    },
 +    system: {
 +      proxyType: "system",
 +    },
 +    proxy: {
 +      proxyType: "manual",
 +      http: proxyUrl,
 +      httpProxyAll: true,
 +    },
 +  };
 -for (const key in buttons) {
 -  buttons[key].addEventListener("click", () => {
 -    browser.proxy.settings.set({ value: proxyConfigs[key] }).then((success) => {
 -      if (success) {
 -        setSelectedButton(key);
 -      }
 +  for (const key in buttons) {
 +    buttons[key].addEventListener("click", () => {
 +      console.log("Try to set proxy to ", proxyConfigs[key]);
 +      browser.proxy.settings
 +        .set({ value: proxyConfigs[key] })
 +        .then((success) => {
 +          if (success) {
 +            setSelectedButton(key);
 +          }
 +        });
      });
 -  });
 -}
 +  }
 +});
 +
 +document.getElementById("settings_button").addEventListener("click", () => {
 +  browser.runtime.openOptionsPage();
 +});
  | 
