はじめに
広告ブロックといえばhostsファイルにブロックしたいドメインを追加するだけでしたが、macOS Big Surではすんなり行かなかったので、調べた事のメモです。
hostsファイルとは
hostsとはIPアドレスとホスト名の対応を記述したテキストファイルで、ここにブロックしたいホスト名とlocalhostを対応するように記述しておいてサーバーがみつからないという状態にします。
-参考にさせていただいた記事-
hostsファイルとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ローカルホスト (localhost)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
hostsの編集
hostsはアクセス権限により通常のテキストのようには編集できません。
ターミナルから編集する方法もありますが、僕は以下の手順で編集しました。
google.com をブロックしたい場合
127.0.0.1 google.com
::1 google.com
-
Finderで[Shift+⌘+G]を押して
/etc/hosts
を入力します。 -
etc
が開くので、中のhostsをデスクトップにコピーします。 - デスクトップにコピーした方をダブルクリックで開きます。
- 編集したら保存して、
etc
にドラッグ&ドロップで上書きします。 - Touch IDかパスワードを求められて編集作業は終了です。
🐰お疲れさまでした。
-参考にさせていただいた記事-
macでhostsファイルを書き換える3つの方法【保存版】 | oku-log
DNSキャッシュのクリア
hostsに追記されたホスト名はlocalhostを参照するようになりましたが、既にDNSサーバーから取得したIPアドレスはキャッシュされているので、これをクリアしないと反映されません。
ターミナルから次のコマンドでキャッシュをクリアします。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
-参考にさせていただいた記事-
How to Flush DNS Cache in MacOS Catalina & Big Sur
Flush DNS cache locally in macOS, OSX, Linux and Windows
Safariの設定
この記事を書きはじめたきっかけなのですが、自信がなくなってしまいました。
と言うのも、Safariの設定を変更しただけで広告はブロックされたのですが、設定を戻しても広告はブロックされたままなので、「設定の変更は関係あったのか?」という状況です。
とは言え、設定変更した内容だけメモしておきます。
- Safariで[⌘+,]で環境設定を開きます。
- 検索タブを選択します。
- 全てのチェックボックスを外します。
-参考にさせていただいた記事-
macos - Why is adding adding sites to /etc/hosts not blocking them on BigSur? - Ask Different