Найти в Дзене

Как запретить все сайты и разрешить только избранные

Предполагается, что Вы прочли общую статью про БЕЛЫЙ СПИСОК и в точности выполнили всё, что в ней предлагается предварительно сделать. Иными словами, у Вас уже работает прокси-сервер Privoxy и Вы предприняли все упомянутые мной необходимые меры безопасности, чтобы юный раздолбай неразумный ребёнок ничего не смог поменять в настройках или как-то вмешаться в работу Privoxy. Запрещаем в Privoxy все сайты Сначала запретим в Privoxy вообще все сайты. Чтобы запретить в Privoxy все сайты, нужно открыть в директории C:\privoxy файл user.action Из-за "нестандартного" расширения файла может выскочить окно с вопросом "Каким образом Вы хотите открыть этот файл?" Тогда выберите "Блокнот" и нажмите "OK". Файл user.action нужно промотать до самого конца. Если Вы при установке Privoxy всё сделали точно по статье БЕЛЫЙ СПИСОК, то в конце файла user.action у Вас должны быть строки: {+https-inspection}
.
{+ignore-certificate-errors}
. Дописываем в конец файла user.action строки: { +block{Total ban} +add
Оглавление
Как запретить все сайты и оставить только избранные (одобренные). Цензура, тоталитаризм и либерально-демократическая диктатура в домашних условиях.
Как запретить все сайты и оставить только избранные (одобренные). Цензура, тоталитаризм и либерально-демократическая диктатура в домашних условиях.

Предполагается, что Вы прочли общую статью про БЕЛЫЙ СПИСОК и в точности выполнили всё, что в ней предлагается предварительно сделать.

Иными словами, у Вас уже работает прокси-сервер Privoxy и Вы предприняли все упомянутые мной необходимые меры безопасности, чтобы юный раздолбай неразумный ребёнок ничего не смог поменять в настройках или как-то вмешаться в работу Privoxy.

Запрещаем в Privoxy все сайты

Сначала запретим в Privoxy вообще все сайты.

Чтобы запретить в Privoxy все сайты, нужно открыть в директории C:\privoxy файл user.action

-2

Из-за "нестандартного" расширения файла может выскочить окно с вопросом "Каким образом Вы хотите открыть этот файл?"

-3

Тогда выберите "Блокнот" и нажмите "OK".

-4

Файл user.action нужно промотать до самого конца.

-5

Если Вы при установке Privoxy всё сделали точно по статье БЕЛЫЙ СПИСОК, то в конце файла user.action у Вас должны быть строки:

{+https-inspection}
.

{+ignore-certificate-errors}
.

-6

Дописываем в конец файла user.action строки:

{ +block{Total ban} +add-header{HTTP/1.0 404 Not Found} }
.

Все изменения в файлах user.action и user.filter Privoxy "видит" сразу (если, конечно, не были допущены ошибки).

-7

Теперь Privoxy будет банить все сайты без исключения, самым беспощадным образом. :-)

Точка в данном случае означает "всё" (любой URL).

Проверим, как Privoxy банит сайты хотя бы на примере https://ipmy.ru или https://ya.ru. Как видно, вместо начальной страницы Яндекса Privoxy выдаёт сообщение о блокировке.
Внешний вид всех сообщений Privoxy можно настроить в шаблонах в поддиректории templates.

-8

Выборочно разрешаем в Privoxy отдельные сайты либо отдельные страницы

Что ж, начнём вести свой белый список сайтов.   :-)

Попробуем выборочно разбанить отдельный сайт, например, https://mail.ru.

Дописываем в конец файла user.action строки, отменяющие действие ранее добавленных правил block{Total ban} и add-header{HTTP/1.0 404 Not Found} для указанных сайтов:

{ -block{Total ban} -add-header{HTTP/1.0 404 Not Found}}
.mail.ru

Точка в начале доменного имени означает, что мы одновременно разбаниваем и все поддомены сайта.

-9

Смотрим, что получилось. Видно, что сайт mail.ru открывается, но как-то не так...

-10

Чтобы понять, в чём же дело, нажимаем клавишу F12, чтобы открыть в браузере консоль разработчика.
В консоли разработчика выбираем вкладку "Сеть" и нажимаем клавишу F5, чтобы обновить страницу.

-11

Изучив вывод информации во вкладке "Сеть", можно понять, что сайт mail.ru использует информацию со сторонних доменов, которые, естественно, блокируются Privoxy.
На каких-то из них находятся изображения / CSS-файлы, нужные JavaScript'ы и т.п. - такие домены также надо внести в белый список.
С каких-то доменов подтягивается навязчивая реклама - эти домены в белый список вносить не следует.
Кстати, какие-то баннеры с сайта mail.ru Privoxy может банить "по собственной инициативе", своими фильтрами по-умолчанию.

