Я хочу заблокировать определенные URL в браузерах. Я не хочу блокировать весь сайт. Например, я хочу заблокировать Google Reader, но не весь домен Google . Есть ли способ, которым я могу это сделать?
4 ответа
Ответ будет незначительно отличаться в зависимости от используемой операционной системы. Я использую Ubuntu на powerpc:p, но в целом те же правила применимы и к Windows и Mac. Если эти инструкции не работают для вас, я адаптирую этот ответ для вашей ОС. А пока вот метод Linux.
Единственный способ, который я нашел после нескольких часов поиска, - это установить privoxy
.
После установки privoxy вам нужно отредактировать файл /etc/privoxy/config
следующим образом:
1) Найти где написано
#listen-address localhost:8118
и раскомментируйте эту строку так, чтобы она говорила
listen-address localhost:8118
2) Добавьте следующие строки в конец этого файла конфигурации:
actionsfile blacklist.action
actionsfile whitelist.action
3) Теперь вам нужно создать эти файлы действий в текстовом редакторе от имени root: a) gksu gedit /etc/privoxy/blacklist.action
и добавить следующее
{ +block }
www.apple.com/itunes
twil.tv/category/video
www.url.com/page
все, что вы добавите в строку {+block}, будет заблокировано
б) Соответственно вы должны создать файл whitelist.action
gksu gedit /etc/privoxy/whitelist.action
и добавьте строки
{ -block }
www.google.com
или что бы вы ни обнаружили блокировку privoxy, которую вы хотите защитить.
После того, как вы сохранили три файла, вам нужно перезапустить privoxy:
sudo /etc/init.d/privoxy restart
и вы должны убедиться, что ваши настройки прокси в вашем браузере или в вашей конфигурации сети верны, добавив localhost в качестве прокси и 8118 в качестве номера порта, и все, что вам нужно.
СЕРЬЕЗНЫЕ и НЕДОСТАТОЧНЫЕ недостатки недостатка privoxy в том, что он является прокси-сервером, поэтому все, что нужно, чтобы остановить его работу, - это отключить его или использовать другой браузер. Я все еще ищу способ добавить privoxy к моему маршрутизатору или как-то запустить его, не в качестве прокси, а в качестве моего значения по умолчанию для порта 80, тогда вы можете заблокировать файлы конфигурации, чтобы никто не мог их изменить.
Это наиболее близкий ответ на вашу проблему.
Если вначале он не работает, не забудьте очистить кеш вашего браузера, потому что заблокированные вами страницы могут отображаться из кеша даже после того, как они были заблокированы.
Также вы можете отключить это:
убедитесь, что для enforce-blocks 1
установлено значение 1
в /etc/privoxy/config
enforce-blocks 1
В противном случае, когда появится предупреждение о блокировке страницы, у него будет возможность в любом случае перейти на заблокированную страницу, несмотря на то, что она заблокирована, и полностью лишить privoxy смысла.
Если вы хотите заблокировать определенный домен в масштабе всей системы, вам следует использовать файл hosts (см. Здесь). Итак, если вы хотите заблокировать Google Reader, добавьте в свой файл hosts следующее:
127.0.0.1 reader.google.com
Однако на это есть ограничения. Хотя вы можете блокировать субдомены и домены, вы не можете использовать файл hosts для блокировки подкаталогов (например, www.example.com/subdirectory). В случае с Google Reader можно просто перейти на www.google.com/reader, чтобы обойти блокировку. Более всеобъемлющим решением может быть использование чего-то вроде Privoxy для управления веб-доступом.
Если вы используете Firefox или Google Chrome, вы можете использовать настраиваемое расширение "рекламный блок", чтобы сделать это. Расширения для блокировки рекламы обычно поставляются с целым рядом веб-сайтов, которые они блокируют «из коробки», однако большинство настраиваемых из них позволят вам удалить этот список по умолчанию и добавить только те веб-сайты, которые вам не нужны.
Самое простое решение вашей проблемы - использовать расширение / скрипт для вашего браузера.
Я использовал Chrome Nanny, чтобы сделать трюк в Chrome. LeechBlock кажется альтернативой Firefox. Оба поддерживают подстановочные знаки в доменах, и вы можете установить конкретные периоды времени, в которые блокировать URL.