- 인터넷은 개발 업무와 커뮤니케이션에 꼭 필요하지만, 소셜 미디어와 광고 같은 중독적 요소를 완전히 차단하거나 무제한 허용하기 모두 어려움
- 네트워크 차단은 휴대폰에서 Wi-Fi를 끄면 우회할 수 있고, 가족 구성원이 업무·조사 목적으로 소셜 미디어가 필요해 상시 차단이 맞지 않음
- Zigbee 스마트 플러그 버튼을 누르면 AdGuard Home의 커스텀 필터링을 15분간 끄고, 이후 1시간 쿨다운 동안 다시 누를 수 없게 자동화함
- gli.net 라우터의 AdGuard Home에서는 내장 서비스 차단보다 커스텀 규칙을 토글 대상으로 삼고, Home Assistant의 “Filtering” 스위치로 제어함
- Wi-Fi 우회까지 막는 해결책은 아니지만, 소셜 미디어 사용을 작은 단위로 제한해 절제 연습을 돕는 장치로 작동함
완전 차단과 무제한 허용 사이의 문제
- 인터넷은 광고, 산만함, 스폰서 콘텐츠, 나쁜 뉴스, 소셜 미디어 때문에 부담이 되지만, 소프트웨어 개발과 사람들과의 커뮤니케이션에는 필수 인프라임
- 네트워크 전체 광고 차단기로 소셜 미디어를 막아도 휴대폰에서 Wi-Fi를 끄면 셀룰러 데이터로 계속 스크롤할 수 있음
- 가족 구성원이 업무, 조사, 개인적 사용을 위해 소셜 미디어가 필요할 때가 있어 완전 차단은 실행하기 어려움
- 동시에 두 명의 성인에게 인터넷을 제한 없이 허용하는 방식도 원하는 결과를 만들지 못함
Neil Chen 아이디어를 가정용 네트워크에 맞게 변형
- Neil Chen의 아이디어는 스마트 플러그로 uBlock Origin 목록을 동적으로 다시 작성해 산만한 콘텐츠 접근을 잠시 허용하는 방식임
- 여기서는 “버튼을 누르면 제한 시간 동안 허용”이라는 구조는 유지하되, uBlock Origin 대신 이미 사용 중인 AdGuard Home과 Home Assistant를 조합함
- 필요한 구성 요소는 단순함
- AdGuard Home이 있는 gli.net 라우터
- Home Assistant
- Zigbee 스위치들
- 약간의 여유 시간
버튼을 누르면 15분 허용, 이후 1시간 쿨다운
- 목표는 버튼을 눌렀을 때 소셜 미디어 접근을 잠시 허용하고, 15분 뒤 필터를 다시 켜는 것임
- 허용 시간이 끝나면 1시간 쿨다운을 두어 곧바로 다시 버튼을 누를 수 없게 함
- Zigbee 지원 스마트 플러그가 이 버튼 역할에 적합한 장치로 쓰임
- 전체 흐름은 버튼 입력, 필터 비활성화, 제한 시간 만료, 필터 재활성화 순서로 이어짐
gli.net 라우터에서 AdGuard Home 제어 준비
- gli.net의 OpenWRT 기반 라우터에는 AdGuard Home이 편리하게 통합되어 있음
- 차단할 서비스는 AdGuard Home의 커스텀 규칙으로 설정해야 함
- 내장 서비스 차단 기능은 “커스텀”으로 취급되지 않는 것으로 보임
- 그래서 내장 서비스 차단은 자동화로 켜고 끄기 어려운 대상임
- AdGuard Home API는 OpenAPI YAML로 제공되며 일반 사용자명과 비밀번호로 로그인함
- 라우터의 기본 인터페이스는 인증을 우회해 통합되어 있어, API 접근에 쓸 AdGuard Home 사용자/비밀번호가 기본적으로 없음
- GL.iNet 포럼 글은 기존 통합을 깨지 않고 사용자를 추가하는 방법을 안내함
/etc/Adguard/config.yaml에서users: []를 사용자 항목으로 바꿈- 예시는
admin의 bcrypt 해시를 사용하지만, 실제 비밀번호로 쓰는 값은 아니라고 명시됨 - bcrypt 해시는 CyberChef로 생성할 수 있음
Home Assistant 자동화 흐름
- Home Assistant의 AdGuard Home 통합은 기능이 다소 줄어 있지만, 필요한 동작은 수행할 수 있음
- 노출되는 스위치 중 “Filtering”은 커스텀 필터 규칙 적용을 켜거나 끄는 스위치임
- 자동화는 Zigbee 스마트 플러그가 켜지는 이벤트를 트리거로 사용함
- 실행 조건은 두 가지임
- 마지막 비활성화 시점 이후 1시간 초과가 지났는지 확인함
- 현재 AdGuard override가 비활성 상태인지 확인함
- 조건을 만족하면 자동화가 다음 순서로 진행됨
input_boolean.adguard_override_active를 켬input_datetime.last_adguard_disable에 현재 시각을 기록함switch.adguard_home_filterung을 꺼서 AdGuard 필터링을 비활성화함- 14분을 기다림
- 스마트 플러그를 15회 껐다 켜며 2초 간격으로 반복함
- AdGuard 필터링을 다시 켬
- 스마트 플러그와 override 상태를 끔
- 조건을 만족하지 않으면 2초 뒤 스마트 플러그만 끄는 기본 동작으로 끝남
- 자동화의
mode는single이며, 동시에 여러 번 실행되지 않도록 구성됨
남는 한계
- 이 방식은 휴대폰에서 Wi-Fi를 꺼서 셀룰러 데이터로 소셜 미디어를 계속 보는 행위까지 막지 못함
- 목적은 모든 우회를 봉쇄하는 것이 아니라, 소셜 미디어를 소량 사용으로 제한하고 절제를 연습하게 만드는 데 있음