summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli
AgeCommit message (Collapse)AuthorFilesLines
2025-01-22Implement FromStr on GeographicLocationConstraintMarkus Pettersson1-1/+0
2025-01-02Update LegalCopyright year to 2025Markus Pettersson1-1/+1
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-25Add `futures` to workspace dependenciesSebastian Holmin1-1/+1
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 Hulthe3-19/+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-07Promote serde(_json) to workspace dependenciesJoakim Hulthe1-2/+2
2024-08-07Add --json flag to `mullvad status`Joakim Hulthe2-20/+38
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-26Enable DAITA on macOSDavid Lönnhager1-2/+2
2024-06-25Add `daita` as a Cargo cfg variableMarkus Pettersson4-10/+17
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 Hulthe2-4/+4
`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.
2024-02-19Update copyright year to 2024Oskar Nyberg1-1/+1
2024-01-22Bump `clap` and `clap_complete`Sebastian Holmin1-1/+1
2024-01-22Better error message for failed shell completionsSebastian Holmin1-3/+2
2024-01-22Move logic of toggling disabled access methods on use to the daemonMarkus Pettersson1-6/+1
2024-01-18Update the tunnel state on lockdown mode change.Sebastian Holmin1-8/+17
The printing of lockdown mode by `mullvad status` does not reflect the current setting unless the tunnel state has also been updated.
2024-01-18Print if lockdown mode is enabled when disconnected for `mullvad status`Sebastian Holmin2-7/+20
Add `locked_down` field to disconnected tunnel state.
2024-01-16Add rust-version to all Cargo.tomlLinus Färnstrand1-0/+1
2024-01-12Validate SOCKS5 credentialsMarkus Pettersson4-86/+72
Validate SOCKS credentials by checking that both `username` and `password` both have a length between 1 and 255 bytes. Link to RFC detailing SOCKS5 username/password authentication: https://datatracker.ietf.org/doc/html/rfc1929
2024-01-11Add missing tokio feature to mullvad-cliDavid Lönnhager1-1/+1
2024-01-11Simplify CLI patch module slightlyDavid Lönnhager1-25/+19
2024-01-10Simplify JSON import and export in the CLIDavid Lönnhager1-106/+20
2024-01-10Print help if no argument is provided to export-settings or import-settings ↵David Lönnhager1-0/+2
in the CLI
2024-01-10Add CLI export-settings commandDavid Lönnhager2-5/+57
2024-01-10Add patch export to the management interfaceDavid Lönnhager3-5/+5
2024-01-09Remove version and publish cargo metadataLinus Färnstrand1-2/+0
Since Rust 1.75.0 the `version` field is optional. The version defaults to "0.0.0" if it's not specified, and `publish` defaults to false if no version has been given. So by not specifying a version we get both `version = "0.0.0" and `publish = false` "for free"
2024-01-08Add new internal daemon event `AccessMethodEvent`Markus Pettersson1-0/+5
Add a new `InternalDaemonEvent` for announcing when the current API access method changes.
2024-01-05Run `cargo +nightly fmt`Sebastian Holmin2-4/+6