Дописываем в конец файла user.action строку:
.imgsmail.ru
(Очевидно, что на поддоменах imgsmail.ru есть что-то, без чего сайт mail.ru нормально отображаться не может.)

-12

Нажимаем клавишу F5, чтобы обновить страницу.

Видно, что сайт mail.ru стал отображаться почти как надо.
Однако видны не все изображения.

-13

Попробуем разобраться, в чём дело.

Кликаем на неотобразившейся картинке правой кнопкой мыши и выберем "Исследовать".
При этом откроется консоль разработчика на вкладке "Инспектор", в которой виден соответствующий картинке HTML-код.

-14

Очевидно, что в нашем случае картинка находится на поддомене сайта mradx.net - внесём и его в наш белый список.

Дописываем в конец файла user.action строку:
.mradx.net

-15

Нажимаем клавишу F5, чтобы обновить страницу.

Видно, что сайт mail.ru стал отображаться без глюков. :-)

-16

Давайте повнимательнее посмотрим на информацию из консоли разработчика по сайту mail.ru...
Зайдём, например, во вкладку "Отладчик".
Что это за скрипт за такой -
core-logger.min.js? Что он логирует, куда отправляет - непонятно...
Попробуем его забанить!   :-)

-17

Чтобы забанить отдельную страницу, дописываем в конец файла user.action строки, возобновляющие действие правил block{Total ban} и add-header{HTTP/1.0 404 Not Found}:

{ +block{Total ban} +add-header{HTTP/1.0 404 Not Found} }
.mail.ru/core-logger.min.js

Теперь отдельно взятый с сайта mail.ru скрипт https://mail.ru/core-logger.min.js банится, но сам сайт mail.ru при это работает.

-18

Как видно, Privoxy применяет правила последовательно. И каждое последующее правило отменяет предыдущее (естественно, только в рамках указанных после этого правила URL'ов).
Т.е. сначала мы баним буквально всё.
Затем именно для сайта mail.ru мы это правило "бана всего" отменяем.
А потом для одного-единственного URL'а сайта mail.ru приходится создавать отдельное банящее этот URL правило, т.к. в предыдущем правиле был разбанен целый домен.

Попробуем теперь разблокировать раздел "Карты" сайта yandex.ru: https://yandex.ru/maps/.
(При этом все остальные разделы Яндекса (включая главную страницу) останутся заблокированными.)

В файле user.action в правиле, разрешающем сайт mail.ru, дописываем строку:
.yandex.ru/maps/

-19

Видно, что URL https://yandex.ru/maps/ открывается, а остальные страницы / разделы / поддомены Яндекса - нет.
(В нашем примере это
https://yandex.ru, https://mail.yandex.ru и https://yandex.ru/games/.

-20

Как и в случае с mail.ru, страница https://yandex.ru/maps/ открылась как-то не так...
Очевидно, что Яндекс тоже использует какие-то поддомены.

Нажимаем F12 и в консоли разработчика (вкладка "Сеть") смотрим, чего не хватает для корректного отображения Яндекс.Карт.

-21

Быстро становится понятно, что много чего Яндекс хранит на поддоменах доменов yastatic.net и yandex.net - вносим их в соответствующее правило в файле user.action.

-22

Обновляем страницу (нажимаем F5) - вуаля! Яндекс.Карты отображаются корректно.

-23

Помимо консоли разработчика также полезно анализировать и LOG, ведущийся Privoxy. Например в случае Яндекса там были такие вот строки:
Request: https://api.passport.yandex.ru/registration_status/check
Crunch: Blocked: https://api.passport.yandex.ru/registration_status/check

Это наводит на мысль, что для владельцев учётной записи на Яндексе без разблокировки соответствующих URL'ов не получится авторизоваться...

А ещё вот капча мне в процессе всех этих экспериментов выпала, тоже со своими специфическими URL'ами.....

Все эти URL'ы следует разрешить в соответствующем правиле в файле user.action:

.passport.yandex.ru ### api.passport.yandex.ru
.yandex.ru/captcha ### https://yandex.ru/captchapgrd
.yandex.ru/showcaptcha
.yandex.ru/checkcaptcha

Послесловие к статье

Теперь Вы, понимая принципы, по которым формируется и работает белый список сайтов, сможете самостоятельно создать свой собственный белый список.

Всё, что было изложено выше - это всего лишь учебный пример.

Что конкретно должно быть в Вашем белом списке сайтов - я не знаю. :-)   Наверное, та же почта Яндекса, GosUslugi.ru, мой блог www.balpom.ru ;-)   .
Если Вы создаёте белый список сайтов для ребёнка, то Вам, как родителям, лучше знать, какие конкретно сайты нужны Вашему ребёнку.

Спасибо за внимание и уделённое время!