OpenWrt 광고제거 위한 adblock 패키지

이전 글에서 광고 제거를 위한 패키지로 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

참고사이트

2 Comments

  1. lbc

    많은 도음이 되었습니다.
    본문중 mv adblock.blocklist /etc/adblock.blocklist mv adblock.blacklist /etc/adblock.blacklist 오자가 있어 알려드립니다.

    • qquack

      도움되었다니 다행입니다.
      오타는 알려주신대로 수정하였습니다.
      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

67  −    =  61