インターネット上には、魅力的なサイトやコンテンツが溢れており、ついつい時間を忘れてネットサーフィンに夢中になってしまうこともあるでしょう。
しかし、仕事や勉強に集中したい時、あるいは特定のサイトへのアクセスを制限したい時など、Webサイトへのアクセスをコントロールしたい場面も少なくありません。
そこで今回は、ブラウザ拡張機能「Tampermonkey」を使って、特定のサイトへのアクセスをブロックする方法を紹介します。
Tampermonkeyとは?
Tampermonkeyは、ユーザーが作成したスクリプトを実行することで、Webサイトの動作を変更できるブラウザ拡張機能です。
広告ブロック、サイトのデザイン変更、機能追加など、様々な用途に活用できます。
今回は、このTampermonkeyを使って、特定のサイトへのアクセスをブロックするスクリプトを作成します。
特定のサイトをブロックするスクリプト
// ==UserScript== // @name サイトブロッカー // @namespace http://tampermonkey.net/ // @version 0.1 // @description 指定したサイトへのアクセスをブロックします // @author あなたの名前 // @match *://*.example.com/* // @grant none // @run-at document-start // ページの読み込み開始時にスクリプトを実行 // ==/UserScript== if (window.location.hostname.endsWith("example.com")) { window.location.href = "about:blank"; // ブロックした際に表示するページ }
解説:
- @match: ブロックしたいサイトのURLを指定します。*://*.example.com/* は、example.com ドメインのすべてのページにマッチします。
- @run-at: document-start を指定することで、ページの読み込み開始時にスクリプトを実行します。これにより、ブロック対象のサイトのコンテンツが読み込まれる前にリダイレクトが実行されます。
- if (window.location.hostname.endsWith(“example.com”)): 現在のページのホスト名が example.com で終わるかどうかを判定します。
- window.location.href = “about:blank”;: アクセスをブロックし、空白ページを表示します。
使い方
- Tampermonkeyをブラウザにインストールします。(Chrome, Firefox, Edgeなどに対応)
- Tampermonkeyのダッシュボードを開き、「新しいスクリプト」をクリックします。
- 上記のスクリプトをコピーして貼り付けます。
- @match の部分を、ブロックしたいサイトのURLに書き換えます。
- 保存して有効化します。
これで、指定したサイトにアクセスしようとすると、空白ページが表示され、アクセスがブロックされます。
応用
複数のサイトをブロックしたい場合は、@match に複数のURLを記述します。
ブロックした際に表示するページを変更したい場合は、window.location.href の値を変更します。例えば、特定のメッセージを表示するページを作成することもできます。
特定の時間帯だけブロックしたい場合は、スクリプトに時間判定の処理を追加します。
注意点
このスクリプトは、JavaScriptが実行される環境でのみ有効です。JavaScriptが無効になっている場合は、ブロックされません。
悪意のあるスクリプトを実行しないように、信頼できるソースからのみスクリプトをインストールしてください。
まとめ
Tampermonkeyを使えば、簡単に特定のサイトへのアクセスをブロックすることができます。
仕事や勉強に集中したい時、あるいは特定のサイトへのアクセスを制限したい時に、ぜひ活用してみてください。