summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/networking/privoxy.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/networking/privoxy.nix')
-rw-r--r--nixos/modules/services/networking/privoxy.nix20
1 files changed, 18 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix
index 1f41c720adf5..e3b34cb0c616 100644
--- a/nixos/modules/services/networking/privoxy.nix
+++ b/nixos/modules/services/networking/privoxy.nix
@@ -8,15 +8,22 @@ let
cfg = config.services.privoxy;
- confFile = pkgs.writeText "privoxy.conf" ''
+ confFile = pkgs.writeText "privoxy.conf" (''
user-manual ${privoxy}/share/doc/privoxy/user-manual
confdir ${privoxy}/etc/
listen-address ${cfg.listenAddress}
enable-edit-actions ${if (cfg.enableEditActions == true) then "1" else "0"}
${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles}
${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles}
+ '' + optionalString cfg.enableTor ''
+ forward-socks4a / ${config.services.tor.client.socksListenAddressFaster} .
+ toggle 1
+ enable-remote-toggle 0
+ enable-edit-actions 0
+ enable-remote-http-toggle 0
+ '' + ''
${cfg.extraConfig}
- '';
+ '');
in
@@ -72,6 +79,15 @@ in
'';
};
+ enableTor = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to configure Privoxy to use Tor's faster SOCKS port,
+ suitable for HTTP.
+ '';
+ };
+
extraConfig = mkOption {
type = types.lines;
default = "" ;