nixvimConfig/modules/nixOS/features/mitmproxy.nix

25 lines
807 B
Nix
Raw Normal View History

2024-10-13 13:58:00 +02:00
{config, pkgs, lib, ...}: let
localCfg = config.myNixOS.mitmproxy;
in {
options.myNixOS.mitmproxy = {
routeAP = lib.mkEnableOption { default = true; };
accessPoint = lib.mkOption {
type = lib.types.str;
};
mitmPort = lib.mkOption { default = 8080; };
};
environment.systemPackages = [ pkgs.mitmproxy ];
networking.firewall = lib.mkIf localCfg.routeAP {
extraCommands = let
accessPoint = localCfg.accessPoint;
port = localCfg.mitmPort;
in /*bash*/ ''
iptables -t nat -A PREROUTING -i ${accessPoint} -p tcp --dport 80 -j REDIRECT --to-port ${builtins.toString port}
iptables -t nat -A PREROUTING -i ${accessPoint} -p tcp --dport 443 -j REDIRECT --to-port ${builtins.toString port}
'';
allowedTCPPorts = [ localCfg.mitmPort ];
};
}