at 22.05-pre 1.1 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: { 2 name = "dnscrypt-proxy2"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ joachifm ]; 5 }; 6 7 nodes = { 8 # A client running the recommended setup: DNSCrypt proxy as a forwarder 9 # for a caching DNS client. 10 client = 11 { ... }: 12 let localProxyPort = 43; in 13 { 14 security.apparmor.enable = true; 15 16 services.dnscrypt-proxy2.enable = true; 17 services.dnscrypt-proxy2.settings = { 18 listen_addresses = [ "127.0.0.1:${toString localProxyPort}" ]; 19 sources.public-resolvers = { 20 urls = [ "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md" ]; 21 cache_file = "public-resolvers.md"; 22 minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"; 23 refresh_delay = 72; 24 }; 25 }; 26 27 services.dnsmasq.enable = true; 28 services.dnsmasq.servers = [ "127.0.0.1#${toString localProxyPort}" ]; 29 }; 30 }; 31 32 testScript = '' 33 client.wait_for_unit("dnsmasq") 34 client.wait_for_unit("dnscrypt-proxy2") 35 ''; 36})