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}