summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/dnscrypt
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-09-04 10:11:07 +0200
committermakefu <github@syntax-fehler.de>2017-09-04 10:11:07 +0200
commit50e450d06554457cbec6f43b21109dc25006297c (patch)
tree17614136e7cc21b77d7b82c656632200f38fc52d /makefu/2configs/dnscrypt
parent729549d15464e57e41fd143450c36274cedc84fa (diff)
ma dnscrypt: provide client and server config
Diffstat (limited to 'makefu/2configs/dnscrypt')
-rw-r--r--makefu/2configs/dnscrypt/client.nix18
-rw-r--r--makefu/2configs/dnscrypt/server.nix26
2 files changed, 41 insertions, 3 deletions
diff --git a/makefu/2configs/dnscrypt/client.nix b/makefu/2configs/dnscrypt/client.nix
index 6e7ef0f8..988fb4a7 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 00000000..79305e72
--- /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
+ '';
+ };
+}