Некоторое время он работал в старой конфигурации, но потом почему-то перестал работать.
Вот мой файл / etc / hosts с моего MacBook Air в Mountain Lion:
127.0.0.1 reddit.com www.reddit.com
127.0.0.1 facebook.com www.facebook.com
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Это блокирует Reddit, но не Facebook.
Я попытался очистить кэш DNS для компьютера ("sudo killall -HUP mDNSResponder"), загрузчиков (FF и Chrome) и попытался перезагрузить компьютер.
И я переместил записи в верхнюю часть файла по совету этой статьи , но раньше он тоже не работал, когда был внизу. Каждый раз это будет блокировать Reddit, но не Facebook.
macos
osx-mountain-lion
hosts-file
seanieb
источник
источник
dig facebook.com
илиnslookup facebook.com
?Ответы:
harrymc близок, но по какой-то причине OS X (по состоянию на 10.8.2) не учитывает адрес обратной петли IPv6 :: 1 (вероятно, ошибка), поэтому вы должны использовать fe80 :: 1% lo0. Причина, по которой вам нужно заблокировать IPv6, заключается в том, что Facebook будет обслуживать вас через V6, если ваш провайдер его поддерживает. Вы можете легко убедиться в этом, установив плагин для браузера, который отображает значок, когда сайт обслуживается через IPv6. Причина, по которой это не было для вас проблемой раньше, заключается в том, что Facebook, вероятно, только недавно начал обслуживать свой сайт по IPv6.
Итак, правильный ответ:
источник
Попробуйте добавить следующую строку в
/etc/resolv.conf
Это должно заставить OS X использовать / etc / hosts перед dns. Единственная проблема - если вы используете dhcp, этот файл будет перезаписан при каждой перезагрузке.
источник
Меня это тоже растоптало. Мне нравится делать только необходимые шаги и взламывать только необходимые файлы конфигурации и ничего более. Вот краткое изложение того, что работает, а что нет, что необходимо или нет на сегодняшний день :
Взлом @ jesse-endahl работает точно. Необходимо использовать
fe80::1%lo0
для обратной петли IPv6, записи для,::1
кажется, игнорируются.sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
-- не нужноДобавление
lookup file, bind
в/etc/resolv.conf
- не требуетсяПри тестировании важно помнить, что некоторые приложения имеют собственный кэш DNS. Например, браузер Chrome: нет смысла искать IP-адреса при каждой перезагрузке страницы, если IP-адрес
facebook.com
был173.252.110.27
минуту назад, он все еще должен оставаться прежним, верно? Это затрудняет тестирование, потому что Chrome истекает пара минут, чтобы истечь из кеша. Если вы не знаете способ удалить его.Один из методов тестирования, который мне пригодился, - это использование нового окна Incognito в Chrome. Каждый раз, когда вы что-то меняете
/etc/hosts
, открываете новое окно инкогнито, чтобы просмотреть результат, и оно должно работать немедленно. Окна без инкогнито тоже будут работать, в конце концов, это займет пару минут.источник
Попробуйте это :
Если это не работает, см. Статью « Блокировать Facebook», в которой также предлагается:
Если это все еще не работает, вы можете попробовать приложение SelfControl .
источник
Mac OS X El Capitan: версия 10.11.5
Safari: 9.1.1
Мне пришлось использовать комбинацию всех вышеперечисленных ответов, чтобы наконец заблокировать Facebook. Вот содержимое моего
/etc/hosts
файла:И странно .. это сработало!
шаги:
На вашем терминале запустите
sudo vi /etc/hosts
илиsudo pico /etc/hosts
Сохраните вышеуказанное содержимое. (из комментария
# Block Facebook
)На терминале беги
dscacheutil -flushcache
.В Safari очистите кеш. Выбор строки меню
Develop
->Empty Cache
Возможно, вам придется перезагрузить компьютер. И проблема решена!
источник
Попробуйте добавить эти
127.0.0.1 www.facebook.com
127.0.0.1 facebook.com 127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com
Тогда это должно быть заблокировано.
источник