summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src/cmds/mod.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-07-10Run `cargo fmt`Sebastian Holmin1-11/+13
2024-01-10Add patch export to the management interfaceDavid Lönnhager1-1/+1
2024-01-03Allow app to use custom socks5 and shadwosocks proxiesJonathan1-0/+1
This PR has a couple of different purposes - Allow users to use socks5 local proxies with the CLI without having to be root nor use split-tunneling. This only works for OpenVPN. - Unify the types used by different proxy parts of the codebase, such as the Access Methods as well as some already existing OpenVPN proxy code. This PR changes the firewall on all desktop platforms as well as changes the routing table slightly on MacOS and Windows. On Linux the firewall code is modified to apply the appropriate firewall marks to all packages that go to a remote endpoint corresponding to the remote part of a local socks5 proxy. The firewall marks will allow the routing to be done without having to modify the routing table. On MacOS and Windows the routing table is modified to allow packages to go to that same endpoint to pass outside the VPN tunnel, it will additionally punch a hole in the firewall. The PR also migrates the settings file from version 7 to version 8 in order to properly and neatly unify Proxy related types. Finally it provides some slight extensions to the gRPC interface in order to allow for control over the custom proxy settings.
2023-11-23Add `mullvad debug block-connection` commandSebastian Holmin1-2/+2
2023-11-17Add CLI interface for applying JSON settings patchesDavid Lönnhager1-0/+1
2023-11-13Warn if setting relay overrides for non-existent hostname in the CLIDavid Lönnhager1-1/+6
2023-11-13Add CLI for relay overridesDavid Lönnhager1-0/+21
2023-10-09CleanupMarkus Pettersson1-1/+1
- 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/+1
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-06-29Add basic features for custom list and file persistenceJonathan1-0/+1
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-03Overthink boolean optionsDavid Lönnhager1-7/+57
2023-05-03And gRPC interface wrapper and refactor CLI to use clap derive instead of ↵David Lönnhager1-82/+26
the builder
2022-03-24Add CLI commands for configuring obfuscationEmīls1-0/+4
2022-01-14Simplify custom resolver to not leak any trafficEmīls1-7/+0
2021-12-10Use network-check subcommand in CLIEmīls1-0/+7
2021-07-02Support Windows split tunneling driverDavid Lönnhager1-3/+3
2021-05-12Add ad and tracker blocking DNS optionsDavid Lönnhager1-5/+0
2021-05-12Add dns subcommandDavid Lönnhager1-0/+4
2020-10-28Include custom DNS setting on macOSDavid Lönnhager1-1/+1
2020-10-26Include custom DNS setting on LinuxDavid Lönnhager1-1/+1
2020-10-22Use custom DNS setting on Windows onlyDavid Lönnhager1-0/+1
2020-10-22Add CLI interface for custom DNSDavid Lönnhager1-0/+4
2020-06-02Rename split modules to split_tunnelDavid Lönnhager1-3/+3
2020-06-02Conditionally compile split tunneling code for LinuxDavid Lönnhager1-3/+3
2020-06-02Add split tunneling CLIDavid Lönnhager1-0/+7
2020-03-11Beta program option in CLIDavid Lönnhager1-0/+4
2019-11-27Add reconnect to cliLinus Färnstrand1-8/+12
2019-07-22Add factory-reset command to CLIEmīls Piņķis1-0/+4
2019-05-28Add bridge subcommandEmīls Piņķis1-0/+4
2018-12-13Convert mullvad-cli to Rust 2018Linus Färnstrand1-2/+2
2018-11-13Add block-when-disconnected to CLILinus Färnstrand1-2/+6
2018-11-07Update paths to start with crate:: etcLinus Färnstrand1-1/+1
2018-07-19Fix clippy warnings in mullvad-types and mullvad-cliLinus Färnstrand1-1/+1
2018-07-10Expose autoconnect option in CLILinus Färnstrand1-0/+4
2018-06-27Remove the shutdown command from the CLILinus Färnstrand1-4/+0
2018-04-10Format with rustfmt 0.4.1-nightly (e784712 2018-04-09)Linus Färnstrand1-1/+1
2018-03-26Add version subcommand to CLIEmīls Piņķis1-0/+3
2018-03-22Add support for setting and getting tunnel options from cliEmīls Piņķis1-0/+5
2017-12-20Add allow_lan support to the CLILinus Färnstrand1-0/+4
2017-11-02Set the tunnel port and protocol over the APIErik Larkö1-3/+3
2017-10-18Add shutdown command to cliLinus Färnstrand1-0/+4
2017-09-13Set custom relay in cliErik Larkö1-0/+4
2017-07-17Rename all crates from snake_case to kebab-caseLinus Färnstrand1-0/+31