Use the proxy API to proxy web requests. There are two different ways you can do this:

The advantage of the PAC file approach is that if you already have a PAC file it's relatively easy to use it in the WebExtensions framework.

The advantage of the proxy.onRequest approach is that the code that implements your proxy policy runs in your extension's background script, so it gets full access to the WebExtension APIs available to your extension (including, for example, access to your extension's storage and networking APIs like dns).

Apart from this API, extensions can also use the browserSettings.proxyConfig property to configure global proxy settings.

Google Chrome provides an extension API also called "proxy" which is functionally similar to this API, in that extensions can use it to implement a proxying policy. However, the design of the Chrome API is completely different to this API. Because this API is incompatible with the Chrome proxy API, this API is only available through the browser namespace.

To use this API you need to have the "proxy" permission.

Types

proxy.ProxyInfo
Describes a proxy.
proxy.RequestDetails

Contains information about a web request that the browser is about to make.

Properties

proxy.settings
Get and set proxy settings.

Functions

proxy.register()
Registers the given proxy script.
proxy.unregister()
Unregisters the proxy script.

Events

proxy.onError
Fired when the system encounters an error running the PAC script or the onRequest listener.
proxy.onRequest
Fired when a web request is about to be made, giving the extension an opportunity to proxy it.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
onError No No

60

55 *

60

55 *

No
onRequest No No6060 No
ProxyInfo No No6060 No
RequestDetails No No6060 No
register No No

56

55 *

56

55 *

No
settings No No60 *60 * No
unregister No No5656 No

Example extensions

Document Tags and Contributors

Contributors to this page: wbamberg, ericjung, vorwrath, yfdyh000, andrewtruongmoz, mwein
Last updated by: wbamberg,