cli-anything-adguardhome은(는) 무엇을 하나요?
REST API를 통해 AdGuard Home의 네트워크 전체 광고 차단 및 DNS 관리를 위한 CLI 도구입니다. AI 에이전트와 고급 사용자가 GUI 없이 필터링, DNS 재작성, 클라이언트, DHCP, 쿼리 로그를 관리할 수 있도록 설계되었습니다.
설치
이 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 모드
인자 없이 호출하면 CLI가 대화형 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 "내 목록"
# 모든 필터 새로고침
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 "내 PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
쿼리 통계
# 통계 표시 (사람이 읽을 수 있는 형식)
cli-anything-adguardhome stats show
# 통계 표시 (에이전트용 JSON)
cli-anything-adguardhome --json stats show
출력 형식
모든 명령어는 두 가지 출력 모드를 지원합니다:
- 사람이 읽을 수 있는 형식 (기본값): 표, 컬러, 서식 지정된 텍스트
- 기계가 읽을 수 있는 형식 (
--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