diff --git a/tree/.local/nu/mullvad.nu b/tree/.local/nu/mullvad.nu index 93c8dcf..2f30c1d 100644 --- a/tree/.local/nu/mullvad.nu +++ b/tree/.local/nu/mullvad.nu @@ -63,9 +63,18 @@ def dns [ # Build and run mullvad-daemon def "m daemon" [ --release (-r) - --boringtun + # Force userspace wireguard + --userwg + # Use wireguard-go over GotaTun + --wggo + # Use stagemole --stagemole + # Attach GDB + --gdb + # Add counters and such to nft rules + --debug-fw ] { + mut daemon_args = [] mut cargo_flags = [] mut envs = [ MULLVAD_RESOURCE_DIR=./dist-assets/ @@ -83,8 +92,16 @@ def "m daemon" [ ] } - if $boringtun { - $cargo_flags ++= [--features boringtun] + if $debug_fw { + $envs ++= [TALPID_FIREWALL_DEBUG=1] + } + + if $userwg { + $envs ++= [TALPID_FORCE_USERSPACE_WIREGUARD=1] + } + + if $wggo { + $cargo_flags ++= [--features wireguard-go] } if (m daemon is-running --system) { @@ -104,15 +121,21 @@ def "m daemon" [ return } - - let daemon_path = if $release { - $"($env.CARGO_TARGET_DIR)/release/mullvad-daemon" - } else { - $"($env.CARGO_TARGET_DIR)/debug/mullvad-daemon" + if $gdb { + $daemon_args ++= [gdb --args] } + let daemon_path = if $release { + $daemon_args ++= [$"($env.CARGO_TARGET_DIR)/release/mullvad-daemon"] + } else { + $daemon_args ++= [$"($env.CARGO_TARGET_DIR)/debug/mullvad-daemon"] + } + + # increase verbosity + $daemon_args ++= ["-vv"] + cargo b ...$cargo_flags - sudo ...$envs $daemon_path -vv + sudo ...$envs ...$daemon_args } def "m android cli" [