A BrowserSetting object that can be used to change the browser's proxy settings.


The ability to change proxy settings requires private window access because proxy settings affect both private and non-private windows. Therefore, if an extension has not been granted private window permission, calls to proxy.settings.set() will throw an exception.

The underlying value is an object with the properties listed below.

When setting this object, all properties are optional. Note that any properties that are omitted will be reset to their default value.

string. A URL to use to configure the proxy.
boolean. Do not prompt for authentication if the password is saved. Defaults to false.
ftpOptional This deprecated API should no longer be used, but will probably still work.
string. The address of the FTP proxy. Can include a port.
string. The address of the HTTP proxy. Can include a port.
boolean. Use the HTTP proxy server for all protocols. Defaults to false.
string. A comma-separated list of hosts which should not be proxied. Defaults to "localhost,".
boolean. Proxy DNS when using SOCKS5. Defaults to false.
string. The type of proxy to use. This may take any one of the following values: "none", "autoDetect", "system", "manual", "autoConfig". Defaults to "system".
string. The address of the SOCKS proxy. Can include a port.
integer. The version of the SOCKS proxy. May be 4 or 5. Defaults to 5.
string. The address of the SSL proxy. Can include a port.


let proxySettings = {
  proxyType: "manual",
  http: "",
  socksVersion: 4,
  passthrough: ""

browser.proxy.settings.set({value: proxySettings});

Browser compatibility

BCD tables only load in the browser