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
使い方
基本コマンド
# ヘルプを表示
cli-anything-adguardhome --help
# インタラクティブREPLモードを開始
cli-anything-adguardhome
# サーバーステータスを確認
cli-anything-adguardhome server status
# JSON出力で実行(エージェント消費用)
cli-anything-adguardhome --json server status
REPLモード
サブコマンドを指定せずに呼び出すと、インタラクティブなREPLセッションが開始されます。
cli-anything-adguardhome
# タブ補完と履歴を使って対話的にコマンドを入力
コマンドグループ
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
フィルタリストの管理
# 現在のフィルタを一覧表示
cli-anything-adguardhome filter list
# 新しいブロックリストを追加
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "My List"
# すべてのフィルタを更新
cli-anything-adguardhome filter refresh
DNSリライト
# ローカルDNSエントリを追加
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"
# すべてのリライトを一覧表示
cli-anything-adguardhome rewrite list
クライアント管理
cli-anything-adguardhome clients add --name "My PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
クエリ統計
# 統計を表示(人間可読)
cli-anything-adguardhome stats show
# 統計を表示(エージェント用JSON)
cli-anything-adguardhome --json stats show
出力形式
すべてのコマンドは2つの出力モードをサポートしています。
- 人間可読(デフォルト):テーブル、色付き、整形されたテキスト
- 機械可読(
--jsonフラグ):エージェント消費用の構造化JSON
# 人間向け出力
cli-anything-adguardhome filter list
# エージェント向けJSON出力
cli-anything-adguardhome --json filter list
AIエージェント向け
このCLIをプログラムで使用する場合:
- 常に
--jsonフラグを使用して解析可能な出力を取得 - リターンコードを確認 - 0は成功、0以外はエラー
- エラー時はstderrを解析してエラーメッセージを取得
- ファイル操作には絶対パスを使用
- 最初に
config testで接続をテストしてから他のコマンドを実行
詳細情報
- 完全なドキュメント:パッケージ内のREADME.mdを参照
- テストカバレッジ:パッケージ内のTEST.mdを参照
- 方法論:cli-anything-pluginのHARNESS.mdを参照
バージョン
1.0.0