privacy.network
privacy.network
属性包含了与隐私相关的网络设置。每个属性都是一个 types.BrowserSetting
对象。
这些属性的默认值在不同的浏览器中可能有所不同。
属性
networkPredictionEnabled
-
types.BrowserSetting
对象,其底层值是布尔值。若为true
,则浏览器将尝试通过预解析 DNS 条目、预渲染站点(例如使用<link rel='prefetch' …>
)以及预先打开到服务器的 TCP 和 TLS 连接来提升 Web 浏览速度。 peerConnectionEnabled
-
types.BrowserSetting
对象,其底层值是布尔值。若为false
,则RTCPeerConnection
接口将被禁用。请注意,getUserMedia()
不受此设置影响。 webRTCIPHandlingPolicy
-
types.BrowserSetting
对象,其底层值是字符串。这一设置将允许用户指定影响 WebRTC 流量路由方式以及暴露多少本地地址信息的媒体性能/隐私权衡。它可以取以下任一值,从最不私密到最私密:default
default_public_and_private_interfaces
default_public_interface_only
disable_non_proxied_udp
proxy_only
(仅允许基于代理的 TCP 连接的 TURN 连接)
httpsOnlyMode
-
这一设置允许你的扩展程序确定用户是否启用了 HTTPS-Only 模式。该属性在所有平台上都是只读的。其底层值是一个字符串,可以取以下三个值之一:
"always"
:HTTPS-Only 模式已启用。"never"
:HTTPS-Only 模式已关闭。"private_browsing"
:仅在隐私浏览窗口中启用了 HTTPS-Only 模式。
globalPrivacyControl
-
这一设置允许你的扩展程序确定用户是否启用了全局隐私控制。该属性在所有平台上都是只读的。其底层值是一个布尔值,其中
true
表示浏览器发送全局隐私控制信号,false
表示浏览器不发送这些信号。
浏览器兼容性
BCD tables only load in the browser
示例
设置 webRTCIPHandlingPolicy
属性:
function onSet(result) {
if (result) {
console.log("成功");
} else {
console.log("失败");
}
}
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("无法设置 webRTCIPHandlingPolicy");
}
});
});
备注:
该 API 基于 Chromium 的 chrome.privacy
API。本文衍生自 Chromium 代码中的 privacy.json
。