summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src
AgeCommit message (Collapse)AuthorFilesLines
2025-11-03Add `mullvad debug rollout` commandMarkus Pettersson1-1/+45
Define `get`, `reroll` and `seed` for quickly inspecting and debugging new app releases.
2025-10-23Change `mullvad reconnect` warns the user when issued in unsecured stateMarkus Pettersson1-4/+6
Exit with non-zero exit code as well to make the command a bit more script-friendly.
2025-09-30Rename block_when_disconnected to lockdown_mode in mullvad cratesTobias Järvelöv1-2/+2
2025-09-25Add reset-settings command to CLIDavid Lönnhager2-4/+29
2025-09-18Add multiplexer POC to daemon, TSM, and relay selectorDavid Lönnhager1-7/+32
2025-09-08Fix lint `clippy::implicit_clone`Markus Pettersson2-3/+3
2025-07-15Run `crago +nightly clippy --fix`Markus Pettersson1-22/+22
2025-07-10Run `cargo fmt`Sebastian Holmin14-42/+41
2025-07-09Inline format argumentsLinus Färnstrand2-2/+2
2025-07-08Inline variables in format stringLinus Färnstrand4-7/+7
A new clippy lint warns about this. A simple cargo clippy --fix solved it
2025-06-24Enable support for creating a custom list with locationsJonatan Rhodin3-4/+4
2025-06-09Add `AllowedIps` setting to CLISebastian Holmin2-7/+41
2025-06-05Fix typosomahs1-1/+1
2025-05-28Implement new version check and app downloaderDavid Lönnhager1-17/+5
This also fixes 'latest_beta' being required in the API Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-04-04Implement new debug commands: `relay disable` and `relay enable`Markus Pettersson1-0/+25
Add two new `mullvad debug` subcommands: - mullvad debug relay enable <country|city|hostname|openvpn|wireguard> - mullvad debug relay disable <country|city|hostname|openvpn|wireguard> These commands are used to update the state of relays the current relay list. This is useful to mock relays going offline or coming online from an offline state. These new debug commands were conceived during the development of the feature for adding warnings for the upcoming OpenVPN deprecation, as there wasn't a convenient way of mocking this.
2025-03-18Replace to_owned with clone where that's implicitly what was going onLinus Färnstrand1-2/+2
2025-03-12Handle `SIGPIPE`Markus Pettersson1-0/+18
Fix `SIGPIPE` being ignored, which would cause the `mullvad-cli` to panic if it received a `PIPE` signal (e.g. it was piped into `echo`).
2025-03-05Remove automatic tunnel typeDavid Lönnhager1-20/+11
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-02-12Format workspaceSebastian Holmin1-22/+25
The 2024 edition contains new formatting rules. All of these are not compatible with the 2021 formatting style, but most of them are. To change the formatting to be as close to the new style as possible while remaining compatible with the 2021 edition, I first ran `cargo +beta fmt` with the edition set to 2024, then, with the edition set to 2021, I ran `cargo fmt`.
2025-02-12Run `cargo +beta fix --edition`Sebastian Holmin2-7/+7
2025-02-10Sort alphabetically as a fallbackSebastian Holmin1-1/+1
Items are sorted by length, which is a hack that happens to put important items first. Since `Tunnel type` and `Bridge type` have the same string lengths, they could be outputted randomly.
2025-01-22Implement FromStr on GeographicLocationConstraintMarkus Pettersson1-1/+0
2024-11-28Fix clippy warningsMarkus Pettersson1-1/+0
2024-10-07Rename "smart routing" to "direct only" in the APISebastian Holmin1-9/+9
Also invert the behavior
2024-10-01Rename account "token" to account "number"Joakim Hulthe1-17/+17
2024-09-19Fix `mullvad status -v` not printing udp2tcp port and transport protocolMarkus Pettersson1-7/+16
2024-09-17Align Smart routing GUI with design specJoakim Hulthe1-8/+9
2024-09-17Remove daita cfg from mullvad-cliJoakim Hulthe2-12/+2
2024-09-17Add daita.enabled and daita.use_anywhere rpc callsJoakim Hulthe1-8/+17
2024-09-17Remove Option from Relay::locationJoakim Hulthe1-14/+9
2024-09-17Add `use_anywhere` daita settingJoakim Hulthe1-2/+5
2024-09-16Refactor `mullvad status listen` commandSebastian Holmin3-179/+204
2024-09-02Run `cargo +nightly clippy --fix`Markus Pettersson1-6/+3
2024-08-26Add CLI for Shadowsocks obfuscationDavid Lönnhager1-4/+20
2024-08-16Use range types for all port rangesDavid Lönnhager1-1/+1
Breaks backwards compatibility with relays.json (which is acceptable)
2024-08-07Add --json flag to `mullvad status`Joakim Hulthe1-20/+36
2024-08-01Implement feature indicators in daemonJoakim Hulthe2-29/+37
- Add a GetFeatureIndicators gRPC call that get's the current set of active "features" that should be shown in the UI. - Extend the TunnelState with a FeatureIndicators value. Clients who listens for TunnelState events will get updates automatically.
2024-07-18Fix burst daemon events being missedSebastian Holmin1-1/+2
The daemon event stream was reset between every item, which caused events that arrive while the previous item is being handled to be missed.
2024-07-04Trim custom list name and limit len to 30 in cliJoakim Hulthe1-0/+19
2024-06-25Add `daita` as a Cargo cfg variableMarkus Pettersson3-10/+10
Gate DAITA compilation on `"cargo::rustc-cfg=daita"` emitted in build files per platform.
2024-06-25Enable DAITA for linux in CLI and typesSebastian Holmin3-10/+10
2024-06-24Run `cargo +nightly fmt`Sebastian Holmin1-4/+2
2024-06-20Add `PrepareRestartv2` gRPC callMarkus Pettersson1-0/+15
- Add option to automatically shutdown daemon on after running through the same safety routine as `PrepareRestart`. This is exposed via a new gRPC call called `PrepareRestartV2`. - Add help text for enabling full disk access to the CLI
2024-04-30Add initial split tunneling implementation for macOSDavid Lönnhager3-3/+90
2024-04-22Fix broken lints in rustdocsSebastian Holmin2-11/+11
I ran `cargo doc` and fixed as many broken links as I could find.
2024-04-16Add DAITA Windows client and updated tuncfgDavid Lönnhager3-2/+42
2024-04-03Enable single-use-lifetimes rustc lintLinus Färnstrand3-3/+3
Removes superfluous lifetime definitions. Simplifying the code
2024-03-27Refactor `mullvad-relay-selector`Markus Pettersson7-13/+19
Implement a system built on 'queries' for selecting appropriate relays. A query is a set of constraints which dictates which relay(s) that *can* be chosen by the relay selector. The user's settings can naturally be expressed as a query. The semantics of merging two queries in a way that always prefer user settings is defined by the new `Intersection` trait. Split `mullvad-relay-selector` into several modules: - `query.rs`: Definition of a query on different types of relays. This module is integral to the new API of `mullvad-relay-selector` - `matcher.rs`: Logic for filtering out candidate relays based on a query. - `detailer.rs`: Logic for deriving connection details for the selected relay. - `tests/`: Integration tests for the new relay selector. These tests only use the public APIs of `RelaySelector` and make sure that the output matches the expected output in different scenarios.
2024-02-28Make `block-connection` block even if disconnectedJoakim Hulthe1-0/+3
2024-02-27Replace err_derive with thiserrorJoakim Hulthe1-3/+3
`err_derive` is unmaintained and will probably stop working with rust edition 2024. `thiserror` is almost a drop-in replacement. This commit simply replaces all occurences of `derive(err_derive::Error)` with `derive(thiserror::Error)` and fixes the attributes, but the Error and Display impls should be identical.