summaryrefslogtreecommitdiffstats
path: root/usecases/common
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2021-05-28 18:24:33 +0200
committerMinijackson <minijackson@riseup.net>2021-05-28 18:24:33 +0200
commit6a73ace61fe95a74609b210ace27e1f07026dfab (patch)
tree01f0d7b56907f8dccefc7db330ade48de3e9b879 /usecases/common
parent587e107079b6b7161472250724e211075013b053 (diff)
downloadnixos-config-reborn-6a73ace61fe95a74609b210ace27e1f07026dfab.tar.gz
nixos-config-reborn-6a73ace61fe95a74609b210ace27e1f07026dfab.zip
dnscrypt: move to usecases/common
Diffstat (limited to 'usecases/common')
-rw-r--r--usecases/common/dnscrypt.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/usecases/common/dnscrypt.nix b/usecases/common/dnscrypt.nix
new file mode 100644
index 0000000..fbeb61f
--- /dev/null
+++ b/usecases/common/dnscrypt.nix
@@ -0,0 +1,47 @@
1inputs:
2
3{ config, lib, ... }:
4
5{
6 services.dnscrypt-proxy2 = {
7 enable = true;
8 settings = {
9 static = {
10 "ns3.fr.dns.opennic.glue iriseden DNSCrypt IPv4".stamp =
11 "sdns://AQcAAAAAAAAAEzYyLjIxMC4xNzcuMTg5OjEwNTMgW8vytBGk6u3kvCpl4q88XjqW-w6JJiJ7QBObcFV7gYAfMi5kbnNjcnlwdC1jZXJ0Lm5zMS5pcmlzZWRlbi5mcg";
12 "ns3.fr.dns.opennic.glue iriseden DNSCrypt IPv6".stamp =
13 "sdns://AQcAAAAAAAAAHVsyMDAxOmJjODozMmQ3OjMwODo6MjAxXToxMDUzIEUAcwKTPY6tyEQxtfO3rIzEyqN9w7WGPLz7ZsHsx5EGHzIuZG5zY3J5cHQtY2VydC5uczEuaXJpc2VkZW4uZnI";
14 "ns3.fr.dns.opennic.glue iriseden DoH".stamp =
15 "sdns://AgcAAAAAAAAAAAAPbnMxLmlyaXNlZGVuLmV1CWRucy1xdWVyeQ";
16
17 "ns4.fr.dns.opennic.glue iriseden DNSCrypt IPv4".stamp =
18 "sdns://AQcAAAAAAAAAEjYyLjIxMC4xODAuNzE6MTA1MyBxLWt8kNHoMqM7vKXCkuZ3PnB32c0qV2I3KGQYtlDKSB8yLmRuc2NyeXB0LWNlcnQubnMyLmlyaXNlZGVuLmZy";
19 "ns4.fr.dns.opennic.glue iriseden DNSCrypt IPv6".stamp =
20 "sdns://AQcAAAAAAAAAHVsyMDAxOmJjODozMmQ3OjMwNzo6MzAxXToxMDUzIJjeEela3WTzMuuZTskr7aOchIg2llSDNRsHfcggITn6HzIuZG5zY3J5cHQtY2VydC5uczIuaXJpc2VkZW4uZnI";
21 "ns4.fr.dns.opennic.glue iriseden DoH".stamp =
22 "sdns://AgcAAAAAAAAAAAAPbnMyLmlyaXNlZGVuLmV1CWRucy1xdWVyeQ";
23
24 "ns8.he.de.dns.opennic.glue ethservices DoH".stamp =
25 "sdns://AgcAAAAAAAAAAAAcb3Blbm5pYzEuZXRoLXNlcnZpY2VzLmRlOjg1MwA";
26
27 "ns31.de.dns.opennic.glue ethservices DoH".stamp =
28 "sdns://AgcAAAAAAAAAAAAcb3Blbm5pYzIuZXRoLXNlcnZpY2VzLmRlOjg1MwA";
29
30 "ns3.de.dns.opennic.glue Eleix DoH".stamp =
31 "sdns://AgcAAAAAAAAAAAAQZG9oLmJvb3RobGFicy5tZQlkbnMtcXVlcnk";
32 };
33
34 cloaking_rules = with lib;
35 let
36 inherit (config.networking) hosts;
37 entryToCloak = addr:
38 concatMapStringsSep "\n" (hostname: "${hostname} ${addr}") hosts.${addr};
39 in
40 builtins.toFile
41 "cloaking-rules.txt"
42 (concatMapStringsSep "\n" entryToCloak (attrNames config.networking.hosts));
43 };
44 };
45
46 networking.resolvconf.useLocalResolver = true;
47}