use adguardhome, remove script
This commit is contained in:
parent
567c869186
commit
63d50a89d8
@ -4,15 +4,18 @@
|
|||||||
services = {
|
services = {
|
||||||
dnsmasq = {
|
dnsmasq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
servers = ["127.0.0.1#5353"];
|
servers = ["127.0.0.1#5300"];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
localise-queries
|
localise-queries
|
||||||
min-cache-ttl=120
|
min-cache-ttl=120
|
||||||
max-cache-ttl=2400
|
max-cache-ttl=2400
|
||||||
addn-hosts=/etc/adblock_hosts
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
adguardhome = {
|
||||||
|
enable= true;
|
||||||
|
port = 3031;
|
||||||
|
};
|
||||||
dnscrypt-proxy2 = {
|
dnscrypt-proxy2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -34,73 +37,4 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd = {
|
|
||||||
timers.update-adblock = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
partOf = [ "update-adblock.service" ];
|
|
||||||
timerConfig.OnCalendar = "daily";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.update-adblock = {
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
requiredBy = [ "dnsmasq.service" ];
|
|
||||||
postStop = "systemctl restart dnsmasq";
|
|
||||||
script = ''
|
|
||||||
#!/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
|
|
||||||
|
|
||||||
rm $tmpfile
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
rm $tmpfile
|
|
||||||
}
|
|
||||||
|
|
||||||
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 $EASYPRIVACY_HOSTSNAME
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user