0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

macOS Safariの広告をブロックする方法。

Last updated at Posted at 2021-05-25

はじめに

広告ブロックといえば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
  1. Finderで[Shift+⌘+G]を押して/etc/hostsを入力します。
  2. etcが開くので、中のhostsをデスクトップにコピーします。
  3. デスクトップにコピーした方をダブルクリックで開きます。
  4. 編集したら保存して、etcにドラッグ&ドロップで上書きします。
  5. 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の設定を変更しただけで広告はブロックされたのですが、設定を戻しても広告はブロックされたままなので、「設定の変更は関係あったのか?」という状況です。
とは言え、設定変更した内容だけメモしておきます。

  1. Safariで[⌘+,]で環境設定を開きます。
  2. 検索タブを選択します。
  3. 全てのチェックボックスを外します。
-参考にさせていただいた記事-

macos - Why is adding adding sites to /etc/hosts not blocking them on BigSur? - Ask Different

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?