2024-01-12 15:47:43 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
2024-03-14 23:08:42 +01:00
|
|
|
wireguard.elisabeth = {
|
|
|
|
client.via = "elisabeth";
|
2024-05-22 18:24:04 +02:00
|
|
|
firewallRuleForNode.elisabeth.allowedTCPPorts = [config.services.adguardhome.port];
|
2024-03-14 23:08:42 +01:00
|
|
|
};
|
2024-01-11 22:42:03 +01:00
|
|
|
services.adguardhome = {
|
|
|
|
enable = true;
|
|
|
|
mutableSettings = false;
|
2024-05-22 18:24:04 +02:00
|
|
|
host = "0.0.0.0";
|
|
|
|
port = 3000;
|
|
|
|
|
2024-01-11 22:42:03 +01:00
|
|
|
settings = {
|
|
|
|
dns = {
|
2024-02-10 17:53:16 +01:00
|
|
|
bind_hosts = [
|
|
|
|
(lib.net.cidr.host config.secrets.secrets.global.net.ips.${config.node.name} config.secrets.secrets.global.net.privateSubnetv4)
|
|
|
|
(lib.net.cidr.host config.secrets.secrets.global.net.ips.${config.node.name} config.secrets.secrets.global.net.privateSubnetv6)
|
|
|
|
];
|
2024-01-14 02:20:01 +01:00
|
|
|
anonymize_client_ip = false;
|
2024-01-11 22:42:03 +01:00
|
|
|
upstream_dns = [
|
2024-02-10 17:53:16 +01:00
|
|
|
"https://dns.google/dns-query"
|
|
|
|
"https://dns.quad9.net/dns-query"
|
|
|
|
"https://dns.cloudflare.com/dns-query"
|
|
|
|
"https://doh.mullvad.net/dns-query"
|
2024-01-11 22:42:03 +01:00
|
|
|
];
|
|
|
|
bootstrap_dns = [
|
|
|
|
"1.0.0.1"
|
|
|
|
"2606:4700:4700::1111"
|
|
|
|
"8.8.8.8"
|
|
|
|
"2001:4860:4860::8844"
|
|
|
|
];
|
|
|
|
};
|
2024-01-12 15:47:43 +01:00
|
|
|
user_rules = [
|
2024-02-10 17:53:16 +01:00
|
|
|
"||adguardhome.${config.secrets.secrets.global.domains.web}^$dnsrewrite=${lib.net.cidr.host config.secrets.secrets.global.net.ips.elisabeth config.secrets.secrets.global.net.privateSubnetv4}"
|
|
|
|
"||nc.${config.secrets.secrets.global.domains.web}^$dnsrewrite=${lib.net.cidr.host config.secrets.secrets.global.net.ips.elisabeth config.secrets.secrets.global.net.privateSubnetv4}"
|
2024-02-29 18:59:41 +01:00
|
|
|
"||immich.${config.secrets.secrets.global.domains.web}^$dnsrewrite=${lib.net.cidr.host config.secrets.secrets.global.net.ips.elisabeth config.secrets.secrets.global.net.privateSubnetv4}"
|
2024-02-10 17:53:16 +01:00
|
|
|
"||fritz.box^$dnsrewrite=${lib.net.cidr.host 1 config.secrets.secrets.global.net.privateSubnetv4}"
|
2024-01-12 15:47:43 +01:00
|
|
|
];
|
2024-01-11 22:42:03 +01:00
|
|
|
dhcp.enabled = false;
|
|
|
|
ratelimit = 60;
|
|
|
|
filters = [
|
|
|
|
{
|
|
|
|
name = "AdGuard DNS filter";
|
|
|
|
url = "https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt";
|
|
|
|
enabled = true;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "AdaAway Default Blocklist";
|
|
|
|
url = "https://adaway.org/hosts.txt";
|
|
|
|
enabled = true;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "OISD (Big)";
|
|
|
|
url = "https://big.oisd.nl";
|
|
|
|
enabled = true;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
networking.firewall = {
|
|
|
|
allowedTCPPorts = [53];
|
|
|
|
allowedUDPPorts = [53];
|
|
|
|
};
|
|
|
|
environment.persistence."/persist".directories = [
|
|
|
|
{
|
|
|
|
directory = "/var/lib/private/AdGuardHome";
|
|
|
|
mode = "0700";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
}
|