В Firefox и Chrome, как разрешить локальную сеть и Википедию ( localhost
, 192.168 .1. *
, *. Wikipedia.org
и т. Д.), Но заблокировать все остальное? Белый список по сути. Однако я все еще хочу, чтобы другие инструменты в системе имели полный доступ к Интернету, например git
, wget
и т. Д., Поэтому решение не должно влиять на них.
По сути, заносите Интернет в белый список на уровне браузера, а не на уровне системы.
Для Chrome есть команда параметр строки, который вы можете использовать:
google-chrome --host-rules="MAP * 127.0.0.1, EXCLUDE wikipedia.org","MAP * 127.0.0.1, EXCLUDE *.wikipedia.org"
Он отображает каждый домен на localhost, за исключением wikipedia.
Для Firefox создайте файл /usr/lib/firefox/distribution/policies.json
с этим содержимым:
{
"policies": {
"WebsiteFilter": {
"Block": ["<all_urls>"],
"Exceptions": ["*://wikipedia.org/*","*://*.wikipedia.org/*","*://localhost/*"]
}
}
}
] Вы можете найти дополнительную информацию о политиках, поддерживаемых firefox, на https://github.com/mozilla/policy-templates
Другой вариант: использовать пользовательский скрипт (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();
}