diff options
author | makefu <github@syntax-fehler.de> | 2017-09-04 10:11:07 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2017-09-04 10:11:07 +0200 |
commit | 50e450d06554457cbec6f43b21109dc25006297c (patch) | |
tree | 17614136e7cc21b77d7b82c656632200f38fc52d /makefu/2configs/dnscrypt | |
parent | 729549d15464e57e41fd143450c36274cedc84fa (diff) |
ma dnscrypt: provide client and server config
Diffstat (limited to 'makefu/2configs/dnscrypt')
-rw-r--r-- | makefu/2configs/dnscrypt/client.nix | 18 | ||||
-rw-r--r-- | makefu/2configs/dnscrypt/server.nix | 26 |
2 files changed, 41 insertions, 3 deletions
diff --git a/makefu/2configs/dnscrypt/client.nix b/makefu/2configs/dnscrypt/client.nix index 6e7ef0f82..988fb4a7d 100644 --- a/makefu/2configs/dnscrypt/client.nix +++ b/makefu/2configs/dnscrypt/client.nix @@ -1,6 +1,18 @@ -{ - services.dnscrypt-proxy.enable = true; - services.dnscrypt-proxy.resolverName = "cs-de"; +{ config, ... }: +let + customResolver = { + # TODO: put this somewhere else + address = config.krebs.hosts.gum.nets.internet.ip4.addr; + port = 15251; + name = "2.dnscrypt-cert.euer.krebsco.de"; + # dnscrypt-wrapper --show-provider-publickey --provider-publickey-file public.key + key = "1AFC:E58D:F242:0FBB:9EE9:4E51:47F4:5373:D9AE:C2AB:DD96:8448:333D:5D79:272C:A44C"; + }; +in { + services.dnscrypt-proxy = { + enable = true; + inherit customResolver; + }; networking.extraResolvconfConf = '' name_servers='127.0.0.1' ''; diff --git a/makefu/2configs/dnscrypt/server.nix b/makefu/2configs/dnscrypt/server.nix new file mode 100644 index 000000000..79305e727 --- /dev/null +++ b/makefu/2configs/dnscrypt/server.nix @@ -0,0 +1,26 @@ +{ config, ... }: +let + # TODO: dataDir is currently not provided by upstream + # data = config.services.dnscrypt-wrapper.dataDir; + data = "/var/lib/dnscrypt-wrapper"; + sec = toString <secrets>; + port = 15251; + user = "dnscrypt-wrapper"; +in { + services.dnscrypt-wrapper = { + enable = true; + address = "0.0.0.0"; + upstream.address = "8.8.8.8"; + providerName = "2.dnscrypt-cert.euer.krebsco.de"; + inherit port; + }; + networking.firewall.allowedUDPPorts = [ port ]; + systemd.services.prepare-dnscrypt-wrapper-keys = { + wantedBy = [ "dnscrypt-wrapper.service" ]; + before = [ "dnscrypt-wrapper.service" ]; + script = '' + install -m700 -o ${user} -v ${sec}/dnscrypt-public.key ${data}/public.key + install -m700 -o ${user} -v ${sec}/dnscrypt-secret.key ${data}/secret.key + ''; + }; +} |