diff --git a/tree/.config/nushell/config.nu b/tree/.config/nushell/config.nu index ab42142..b8e3769 100644 --- a/tree/.config/nushell/config.nu +++ b/tree/.config/nushell/config.nu @@ -826,6 +826,7 @@ alias xo = xdg-open # random scripts source ~/.local/nu/readelf.nu +source ~/.local/nu/mullvad.nu # init zoxide source ~/.cache/zoxide.nu diff --git a/tree/.local/nu/mullvad.nu b/tree/.local/nu/mullvad.nu new file mode 100644 index 0000000..d07ad69 --- /dev/null +++ b/tree/.local/nu/mullvad.nu @@ -0,0 +1,25 @@ +# Get a Mullvad api access token from an account number +def m-token [ + account: string # Mullvad account number +] { + (http post https://api.mullvad.net/auth/v1/token + -t application/json {account_number: $account} + ).access_token +} + +# Add a device to a mullvad account +def m-add-device [ + account: string # Mullvad account number +] { + let token = (m-token $account) + let bearer = ("Bearer " + $token) + + (http post https://api.mullvad.net/accounts/v1/devices + -t application/json + -H [Authorization $bearer] + { + pubkey: (wg genkey | wg pubkey), + hijack_dns: false, + kind: "App", + }) +}