privacy.network
privacy.network 属性包含与隐私相关的网络设置。每个属性都是一个 types.BrowserSetting 对象。
这些属性的默认值在不同浏览器中往往会有所不同。
属性
networkPredictionEnabled-
一个
types.BrowserSetting对象,其底层值为布尔类型。如果为true,则浏览器会尝试通过预解析 DNS 条目、预渲染网站(例如使用<link rel='prefetch' …>)以及提前打开到服务器的 TCP 和 TLS 连接来加速网页浏览。 peerConnectionEnabled-
一个
types.BrowserSetting对象,其底层值为布尔类型。如果为false,则RTCPeerConnection接口将被禁用。请注意,getUserMedia()不受此设置的影响。 webRTCIPHandlingPolicy-
一个
types.BrowserSetting对象,其底层值为字符串类型。此设置允许用户指定影响 WebRTC 流量路由方式以及本地地址信息暴露程度的媒体性能/隐私权衡。它可以取以下任一值,从隐私性最低到隐私性最高:defaultdefault_public_and_private_interfacesdefault_public_interface_onlydisable_non_proxied_udpproxy_only(只允许通过代理上的 TCP 连接使用 TURN 的连接)
httpsOnlyMode-
此设置允许您的扩展确定用户是否已启用 HTTPS-Only 模式。此属性在所有平台上都是只读的。其底层值为字符串,可能取以下三种值之一:
"always":HTTPS-Only 模式已开启。"never":HTTPS-Only 模式已关闭。"private_browsing":HTTPS-Only 模式仅在隐私浏览窗口中开启。
globalPrivacyControl-
此设置允许您的扩展确定用户是否已启用 全局隐私控件 (Global Privacy Control)。此属性在所有平台上都是只读的。其底层值为布尔类型,其中
true表示浏览器发送全局隐私控件信号,false表示浏览器不发送信号。
示例
设置 webRTCIPHandlingPolicy 属性
js
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");
}
});
});
浏览器兼容性
加载中…
注意:此 API 基于 Chromium 的 chrome.privacy API。本文档源自 Chromium 代码中的 privacy.json。