add list of domains serving advertising

Add a script to download a list of domains which serves ads.
This list can be used to block these servers in the DNS server.
This commit is contained in:
Matteo Croce 2015-07-02 21:58:16 +02:00
parent b59187dc62
commit 5b8d596ab9
2 changed files with 59 additions and 0 deletions

40
utils/banhosts/Makefile Normal file
View File

@ -0,0 +1,40 @@
#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=banhostlist
PKG_VERSION:=1
PKG_RELEASE:=1
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Matteo Croce <matteo@openwrt.org>
PKG_LICENCE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
define Package/banhostlist
SECTION:=utils
CATEGORY:=Utilities
TITLE:=List of advertising domains
URL:=http://winhelp2002.mvps.org/
endef
define Package/banhostlist/description
List of domains serving advertising and malicious content to easily block them
endef
define Build/Compile/Default
endef
define Package/banhostlist/install
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) ./files/updatebanhost $(1)/etc/hotplug.d/iface/80-banhosts
endef
$(eval $(call BuildPackage,banhostlist))

View File

@ -0,0 +1,19 @@
#!/bin/sh
file=/tmp/banhost
gethosts() {
logger -t "banhost[$$]" "Update $file"
wget -qO- http://winhelp2002.mvps.org/hosts.txt |awk 'BEGIN{printf "0.0.0.0"}/^0\.0\.0\.0/{printf " "$2}END{exit(!FNR)}' >$file || exit 1
echo -n $time >$file.time
exec killall -HUP dnsmasq
}
if [ "$ACTION" = ifup -a "$INTERFACE" = wan ]; then
read time </proc/uptime
time=${time%%.*}
[ -f $file -a -f $file.time ] || gethosts
read oldtime <$file.time
[ $((time - oldtime)) -lt 604800 ] || gethosts
fi