1{ lib, ... }: 2{ 3 name = "tor"; 4 meta.maintainers = with lib.maintainers; [ joachifm ]; 5 6 nodes.client = 7 { pkgs, ... }: 8 { 9 boot.kernelParams = [ 10 "audit=0" 11 "apparmor=0" 12 "quiet" 13 ]; 14 networking.firewall.enable = false; 15 networking.useDHCP = false; 16 17 environment.systemPackages = [ pkgs.netcat ]; 18 services.tor.enable = true; 19 services.tor.client.enable = true; 20 services.tor.settings.ControlPort = 9051; 21 }; 22 23 testScript = '' 24 client.wait_for_unit("tor.service") 25 client.wait_for_open_port(9051) 26 assert "514 Authentication required." in client.succeed( 27 "echo GETINFO version | nc 127.0.0.1 9051" 28 ) 29 ''; 30}