이전 글에서 광고 제거를 위한 패키지로 adguard home을 소개했는데 이번에는 또 다른 광고제거 패키지 adbock을 소개합니다. adblock은 OpenWrt 패키지저장소에 포함된 패키지로 adguard home과 같이 네트워크 단에서 dns을 통해 광고 및 멀웨어, 추적기 등을 차단하여 라우터에 연결된 클라이언트에 광고제거 효과를 볼 수 있는 패키지로 adguard home 보다 상대적으로 가벼운 대신 몇가지 기능적인 단점(자녀보호 기능의 부재 등)과 luci를 통해 제어할 수 있지만 직관적이 못한 단점이 있습니다.
설치방법
opkg update
opkg install luci-app-adblock curl wget
설치후 luci > service > adblock 으로 이동하여 설정 및 활성화 > 저장 및 적용하세요. block source 필터 리스트는 사전에 준비된 리스트가 다수 있으며 reg-kr이라는 이름으로 한국어 필터 리스트인 List-KR 이 포함되어 있습니다.
참고로 아래는 제가 설정한 /etc/config/adblock 입니다.
config adblock 'global' option adb_debug '0' option adb_forcedns '0' option adb_dnsfilereset '0' option adb_mail '0' option adb_backup '1' option adb_dns 'dnsmasq' option adb_fetchutil 'curl' option adb_trigger 'wan' option adb_triggerdelay '10' option adb_maxqueue '8' option adb_repiface 'br-lan' option adb_replisten '53 5453' option adb_reportdir '/mnt/sda1/var/adblock' option adb_backupdir '/mnt/sda1/var/adblock' list adb_sources 'adaway' list adb_sources 'adguard' list adb_sources 'disconnect' list adb_sources 'reg_kr' list adb_sources 'youtube' list adb_sources 'yoyo' option adb_report '1' option adb_safesearch '0' option adb_enabled '1'
adblockplus 한국어 필터를 별도로 추가하는 방법
두가지 방법으로 사용자가 필터를 추가 할수 있는데 아래 1번 방법은 필터 업데이트를 수동으로 해야 한다는 단점이 있습니다. 쉘스크립트로 만들고 crontab에 등록해서 할 수 있기는 한데 저는 그냥 업데이트 안하고 사용했습니다. 아래 2번 방법은 필터 업데이트는 자동으로 되는데 adblock 패키지가 버전업되어 업데이트 할 경우 수정한 /etc/adblock/adblock.sources.gz 화일을 버전업판으로 덮어써지지 않을까 생각됩니다.
1. 한국어 필터를 다운받아 adblock 형식으로 수정해서 사용자 blacklist 화일에 추가하는방법
cd /tmp
wget -c https://easylist-downloads.adblockplus.org/koreanlist+easylist.txt
cat koreanlist+easylist.txt | grep '^||' | grep '\^$' | sed -e 's/^||//g;s/\^$//g' -e '/[0-9].[0-9].[0-9].[0-9]/d' > adblock.blocklist
cat adblock.blacklist | more #도메인 형식으로 제대로 변환 되었는지 확인합니다
chmod 600 adblock.blocklist
mv adblock.blocklist /etc/adblock.blocklist
/etc/init.d/adblock restart
2. 준비된 리스트 소스화일을 수정해서 추가하는 방법
cd /etc/adblock
cp adblock.sources.gz adblock.sources.gz.org
gzip -d adblock.sources.gz
vi adblock.sources
vi 편집기로 adblock.sources 화일을 열고 아무 리스트들 사이에 다음을 추가합니다.
... "reg_kr2": { "url": "https://easylist-downloads.adblockplus.org/koreanlist+easylist.txt", "rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+\\^(\\$third-party)? $/{print tolower($3)}", "size": "S", "focus": "reg_korea2", "descurl": "https://adblockplus.org/ko/subscriptions" }, ...
gzip adblock.sources
vi /etc/config/adblock
vi 편집기로 /etc/config/adblock 화일 마지막 줄에 아래를 추가하고 저장 후 서비스 재시작합니다.
list adb_sources 'reg_kr2'
/etc/init.d/adblock restart
많은 도음이 되었습니다.
본문중 mv adblock.blocklist /etc/adblock.blocklist mv adblock.blacklist /etc/adblock.blacklist 오자가 있어 알려드립니다.
도움되었다니 다행입니다.
오타는 알려주신대로 수정하였습니다.
감사합니다.