cli-anything-adguardhome について
AdGuard Home を REST API 経由で管理する、AI エージェントやパワーユーザー向けのコマンドラインツールです。GUI を使わずにフィルタリング、DNS、クライアント、DHCP、クエリログを操作できます。
主な機能
- 01サーバー状態とバージョンの確認
- 02DNS フィルターリストの管理
- 03ペアレンタル制御とセーフブラウジングの設定
- 04クライアントと DNS リライトの管理
- 05DHCP リースとクエリ統計の確認
- 06クエリログの表示と消去
活用シーン
- 01ネットワーク用フィルターリストの追加や更新
- 02ローカル DNS リライト規則の作成
- 03DNS クエリと統計情報の確認
- 04クライアント端末と DHCP リースの管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-adguardhomeインストール後、Claude Code で/cli-anything-adguardhomeを入力して読み込まれたか確認します。
詳細
cli-anything-adguardhome
AdGuard Home REST API によるネットワーク全体の広告ブロックと DNS 管理。GUI を使わずにフィルタリング、DNS リライト、クライアント、DHCP、クエリログを管理する必要がある AI エージェントやパワーユーザー向けに設計されています。
インストール
この CLI は cli-anything-adguardhome パッケージの一部としてインストールされます:
pip install cli-anything-adguardhome
前提条件:
- Python 3.10+
- AdGuard Home がインストールされ、実行されている必要があります
- AdGuard Home のインストール:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
使用方法
基本コマンド
# Show help
cli-anything-adguardhome --help
# Start interactive REPL mode
cli-anything-adguardhome
# Check server status
cli-anything-adguardhome server status
# Run with JSON output (for agent consumption)
cli-anything-adguardhome --json server status
REPL モード
サブコマンドを指定せずに起動すると、CLI は対話型の REPL セッションに入ります:
cli-anything-adguardhome
# Enter commands interactively with tab-completion and history
コマンドグループ
Config
接続と構成の管理。
| コマンド | 説明 |
|---|---|
show | 現在の接続構成を表示します |
save | 接続設定を構成ファイルに保存します |
test | AdGuard Home への接続をテストします |
Server
サーバーのステータスと制御コマンド。
| コマンド | 説明 |
|---|---|
status | サーバーの保護ステータスを表示します |
version | AdGuard Home のバージョンを表示します |
restart | AdGuard Home サーバーを再起動します |
Filter
DNS フィルタリストの管理。
| コマンド | 説明 |
|---|---|
list | 構成されているすべてのフィルタリストを一覧表示します |
status | フィルタリングのステータスを表示します |
toggle | フィルタリングをグローバルに有効化または無効化します |
add | URL で新しいフィルタリストを追加します |
remove | フィルタリストを削除します |
enable | 特定のフィルタリストを有効化します |
disable | 特定のフィルタリストを無効化します |
refresh | すべてのフィルタリストを強制的に更新します |
Blocking
ペアレンタルコントロール、セーフブラウジング、セーフサーチの設定。
| コマンド | 説明 |
|---|---|
parental status | ペアレンタルコントロールのステータスを表示します |
parental enable | ペアレンタルコントロールを有効化します |
parental disable | ペアレンタルコントロールを無効化します |
safebrowsing status | セーフブラウジングのステータスを表示します |
safebrowsing enable | セーフブラウジングを有効化します |
safebrowsing disable | セーフブラウジングを無効化します |
safesearch status | セーフサーチのステータスを表示します |
safesearch enable | セーフサーチを有効化します |
safesearch disable | セーフサーチを無効化します |
Blocked-Services
ブロックされたインターネットサービスの管理。
| コマンド | 説明 |
|---|---|
list | 現在ブロックされているサービスを一覧表示します |
set | ブロックするサービスのリストを設定します |
Clients
クライアントデバイスの管理。
| コマンド | 説明 |
|---|---|
list | 構成されているすべてのクライアントを一覧表示します |
add | 名前と IP で新しいクライアントを追加します |
remove | クライアントを削除します |
show | 特定のクライアントの詳細を表示します |
Stats
クエリ統計。
| コマンド | 説明 |
|---|---|
show | DNS クエリ統計を表示します |
reset | すべての統計をリセットします |
config | 統計の保持期間を表示または更新します |
Log
DNS クエリログの管理。
| コマンド | 説明 |
|---|---|
show | 最近の DNS クエリログエントリを表示します |
config | クエリログ設定を表示または更新します |
clear | クエリログをクリアします |
Rewrite
DNS リライトルール。
| コマンド | 説明 |
|---|---|
list | すべての DNS リライトルールを一覧表示します |
add | DNS リライトルールを追加します |
remove | DNS リライトルールを削除します |
DHCP
DHCP サーバーの管理。
| コマンド | 説明 |
|---|---|
status | DHCP サーバーのステータスを表示します |
leases | 有効な DHCP リースを一覧表示します |
add-static | 静的 DHCP リースを追加します |
remove-static | 静的 DHCP リースを削除します |
TLS
TLS/HTTPS の構成。
| コマンド | 説明 |
|---|---|
status | TLS 構成のステータスを表示します |
例
サーバーステータスの確認
cli-anything-adguardhome server status
cli-anything-adguardhome server version
フィルタリストの管理
# List current filters
cli-anything-adguardhome filter list
# Add a new blocklist
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "My List"
# Refresh all filters
cli-anything-adguardhome filter refresh
DNS リライト
# Add a local DNS entry
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"
# List all rewrites
cli-anything-adguardhome rewrite list
クライアント管理
cli-anything-adguardhome clients add --name "My PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
クエリ統計
# Show stats (human-readable)
cli-anything-adguardhome stats show
# Show stats (JSON for agents)
cli-anything-adguardhome --json stats show
出力形式
すべてのコマンドは 2 つの出力モードをサポートしています:
- 人間が読める形式(デフォルト):表、色、整形されたテキスト
- 機械可読形式(
--jsonフラグ):エージェントが利用するための構造化 JSON
# Human output
cli-anything-adguardhome filter list
# JSON output for agents
cli-anything-adguardhome --json filter list
AI エージェント向け
この CLI をプログラムから使用する場合:
- 解析可能な出力のために常に
--jsonフラグを使用する - リターンコードを確認する - 成功時は 0、エラー時は非ゼロ
- 失敗時はstderr を解析してエラーメッセージを取得する
- すべてのファイル操作に絶対パスを使用する
- 他のコマンドの前に
config testでまず接続をテストする
詳細情報
- 完全なドキュメント:パッケージ内の README.md を参照してください
- テストカバレッジ:パッケージ内の TEST.md を参照してください
- 方法論:cli-anything-plugin 内の HARNESS.md を参照してください
バージョン
1.0.0
コメント
Markdown 対応