1
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?

Cloudflare Tunnel + WARP ClientのDNSフィルタでAdblockする(CLIでお手軽に設定 編)

1
Posted at

背景

以前、Cloudflare Tunnelというサービスを使うことで、ドメイン指定で広告ブロックする方法を書きました。

上記の方法では手動でポチポチ設定していたのですが、よく考えるとCLIからも設定できることに気づき、Claudeに聞きながら設定してみたのでその紹介です。

手順

Cloudflare Tunnelは設定済みの前提で、DNSフィルタの設定の部分のみ説明します。

APIトークン発行

  1. APIトークンのページにアクセス
    https://dash.cloudflare.com/profile/api-tokens
  2. 右上の「トークンを作成」をクリック
  3. 「カスタムトークンを作成」をクリック
    image.png
  4. 「トークン名」は分かりやすい名前にします。
    「権限」は「アカウント>ゼロトラスト>編集」にします。
    「アカウント」は「全てのアカウントを含む」にします。
    image.png
  5. 一番下の「概要に進む」を押し、次の画面で「トークンを作成」を押します。
  6. 表示されたトークンをコピーします
  7. また、Macのターミナルで、テストコマンドを打って、上手くいくか確認します。
    "This API Token is valid and active"という内容が返ってきます。

アカウントID確認

  1. 上記APIトークンに加えて、ACCOUNT_IDが必要なため取得します。Cloudflareダッシュボードにアクセスします。
    https://dash.cloudflare.com
  2. すると、URLが以下の形式に変わります。このときのアカウントIDをメモしておきます。
    https://dash.cloudflare.com/<アカウントID>/home/overview

ブロックするドメイン登録

280blockerのドメインリストを登録します。
登録には以下のシェルを用います(Claudeに作ってもらいました。Mac環境で動作確認済み)

curl -LO https://gist.githubusercontent.com/t2murata/0ec52ce47b7ee45a65f344feecb8ca13/raw/924ea71a003ae0fafea2e2aa5840497e5cdebf8c/setup_dns_filter.sh

https://gist.github.com/t2murata/0ec52ce47b7ee45a65f344feecb8ca13

実行の際は、CF_API_TOKENCF_ACCOUNT_IDという環境変数を覚えさせてから、シェルを流すだけです。
※Shellの中身を見れば分かりますが、同名のリストがあるとエラーが出るため「280blocker_cli_setup」みたいな名前のリストを削除しています。

export CF_API_TOKEN=<APIトークン>
export CF_ACCOUNT_ID=<アカウントID>
bash ./setup_dns_filter.sh

image.png

動作確認(任意)

Cloudflareのダッシュボードのインサイト>Logs>DNSクエリーログを確認すると、ちゃんとブロックされていることが確認できます。

image.png

1
1
0

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
1
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?