summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src/main.rs
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2023-10-09 14:41:30 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-10-09 14:41:30 +0200
commitbb2caa8fa93b9272817d22c08ed6f4e5371a35ac (patch)
tree22620c408bd2e0e01c96329c4b4b7838b4939628 /mullvad-cli/src/main.rs
parent524a64d100693f3dc3c4b77c5c3b9d478dd6a4b9 (diff)
parentfbefa3f172cf324de8790a383ceb3f5329e94c7c (diff)
downloadmullvadvpn-bb2caa8fa93b9272817d22c08ed6f4e5371a35ac.tar.xz
mullvadvpn-bb2caa8fa93b9272817d22c08ed6f4e5371a35ac.zip
Merge branch 'revamp-api-access-methods' into main
Diffstat (limited to 'mullvad-cli/src/main.rs')
-rw-r--r--mullvad-cli/src/main.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/mullvad-cli/src/main.rs b/mullvad-cli/src/main.rs
index 41f1643970..7a09a4eebd 100644
--- a/mullvad-cli/src/main.rs
+++ b/mullvad-cli/src/main.rs
@@ -71,6 +71,23 @@ enum Cli {
#[clap(subcommand)]
Relay(relay::Relay),
+ /// Manage Mullvad API access methods.
+ ///
+ /// Access methods are used to connect to the the Mullvad API via one of
+ /// Mullvad's bridge servers or a custom proxy (SOCKS5 & Shadowsocks) when
+ /// and where establishing a direct connection does not work.
+ ///
+ /// If the Mullvad daemon is unable to connect to the Mullvad API, it will
+ /// automatically try to use any other configured access method and re-try
+ /// the API call. If it succeeds, all subsequent API calls are made using
+ /// the new access method. Otherwise it will re-try using yet another access
+ /// method.
+ ///
+ /// The Mullvad API is used for logging in, accessing the relay list,
+ /// rotating Wireguard keys and more.
+ #[clap(subcommand)]
+ ApiAccess(api_access::ApiAccess),
+
/// Manage use of obfuscation protocols for WireGuard.
/// Can make WireGuard traffic look like something else on the network.
/// Helps circumvent censorship and to establish a tunnel when on restricted networks
@@ -134,6 +151,7 @@ async fn main() -> Result<()> {
Cli::Dns(cmd) => cmd.handle().await,
Cli::Lan(cmd) => cmd.handle().await,
Cli::Obfuscation(cmd) => cmd.handle().await,
+ Cli::ApiAccess(cmd) => cmd.handle().await,
Cli::Version => version::print().await,
Cli::FactoryReset => reset::handle().await,
Cli::Relay(cmd) => cmd.handle().await,