Firefox/Chrome,如何将 localhost 和 wikipedia.org 列入白名单?

Firefox/Chrome,如何将 localhost 和 wikipedia.org 列入白名单?

在 Firefox 和 Chrome 上,如何允许本地网络维基百科localhost、、、等)但192.168.1.*阻止*.wikipedia.org其他所有内容?本质上是白名单。但是我仍然希望系统上的其他工具能够完全访问互联网,例如gitwget等,因此解决方案不能影响它们。

本质上是在浏览器级别而不是系统级别将互联网列入白名单。

答案1

对于 Chrome,您可以使用一个命令行参数:

google-chrome --host-rules="MAP * 127.0.0.1, EXCLUDE wikipedia.org","MAP * 127.0.0.1, EXCLUDE *.wikipedia.org"

这会将每个域映射到本地主机(维基百科除外)。

/usr/lib/firefox/distribution/policies.json对于 Firefox,请创建包含以下内容的文件:

{ 
  "policies": {
    "WebsiteFilter": {
      "Block": ["<all_urls>"],
      "Exceptions": ["*://wikipedia.org/*","*://*.wikipedia.org/*","*://localhost/*"]
    }
  }
}

您可以在以下位置找到有关 Firefox 支持的政策的更多信息https://github.com/mozilla/policy-templates

答案2

另一个选择是使用用户脚本(greasmonkey、tampermonkey)将网络列入白名单。

// ==UserScript==
// @name     White List
// @version  1
// @grant    none
// @run-at   document-start
// @match    *://*/*
// ==/UserScript==

var hostname = window.location.hostname;

var allowIPs = true;
var whiteList = [
  "localhost",
  "wikipedia.org",
  "askubuntu.com"
];

// https://stackoverflow.com/a/26445549/473368
var ip = allowIPs && /^(?!0)(?!.*\.$)((1?\d?\d|25[0-5]|2[0-4]\d)(\.|$)){4}$/.test(hostname);

var listed = false;
for (var x in whiteList) {
  if (hostname.indexOf(whiteList[x]) != -1) {
      listed = true;
      break;
  }
}

// Not an IP? Not a whitelisted domain? Block it!
if (!ip && !listed) {
    document.documentElement.remove();
}

相关内容