summary refs log tree commit diff
path: root/nixos/modules/services/security/tor.nix
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2019-04-29 22:56:47 -0500
committerWill Dietz <w@wdtz.org>2019-05-01 21:56:05 -0500
commitf24f72e60b369968aa796d5409c49f4282300836 (patch)
tree00dbeb41769eae709f96b602c1bd5de1c7caee64 /nixos/modules/services/security/tor.nix
parent63a13cce7c628b2df4b848f9819312bbf999d400 (diff)
downloadnixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar.gz
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar.bz2
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar.lz
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar.xz
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.tar.zst
nixpkgs-f24f72e60b369968aa796d5409c49f4282300836.zip
nixos tor: use obfs4proxy, make transport list customizable
Diffstat (limited to 'nixos/modules/services/security/tor.nix')
-rw-r--r--nixos/modules/services/security/tor.nix11
1 files changed, 9 insertions, 2 deletions
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index 61b751bb518..6f4852c3ba1 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -81,7 +81,7 @@ let
 
     ${optionalString (elem cfg.relay.role ["bridge" "private-bridge"]) ''
       BridgeRelay 1
-      ServerTransportPlugin obfs2,obfs3 exec ${pkgs.pythonPackages.obfsproxy}/bin/obfsproxy managed
+      ServerTransportPlugin ${concatStringsSep "," cfg.relay.bridgeTransports} exec ${obfs4}/bin/obfs4proxy managed
       ExtORPort auto
       ${optionalString (cfg.relay.role == "private-bridge") ''
         ExtraInfoStatistics 0
@@ -355,7 +355,7 @@ in
                 <para>
                   Regular bridge. Works like a regular relay, but
                   doesn't list you in the public relay directory and
-                  hides your Tor node behind obfsproxy.
+                  hides your Tor node behind obfs4proxy.
                 </para>
 
                 <para>
@@ -424,6 +424,13 @@ in
           '';
         };
 
+        bridgeTransports = mkOption {
+          type = types.listOf types.str;
+          default = ["obfs4"];
+          example = ["obfs2" "obfs3" "obfs4" "scramblesuit"];
+          description = "List of pluggable transports";
+        };
+
         nickname = mkOption {
           type = types.str;
           default = "anonymous";