The privacy.network
property contains privacy-related network settings. Each property is a types.BrowserSetting
object.
Default values for these properties tend to vary across browsers.
The privacy.network
property contains privacy-related network settings. Each property is a types.BrowserSetting
object.
Default values for these properties tend to vary across browsers.
networkPredictionEnabled
A types.BrowserSetting
object whose underlying value is a boolean. If true
, the browser attempts to speed up web browsing by pre-resolving DNS entries, prerendering sites (using, for example, <link rel='prefetch' …>
), and preemptively opening TCP and SSL connections to servers.
peerConnectionEnabled
A types.BrowserSetting
object whose underlying value is a boolean. If false
, the RTCPeerConnection
interface is disabled. Note that getUserMedia()
is not affected by this setting.
webRTCIPHandlingPolicy
A types.BrowserSetting
object whose underlying value is a string. This setting allows users to specify the media performance/privacy tradeoffs which affect how WebRTC traffic will be routed and how much local address information is exposed. It may take any one of the following values, from least private to most private:
default
default_public_and_private_interfaces
default_public_interface_only
disable_non_proxied_udp
proxy_only
(only connections using TURN on a TCP connection through a proxy are allowed)httpsOnlyMode
This setting allows your extension to determine if a user has enabled HTTPS-Only mode. This property is read-only on all platforms. Its underlying value is a string that may take one of three values:
"always"
: HTTPS-Only mode is on."never"
: HTTPS-Only mode is off."private_browsing"
: HTTPS-Only mode is on in private browsing windows only.globalPrivacyControl
this setting allows your extension to determine if a user has enabled Global Privacy Control. This property is read-only on all platforms. Its underlying value is a boolean where true
indicates that the browser sends Global Privacy Control signals and false
indicates the browser does not send the signals.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
globalPrivacyControl |
No | No | 95 | ? | No | No | ? | ? | 95 | ? | No | ? |
httpsOnlyMode |
Yes | Yes | 84 | ? | Yes | No | ? | ? | 84 | ? | No | ? |
networkPredictionEnabled |
Yes | 79 | 54 | ? | Yes | No | ? | ? | 54 | ? | No | ? |
peerConnectionEnabled |
No | No | 55 | ? | No | No | ? | ? | 55 | ? | No | ? |
webRTCIPHandlingPolicy |
Yes | 79 |
54Starting in Firefox 70, a value ofdisable_non_proxied_udp requires a proxy if one is configured, but allows connections to go through if no proxy is set up. Previously, in this mode WebRTC could only be used if a proxy was configured and TURN over TCP was available; this behavior is now exposed as proxy_only .
|
? | Yes | No | ? | ? | 54 | ? | No | ? |
Set the webRTCIPHandlingPolicy
property:
function onSet(result) {
if (result) {
console.log("success");
} else {
console.log("failure");
}
}
browser.browserAction.onClicked.addListener(() => {
let getting = browser.privacy.network.webRTCIPHandlingPolicy.get({});
getting.then((got) => {
console.log(got.value);
if ((got.levelOfControl === "controlled_by_this_extension") ||
(got.levelOfControl === "controllable_by_this_extension")) {
let setting = browser.privacy.network.webRTCIPHandlingPolicy.set({
value: "default_public_interface_only"
});
setting.then(onSet);
} else {
console.log("Not able to set webRTCIPHandlingPolicy");
}
});
});
Note: This API is based on Chromium's chrome.privacy
API. This documentation is derived from privacy.json
in the Chromium code.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/privacy/network