#!/bin/sh

EASYLIST_HOSTSNAME="easylist_hosts.txt"
EASYPRIVACY_HOSTSNAME="easyprivacy_hosts.txt"
STEVENBLACK_HOSTSNAME="stevenblack_hosts.txt"

get_easylist() {
    EASYLIST_URL="https://raw.githubusercontent.com/easylist/easylist/master/easylist/easylist_adservers.txt"

    tmpfile=`mktemp`

    # download easylist
    ${pkgs.wget}/bin/wget $EASYLIST_URL -O $tmpfile

    # remove IP addresses and prepend 0.0.0.0 to create hosts file

    cat $tmpfile | egrep -v "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -oP "^\|\|(\K[a-zA-Z0-9\.\-]+)" | ${pkgs.gawk}/bin/gawk '{print "0.0.0.0 " $0}' > $EASYLIST_HOSTSNAME
}

get_easyprivacy() {
    EASYLIST_URL="https://raw.githubusercontent.com/easylist/easylist/master/easyprivacy/easyprivacy_trackingservers.txt"

    tmpfile=`mktemp`

    # download easylist
    ${pkgs.wget}/bin/wget $EASYLIST_URL -O $tmpfile

    # remove IP addresses and prepend 0.0.0.0 to create hosts file

    cat $tmpfile | egrep -v "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -oP "^\|\|(\K[a-zA-Z0-9\.\-]+)" | ${pkgs.gawk}/bin/gawk '{print "0.0.0.0 " $0}' > $EASYPRIVACY_HOSTSNAME
}

get_stevenblack() {
    STEVENBLACK_URL="https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts"

    ${pkgs.wget}/bin/wget $STEVENBLACK_URL -O $STEVENBLACK_HOSTSNAME
}


get_easylist
get_easyprivacy
get_stevenblack


# create unified file

cat *hosts.txt | sort | uniq | grep "^0" > /etc/adblock_hosts

rm $EASYLIST_HOSTSNAME $STEVENBLACK_HOSTSNAME