summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src/main.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-09-25Add reset-settings command to CLIDavid Lönnhager1-2/+12
2025-07-10Run `cargo fmt`Sebastian Holmin1-1/+1
2025-06-05Fix typosomahs1-1/+1
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`).
2024-04-30Add initial split tunneling implementation for macOSDavid Lönnhager1-2/+0
2024-01-22Better error message for failed shell completionsSebastian Holmin1-3/+2
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önnhager1-1/+8
2024-01-10Add patch export to the management interfaceDavid Lönnhager1-1/+1
2024-01-04Add workspace level lintsLinus Färnstrand1-2/+0
2023-11-23Remove unused crate `env_logger`Sebastian Holmin1-2/+0
2023-11-23Add `mullvad debug block-connection` commandSebastian Holmin1-1/+8
2023-11-17Add CLI interface for applying JSON settings patchesDavid Lönnhager1-0/+7
2023-10-09UX improvements for `mullvad api-access`Markus Pettersson1-3/+14
- Re-phrase help texts for a lot of `mullvad api-access` commands - Add to help texts for some `mullvad api-access` commands - Compact the output of `mullvad api-access test` - `mullvad api-access status` is changed to `mullvad api-access get` to align with other `mullvad` commands. - `mullvad api-access get` does not print the enabled/disabled status of the shown access method - Rotate access method if the currently active one is updated or removed - Fix reset access method after `mullvad api-access test` After running `mullvad api-access test`, the previously used access method should be used, which was not the case previously. - Fix `mullvad api-access use` API connectivity check - `mullvad api-access use` now runs a test-routine to check that the new access method will function before comitting to it. If this check fails, the previously used access method will be used instead - guarantee that `set_api_access_method` has finished upon returning. Make `mullvad_api::rest::next_api_endpoint` `async` and send a message upon completion. This is propagated to the caller of `next_api_endpoint` which can `await` the result
2023-10-09Refrain from using the word `proxy` where it does not make senseMarkus Pettersson1-2/+2
Do not use the word "proxy" in the context of API access methods, but only in the context where we are actually refering to a proxy (such as `SOCKS5` or `Shadowsocks` proxies).
2023-10-09CleanupMarkus Pettersson1-4/+4
- General code cleanup - Fix some typos - Add some doc comments - Address several `TODO` comments - Fix `clippy` warnings - Removed unused dependency `mullvad-api` from `mullvad-cli` - Removed unused dependency `rand` from `mullvad-daemon` - Rename `mullvad proxy` to `mullvad api-access` - Rename `mullvad_types::api_access_method` -> `mullvad_types::access_method` - Remove unused `mullvad api-access edit` arguments - Fix `Display` for `ProxyConfig` printing arguments in the wrong order - Re-phrase `mullvad api-access test` - If the API call failed, point out which tested access method that did not work. - Fix missing `socket_bypass_tx` value for Android - Refactor `ApiAccessMethod` proto definition - Simplify protobuf definitions of `SOCKS5` api access methods - Remove the `Socks5` enum in favor of implementing `Socks5Local` and `Socks5Remote` directly. - Move `enabled` and `name` out of the individual messages and put them next to the `oneof access_method` in `ApiAccessMethod` proto definition - Use derived `PartialEq` and `Hash` from `AccessMethod` - Instead of hand-rolling `Hash` and implementing an ad-hoc version of half of `PartialEq`, these can now be derived and used as one would imaging due to the refactoring wherer `name` and `enabled` was moved out of `AccessMethod` into `ApiAccessMethod`.
2023-10-09Add `mullvad proxy` commandMarkus Pettersson1-0/+7
The `proxy` subcommand will allow for adding/deleting/editing/showing different API access methods using the mullvad CLI.
2023-09-27Refactor custom list implementationDavid Lönnhager1-1/+1
2023-08-21Rename cli command `mullvad custom-lists` to `mullvad custom-list`Markus Pettersson1-2/+2
The `custom-list` subcommand is now in singular form, rather than plural.
2023-06-29Add basic features for custom list and file persistenceJonathan1-0/+5
Create the basic features outside of rename for custom lists and route these to the daemon. Persist custom lists in settings. Has basic custom list features done, adds errors. Adds reconnect in the case where a selected custom list is modified.
2023-05-03Replace error handling in mullvad-cli with anyhowDavid Lönnhager1-67/+6
2023-05-03And gRPC interface wrapper and refactor CLI to use clap derive instead of ↵David Lönnhager1-73/+136
the builder
2022-10-10Adapt all crates to use mullvad-versionLinus Färnstrand1-2/+1
2022-03-14Make CLI device errors more user-friendlyDavid Lönnhager1-0/+3
2022-02-14Upgrade clap to 3.0David Lönnhager1-17/+26
2021-02-02Unrelated formatting fixEmīls1-8/+6
2021-01-28Rename GrpcClientErrorDavid Lönnhager1-6/+6
2021-01-28Specify exactly what failed in the CLI when multiple RPCs may failDavid Lönnhager1-3/+17
2021-01-28Print tonic statuses more nicely in the CLIDavid Lönnhager1-1/+6
2021-01-28Improve error handling in management interfaceDavid Lönnhager1-1/+1
2020-10-12Only build dependencies and binaries once with build.shDavid Lönnhager1-3/+2
2020-10-09Add --wait argument to connect commandOskar Nyberg1-0/+4
2020-10-09Add CommandFailed error to CLIOskar Nyberg1-0/+3
2020-08-20Add mullvad-management-interface crate for IPC types and functionsDavid Lönnhager1-29/+6
2020-08-20Use gRPC for management interface in backend and CLIDavid Lönnhager1-14/+35
2020-04-17Use conditional compilation for shell completionsDavid Lönnhager1-2/+4
2020-04-17Don't include shell-completions command in shell completionsDavid Lönnhager1-16/+16
2020-04-17Generate and package shell completionsDavid Lönnhager1-1/+2
2020-04-17Make mullvad-cli able to output shell completions at runtimeLinus Färnstrand1-12/+47
2020-02-06Remove licence headers from Rust source codeLinus Färnstrand1-8/+0
According to the licence anyone who copies the source must attach the header anyway is my understanding
2019-10-17Upgrade err-derive to 0.2.1Linus Färnstrand1-9/+3
2019-05-28Factor out location parsing in CLIEmīls Piņķis1-0/+1
2019-05-27Automatically print help when no subcommand givenLinus Färnstrand1-1/+5
2019-04-15Convert errors in CLI away from error-chainLinus Färnstrand1-19/+29
2019-04-08Remove error-chain from mullvad-ipc-clientLinus Färnstrand1-6/+3
2019-04-04Add #![deny(rust_2018_idioms)] to all crates and fix warningsLinus Färnstrand1-1/+3
2019-02-14Use proper subscriptions in mullvad-ipc-clientEmīls Piņķis1-0/+3
2019-01-19Remove explicitly setting the system allocatorLinus Färnstrand1-4/+1
The system allocator is the default since Rust 1.32
2018-12-13Convert mullvad-cli to Rust 2018Linus Färnstrand1-14/+3
2018-11-01Improve error message in CLI when daemon is not runningEmīls Piņķis1-1/+13