claude-blocker は何をしますか?
🛡️ Claude Code使用中に気を散らすWebサイトをブロックし、集中した作業セッションを確保して中断を最小限に抑えます。
概要
このツールは、Claude Codeが実行されているときに、あらかじめ定義された気を散らすWebサイトへのアクセスを自動的にブロックします。ブロックルールはClaude Codeのプロセスがアクティブな間のみ有効で、プロセスが終了すると自動的に解除されるため、集中力を維持しやすくなります。
仕組み
- プロセス監視: スクリプトが定期的にClaude Codeのプロセス(例:
claude)が実行中かどうかを確認します。 - 動的ブロック: プロセスが検出されると、
/etc/hostsファイルを変更して、定義済みのブラックリストにあるドメインを127.0.0.1にリダイレクトします。 - 自動解除: Claude Codeのプロセスが終了すると、ブロックルールは自動的に削除され、通常のインターネットアクセスが復元されます。
必要環境
- OS: LinuxまたはmacOS(
/etc/hostsへの書き込み権限が必要なため、管理者権限が必要です)。 - 依存関係:
bash、grep、sudo(または適切な権限)。
インストール方法
- このリポジトリをクローンします。
git clone https://github.com/Optimalko/claude-blocker.git - スクリプトに実行権限を付与します。
chmod +x claude-blocker.sh - (推奨)ブラックリストをカスタマイズするには、
blocklist.txtファイルを編集します。デフォルトでは、以下のサイトが含まれています。example.comsocial-media.comnews-site.com
使い方
sudo ./claude-blocker.sh
スクリプトはバックグラウンドで実行され、Claude Codeのプロセスを監視します。ログはclaude-blocker.logに出力されます。
カスタマイズ
blocklist.txtを編集して、ブロックしたいドメインを追加または削除できます。各行に1つのドメインを指定します。
注意事項
- このツールは
/etc/hostsを変更するため、管理者権限で実行する必要があります。 - 既存の
/etc/hostsエントリと競合する可能性があるため、事前にバックアップを取ることを推奨します。 - Claude Codeのプロセス名が異なる場合は、スクリプト内の
CLAUDE_PROCESS変数を適宜変更してください。
ライセンス
MIT