GN⁺: AdGuard Home: 네트워크 전체 광고 및 추적기 차단 DNS 서버
(github.com/AdguardTeam)개인정보 보호 센터
- AdGuard Home은 광고 및 추적을 차단하는 네트워크 전체 소프트웨어임.
- 설치 후 모든 가정용 기기를 커버하며, 클라이언트 측 소프트웨어가 필요 없음.
- DNS 서버로 작동하여 추적 도메인을 "블랙홀"로 재경로하여 기기가 해당 서버에 연결하는 것을 방지함.
- 공개 AdGuard DNS 서버에 사용되는 소프트웨어를 기반으로 하며, 많은 코드를 공유함.
시작하기
자동 설치 (Linux/Unix/MacOS/FreeBSD/OpenBSD)
-
curl
,wget
,fetch
명령어를 사용하여 설치 가능. - 스크립트는
-c
,-r
,-u
,-v
등의 옵션을 받아들임.
대체 방법
수동 설치
- 수동 설치 방법과 기기 설정 방법은 위키에서 확인 가능.
Docker
- 공식 Docker 이미지 사용 가능.
Snap Store
- Linux에서 Snap Store를 통해 설치 가능.
가이드
- 위키 참조.
API
- AdGuard Home과 통합하려면 REST API 사용 가능.
- 파이썬 클라이언트도 사용 가능.
다른 솔루션과 비교
공개 AdGuard DNS 서버와의 차이점
- 자체 AdGuard Home 서버 운영 시 더 많은 기능을 수행할 수 있음.
- 서버가 차단하고 허용하는 것을 선택하고, 네트워크 활동을 모니터링하며, 사용자 정의 필터링 규칙을 추가할 수 있음.
- 가장 중요한 것은 사용자만이 서버를 제어한다는 점임.
Pi-Hole과의 비교
- AdGuard Home은 Pi-Hole과 많은 공통점이 있으나, 추가 소프트웨어 설치 및 설정 없이 많은 기능을 제공함.
- 일반 사용자도 최소한의 노력으로 설정할 수 있도록 간단함을 추구함.
전통적인 광고 차단기와의 비교
- DNS sinkholing은 광고의 큰 비율을 차단할 수 있지만, 전통적인 광고 차단기만큼의 유연성과 강력함은 부족함.
- DNS 기반 차단기는 스마트TV, 스마트 스피커, IoT 기기 등에서 광고, 추적, 분석 요청을 차단하는 데 도움이 될 수 있음.
알려진 제한 사항
- DNS 수준 차단기로 차단할 수 없는 예시: YouTube, Twitch 광고; Facebook, Twitter, Instagram 스폰서 게시물.
- DNS만으로는 이를 처리할 수 없으며, 독립 실행형 AdGuard 애플리케이션에서 사용하는 것과 같은 콘텐츠 차단 프록시를 사용해야 함.
- 향후 AdGuard Home에 이 기능을 지원할 예정이나, 여전히 충분하지 않거나 복잡한 설정이 필요한 경우가 있을 수 있음.
소스에서 빌드하기
필수 조건
- 개발 환경을 준비하기 위해
make init
실행 필요. - AdGuard Home을 빌드하기 위해 필요한 것: Go v1.20 이상, Node.js v16 이상, npm v8 이상, yarn v1.22.5 이상.
빌드
- 터미널을 열고 명령어 실행.
- Node.js 17 이상으로 빌드할 경우
--openssl-legacy-provider
옵션 지정 필요. - 다른 플랫폼용으로 빌드하려면
GOOS
와GOARCH
환경 변수를make
실행 시 매크로로 지정.
기여하기
- 이 저장소를 포크하고 변경 사항을 만든 후 풀 리퀘스트 제출 가능.
- UI와 백엔드 부분에 동시에 기여할 것을 기대하지 않으며, 백엔드 부분이 먼저 구현되어야 함.
불안정한 버전 테스트
-
beta
와edge
두 가지 업데이트 채널 사용 가능. - Snap Store, Docker Hub, 위키에서 불안정한 버전 설치 가능.
문제 보고
- 문제가 발생하거나 제안이 있을 경우, 이슈 페이지에서 "New issue" 버튼 클릭.
번역 도움
- AdGuard Home 번역에 도움을 주고 싶다면, 지식 기반에서 번역에 대해 알아보고 CrowdIn 프로젝트에 기여 가능.
AdGuard Home을 사용하는 프로젝트들
- iOS 앱, 파이썬 라이브러리, Home Assistant 애드온, OpenWrt LUCI 앱, 실시간 트래픽 모니터링 및 통계 도구, GLInet 라우터용 AdGuard Home, Cloudron 앱, Asuswrt-Merlin-AdGuardHome-Installer, Node.js 라이브러리, 브라우저 확장 등 다양한 프로젝트에서 사용됨.
감사의 말
- Go, Node.js, React.js, Tabler, whotracks.me 데이터 등 다양한 라이브러리와 도구들 덕분에 소프트웨어 개발이 가능했음.
개인정보 보호
- 사용자가 자신의 데이터를 제어해야 한다는 주요 아이디어를 바탕으로, AdGuard Home은 사용 통계를 수집하지 않으며, 사용자가 구성하지 않는 한 어떠한 웹 서비스도 사용하지 않음.
GN⁺의 의견:
- AdGuard Home은 사용자의 개인정보 보호와 데이터 제어에 중점을 두고, 네트워크 전체의 광고 및 추적 차단을 가능하게 하는 강력한 도구임.
- 다양한 플랫폼과 환경에서 쉽게 설치하고 사용할 수 있으며, 사용자 친화적인 인터페이스를 제공함.
- 이 소프트웨어는 개방성과 확장성을 갖추고 있어, 커뮤니티의 기여를 통해 지속적으로 발전하고 있으며, 이는 오픈 소스 프로젝트의 중요성을 강조함.
Hacker News 의견
- 한 사용자는 자신의 홈 네트워크에서 몇 년간 경쟁 프로젝트인 Pi-hole을 운영했으나, NextDNS를 발견한 후로는 성능 손실을 감수하고 이를 사용하고 있음. NextDNS는 모든 기기에서 이용 가능하며, 유지보수 시간을 절약할 수 있음. Pi-hole은 대부분 잘 작동하지만, 문제가 발생했을 때 수리하는 데 시간이 걸림. NextDNS는 연간 $20의 비용으로 Pi-hole과 경쟁할 수 없는 가치를 제공함.
- 다른 사용자는 Pi-hole 대신 AdGuard Home을 선택했음. 더 나은 사용자 인터페이스와 매력적인 기능을 제공하며, 내부 DNS를 이용한 로컬 도메인 쿼리 설정과 같은 맞춤화 옵션을 제공함. AdGuard가 이 서비스를 무료로 제공하는 이유에 대해 의문을 가지고 있으나, 현재로서는 리스크가 낮은 결정으로 보임.
- AdGuard가 러시아 회사이고 개발자 대부분이 모스크바에서 근무하며, 사이프러스에 등록되어 있어 보안상의 이유로 사용하지 않겠다는 의견이 있음.
- py-hole에 대한 관심을 제안하는 댓글이 있음. 이는 파이썬 스크립트와 dnsmasq 설정으로 구성되어 있으며, openwrt에서 실행되고 CPU 사용량이 거의 없음.
- AdGuard가 Home Assistant 애드인으로 제공되며, Home Assistant와 통합되어 대시보드에서 차단 기능을 켜고 끌 수 있다는 점이 흥미로움.
- AdGuard Home을 사용하는 사용자는 PiHole에 비해 문제가 적고, 도커 컴포즈를 통해 Pi에서 문제없이 작동하며, adguardhome-sync 컨테이너를 사용하여 두 번째 Pi에서 백업으로 구성을 동기화함. 네트워크 내 광고가 보이지 않고, 일부 기기에서 보내는 추적/광고 요청의 양이 많은 것을 확인하는 것이 흥미로움.
- NextDNS 사용자 중 한 명은 Mac/Safari에서 '추적자로부터 IP 주소 숨기기' 기능을 활성화하면 NextDNS로 차단되던 광고가 보이기 시작해 이 기능을 비활성화해야 한다고 함. NextDNS와 Apple의 기능이 함께 사용되지 않는 것으로 보임.
- Technitium DNS(오픈소스이며 무료)를 사용하는지에 대한 질문이 있음. 이는 최소한의 하드웨어에서 작동하며, Orange Pi 3 LTS에서 실행 중임.
- 해커뉴스에는 일정 시간이 지나면 반드시 Pi-Hole이나 AdGuard Home에 대한 글이 올라온다는 댓글이 있음.
- pfsense를 사용하는 경우 pfblockerng를 확인해보라는 추천이 있음. 이는 네트워크에서 광고 차단 기능을 제공함.