| 
									
										
										
										
											2019-11-06 21:08:06 +01:00
										 |  |  | import ./make-test-python.nix ({ pkgs, ... }: { | 
					
						
							| 
									
										
										
										
											2020-02-01 18:59:02 -05:00
										 |  |  |   name = "dnscrypt-proxy2"; | 
					
						
							| 
									
										
										
										
											2021-01-10 20:08:30 +01:00
										 |  |  |   meta = with pkgs.lib.maintainers; { | 
					
						
							| 
									
										
										
										
											2018-01-08 15:09:33 +01:00
										 |  |  |     maintainers = [ joachifm ]; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   nodes = { | 
					
						
							|  |  |  |     # A client running the recommended setup: DNSCrypt proxy as a forwarder | 
					
						
							|  |  |  |     # for a caching DNS client. | 
					
						
							|  |  |  |     client = | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |     { ... }: | 
					
						
							| 
									
										
										
										
											2018-01-08 15:09:33 +01:00
										 |  |  |     let localProxyPort = 43; in | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       security.apparmor.enable = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-01 18:59:02 -05:00
										 |  |  |       services.dnscrypt-proxy2.enable = true; | 
					
						
							|  |  |  |       services.dnscrypt-proxy2.settings = { | 
					
						
							|  |  |  |         listen_addresses = [ "127.0.0.1:${toString localProxyPort}" ]; | 
					
						
							|  |  |  |         sources.public-resolvers = { | 
					
						
							|  |  |  |           urls = [ "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md" ]; | 
					
						
							|  |  |  |           cache_file = "public-resolvers.md"; | 
					
						
							|  |  |  |           minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"; | 
					
						
							|  |  |  |           refresh_delay = 72; | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       }; | 
					
						
							| 
									
										
										
										
											2018-01-08 15:09:33 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |       services.dnsmasq.enable = true; | 
					
						
							|  |  |  |       services.dnsmasq.servers = [ "127.0.0.1#${toString localProxyPort}" ]; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   testScript = ''
 | 
					
						
							| 
									
										
										
										
											2019-11-06 21:08:06 +01:00
										 |  |  |     client.wait_for_unit("dnsmasq") | 
					
						
							| 
									
										
										
										
											2020-02-01 18:59:02 -05:00
										 |  |  |     client.wait_for_unit("dnscrypt-proxy2") | 
					
						
							| 
									
										
										
										
											2018-01-08 15:09:33 +01:00
										 |  |  |   '';
 | 
					
						
							|  |  |  | }) |