집 안에서까지 광고를 봐야할까
광고차단 application으로 유명한 adguard의 오픈소스 소프트웨어 입니다
관심을 갖게 된 계기는 adguard 유료의 기기 제한이 3대여서 입니다... 너무 적어요
계속 구입하자니 adguard 홈페이지에서 계정을 변경해가며 기기 등록 및 관리하는게 귀찮기도 하고 해서
docker image가 있으면 컨테이너로 돌리면 되지않을까? 싶은 생각에 적용을 하게 되었습니다
Docker와 Docker compose가 설치 되어있다는 전제하에 읽어주세요
해당 오픈소스 소프트웨어는 docker image가 있습니다
Docker hub - Adguard Home 에서 해당 image를 확인 할 수 있어요
저같은 경우 해당 image를 docker-compose에 넣어서 latest로 pull 받고 컨테이너를 만들게끔 해두었습니다
아래는 해당 yml 파일 이에요
# docker-compose.yml
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
# always와 unless-stopped는 사용성에 맞게 적용합시다
restart: unless-stopped
volumes:
# 각종 설정값을 백업하기 위한 볼륨 마운트
# 장비 경로 : docker container 내부 경로 입니다
- /~~/work:/opt/adguradhome/work
- /~~/conf:/opt/adguardhome/conf
ports:
- "53:53/tcp"
- "53:53/udp"
- "853:853/tcp"
# ???? <-- 본인이 적용하고자 하는 port 입력
- "????:9393/tcp" # adguard home의 컨트롤 패널 접속 port
- "????:3000/tcp" # 초기 셋업 port
docker compose up -d
해당 docker container가 돌아갈 장비의 로컬 ip는 static하게
장비에 별다른 네트워크 수정을 하지 않았다면 대부분의 장비는 사설 ip를 AP의 DHCP 서버로부터 할당받게 됩니다
이 경우 adguard home이 돌아갈 장비의 ip가 변경될 경우 작동하지 않는 상황이 발생하기 때문에
해당 장비의 ip는 꼭 정적할당을 해줘야 합니다
이와 같이 순서를 지키게 된다면 해당 container를 통해 adguard 필터가 공유기를 사용하는 모든 장비에 적용됩니다
container를 정상적으로 올리고 dns를 설정 한 이후에는 해당 application에 접근하여 광고차단 filter를 적용해줄 시간 인데요
링크에 장비ip:초기셋업 port를 입력해서 접속 해줍니다
본인이 사용할 계정을 입력해주고 간단한 셋업을 하고나면 아래와 같이 adguard 패널 사이트가 나오게 됩니다

여기서 필터 - DNS 차단 목록을 누른 다음

차단 목록 추가를 눌러서 원하는 항목을 추가해주면 자동으로 적용되며 설정이 됩니다
이제 해당 공유기에 연결된 장비는 모두 광고차단이 될 것 입니다
이걸 활용하면 공유기에 따라 vpn을 설정하여 집 네트워크에 연결한다면 밖에서도 사용 가능하니 굉장히 유용하게 사용할 수 있겠습니다
저의 경우 iptime을 사용중이라 wireGuard를 이용하여 해당 dns를 사용하고 있는데 정말 편리합니다
관리 할 걱정을 덜어내서 만족스러워요 :)