Module: Browsed::Proxies::Chrome::ProxyAuthentication

Defined in:
lib/browsed/proxies/chrome/proxy_authentication.rb

Defined Under Namespace

Classes: Packager

Constant Summary collapse

MANIFEST_JSON_TEMPLATE =
<<-TEMPLATE
{
  "version": "1.0.0",
  "manifest_version": 2,
  "name": "Chrome Proxy",
  "permissions": [
    "proxy",
    "tabs",
    "unlimitedStorage",
    "storage",
    "<all_urls>",
    "webRequest",
    "webRequestBlocking"
  ],
  "background": {
    "scripts": ["background.js"]
  },
  "minimum_chrome_version":"22.0.0"
}
TEMPLATE
BACKGROUND_SCRIPT_TEMPLATE =
<<-TEMPLATE
var config = {
  mode: "fixed_servers",
  rules: {
    singleProxy: {
      scheme: "http",
      host: "%s",
      port: parseInt(%s)
    },
    bypassList: ["localhost"]
  }
};

chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});

function callbackFn(details) {
  return {
    authCredentials: {
      username: "%s",
      password: "%s"
    }
  };
}

chrome.webRequest.onAuthRequired.addListener(
  callbackFn,
  {urls: ["<all_urls>"]},
  ['blocking']
);
TEMPLATE