Advertisement
prazola

aMod dnsmasq adblock v5

Mar 29th, 2018
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.58 KB | None | 0 0
  1. #!/bin/sh
  2. RED='\033[0;31m'
  3. GREEN='\033[0;32m'
  4. NC='\033[0m'
  5. LBLUE='\033[1;34m'
  6. BW='\033[1;42m'
  7.  
  8. _USB_PATH="/mnt/shares/U/"
  9. _DNSMASQ="dnsmasq"
  10. _DNS_PATH="/usr/etc/amod/init.d/dns"
  11.  
  12. if uname -n | grep -q 2200V4; then {
  13.     _DNSMASQ="adnsmasq" &
  14.     _USB_PATH="/var/mnt/usb0/part1/" &
  15.     _DNS_PATH="/etc/amod/init.d/dns"
  16. }
  17. fi
  18. wait
  19.  
  20. ${_DNS_PATH} stop
  21. ${_DNS_PATH} start
  22.  
  23.  
  24. cd "${_USB_PATH}conf/"
  25.  
  26. if /etc/amod/bin/cron check dnsmasq; then
  27.     echo "${GREEN}Cron is in perfect state!${NC}\n"
  28. else
  29.     /etc/amod/bin/cron add "30 13 * * * /usr/bin/sh ${_USB_PATH}conf/dnsmasq_update_adblock.sh"
  30.     echo "${RED}Cron was not configured: ${GREEN}fixed!${NC}\n"
  31. fi
  32.  
  33. if amodfunc adslattr online ; then
  34.     echo "${GREEN}Online${NC}\nDownloading and processing file from YoYo, SWC, MVPS, EasyList, malwaredomains, gjtech and hosts-file${LBLUE}"
  35.     # if wget won't work
  36.     # curl -# --insecure -o
  37.     wget -O yoyo 'http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=0' && (grep '127.0.0.1' yoyo | sed 's/[[:blank:]]*$//' > adblock)
  38.     curl --insecure -o swc 'http://someonewhocares.org/hosts/hosts' && (sed '/\t/d; /#/d; s/ *$//' swc | sed -n -e '/^127/p' >> adblock)
  39.     wget -O mvps 'http://winhelp2002.mvps.org/hosts.txt' && (sed 's/[[:blank:]]*$//; /# 0.0.0.0/d' mvps | grep 0.0.0.0 | awk '{ print "127.0.0.1 "$2 }' | awk '{$2=$2};1' >> adblock)
  40.     wget -O malware 'https://easylist-downloads.adblockplus.org/malwaredomains_full.txt' && (sed 's/[[:blank:]]*$//' malware | grep '\|\|[^\*]*\^' | sed -e 's:||:127.0.0.1 :' -e 's:\^::' >> adblock)
  41.     wget -O easy 'https://raw.githubusercontent.com/easylist/easylist/master/easylist/easylist_adservers.txt' && (sed 's/[[:blank:]]*$//' easy | grep '\|\|[^\*]*\^' | sed -e 's:||:127.0.0.1 :' -e 's:\^::' | awk -F "$" '{print $1}' >> adblock)
  42.     wget -O hfile 'https://hosts-file.net/.%5Cad_servers.txt' && (sed -n -e '/^127/p' hfile | sed 's/[[:blank:]]*$//;s/\t/  /' | grep -v 'localhost' | awk '{$2=$2};1' >> adblock)
  43.     wget -O tyzbit 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts' && (grep -v '#' tyzbit | sed 's/[[:blank:]]*$//' | grep '0.0.0.0' | sed 's/0.0.0.0/127.0.0.1/' >> adblock)
  44.     wget -O mdl 'http://www.malwaredomainlist.com/hostslist/hosts.txt' && (grep 127.0.0.1 mdl | sed 's/[[:blank:]]*$//' | awk '{$2=$2};1' >> adblock)      
  45.     sed -i -n -e '/^127/p' adblock
  46.                
  47.     [ -e mylist ] && {
  48.         echo "${NC}Merging mylist"
  49.                 sed -i 's/[[:blank:]]*$//' mylist
  50.         sed -n -e '/^127/p' mylist >> adblock
  51.     }
  52.  
  53.     dos2unix adblock
  54.     echo "${NC}Splitting temporary list"
  55.     sed -i '/0.0.0.0/d' adblock
  56.     split -a 1 -l $((`wc -l < adblock` / 2 + 1)) adblock
  57.     rm -rf adblock adblock.uniq
  58.     echo "Removing weird www*"
  59.     sed -i -e 's/ www\./ /g; s/ www[0-9][0-9][0-9]\./ /g; s/ www[0-9][0-9]\./ /g; s/ www[0-9]\./ /g; s/ ww[0-9][0-9][0-9]\./ /g; s/ ww[0-9][0-9]\./ /g; s/ ww[0-9]\./ /g' xa &
  60.     sed -i -e 's/ www\./ /g; s/ www[0-9][0-9][0-9]\./ /g; s/ www[0-9][0-9]\./ /g; s/ www[0-9]\./ /g; s/ ww[0-9][0-9][0-9]\./ /g; s/ ww[0-9][0-9]\./ /g; s/ ww[0-9]\./ /g' xb
  61.     wait
  62. # MULTIDOMAIN REMOVAL - removes very recurrent entries, put those domain in a separate file to block them and save space...or comment this section
  63.     echo "Removing domains from adblock.domain"
  64.     sed -i '/2mdn.net/d;/2o7.net/d;/302br.net/d;/51yes.com/d;/adbureau.net/d;/adk2.co/d;/admob.com/d;/adnxs.com/d;/adocean.pl/d;/adtech.de/d;/adtech.fr/d;/adtech.us/d;/advertising.com/d;/am15.net/d;/bbelements.com/d;/bing.com/d;/bravenet.com/d;/casalemedia.com/d;/cheapito.com/d;/cjt1.net/d;/cnzz.com/d;/cqcounter.com/d;/demdex.net/d;/directtrack.com/d;/dynamic.dol.ru/d;/doubleclick.net/d;/esomniture.com/d;/extreme-dm.com/d;/fastclick.net/d;/farmville.com/d;/focalink.com/d;/geovisite.com/d;/go2cloud.org/d;/hit.gemius.pl/d;/hitbox.com/d;/hittail.com/d;/.hpg.com.br/d;/jmp9.com/d;/hotlog.ru/d;/imrworldwide.com/d;/intellitxt.com/d;/ivwbox.de/d;/liveadvert.com/d;/minoto-video.com/d;/msftconnecttest.com/d;/msn.com/d;/mydas.mobi/d;/nearlyfreespeech.net/d;/ninjasaga.com/d;/nuggad.net/d;/oewabox.at/d;/omtrdc.net/d;/onetag-sys.com/d;/overture.com/d;/p2l.info/d;/paycount.com/d;/petrovka.info/d;/popunder.ru/d;/pussysaga.com/d;/qq.com/d;/rackcdn.com/d;/realmedia.com/d;/sexgangsters.com/d;/sextracker.com/d;/shoppydoo.it/d;/sitemeter.com/d;/smaato.net/d;/smartadserver.com/d;/spotxchange.com/d;/spylog.com/d;/stats.esomniture.com/d;/theoutplay.com/d;/thruport.com/d;/tradedoubler.com/d;/twenga.com/d;/twenga.it/d;/voluumtrk.com/d;/xiti.com/d;/zeroredirect1.com/d;/zyngagames.com/d;/zynga.com/d;/zynga.net/d' xa &
  65.     sed -i '/2mdn.net/d;/2o7.net/d;/302br.net/d;/51yes.com/d;/adbureau.net/d;/adk2.co/d;/admob.com/d;/adnxs.com/d;/adocean.pl/d;/adtech.de/d;/adtech.fr/d;/adtech.us/d;/advertising.com/d;/am15.net/d;/bbelements.com/d;/bing.com/d;/bravenet.com/d;/casalemedia.com/d;/cheapito.com/d;/cjt1.net/d;/cnzz.com/d;/cqcounter.com/d;/demdex.net/d;/dynamic.dol.ru/d;/directtrack.com/d;/doubleclick.net/d;/esomniture.com/d;/extreme-dm.com/d;/fastclick.net/d;/farmville.com/d;/focalink.com/d;/geovisite.com/d;/go2cloud.org/d;/hit.gemius.pl/d;/hitbox.com/d;/hittail.com/d;/.hpg.com.br/d;/jmp9.com/d;/hotlog.ru/d;/imrworldwide.com/d;/intellitxt.com/d;/ivwbox.de/d;/liveadvert.com/d;/minoto-video.com/d;/msftconnecttest.com/d;/msn.com/d;/mydas.mobi/d;/nearlyfreespeech.net/d;/ninjasaga.com/d;/nuggad.net/d;/oewabox.at/d;/omtrdc.net/d;/onetag-sys.com/d;/overture.com/d;/p2l.info/d;/paycount.com/d;/petrovka.info/d;/popunder.ru/d;/pussysaga.com/d;/qq.com/d;/rackcdn.com/d;/realmedia.com/d;/sexgangsters.com/d;/sextracker.com/d;/shoppydoo.it/d;/sitemeter.com/d;/smaato.net/d;/smartadserver.com/d;/spotxchange.com/d;/spylog.com/d;/stats.esomniture.com/d;/theoutplay.com/d;/thruport.com/d;/tradedoubler.com/d;/twenga.com/d;/twenga.it/d;/voluumtrk.com/d;/xiti.com/d;/zeroredirect1.com/d;/zyngagames.com/d;/zynga.com/d;/zynga.net/d' xb
  66.     wait
  67. # END OF MULTIDOMAIN REMOVAL
  68.  
  69. # WHITELISTS
  70.     #sed -i '/s.ytimg.com/d' adblock
  71. # GOOGLE LIST
  72.     #grep google adblock > google.uniq
  73.  
  74.     echo "Remerging splitted lists"
  75.     tr '[A-Z]' '[a-z]' < xa >> tmp_ad
  76.     tr '[A-Z]' '[a-z]' < xb >> tmp_ad
  77.     wait
  78.     echo "Sorting..."
  79.     sed -i 's/\t/ /g' tmp_ad
  80.     echo "Removing duplicated entries..."
  81.     awk '{sub(/\r/, "")} !x[$0]++' tmp_ad > adblock
  82.     sort adblock -o adblock.uniq
  83.     rm yoyo swc mvps tmp_ad adblock malware easy gjtech hfile xa xb tyzbit mdl
  84. else
  85.     echo "${RED}Offline"
  86. fi
  87.  
  88. #killall -q -SIGHUP ${_DNSMASQ} || {
  89. #    echo "dnsmasq not running...${NC}"
  90. #    ${_DNS_PATH} start
  91. #}
  92.  
  93. ${_DNS_PATH} stop
  94. ${_DNS_PATH} start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement