diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-06-07 14:38:20 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-08-26 10:11:47 +0200 |
| commit | 4cf00a6af8ee2210b93f9265998f922826a8a24d (patch) | |
| tree | 966ad64fe3a36ee9cc53b1d17633712dfd68ae4b /mullvad-cli | |
| parent | 423bd573856d2e3d98bc7663ad09304d9439642b (diff) | |
| download | mullvadvpn-4cf00a6af8ee2210b93f9265998f922826a8a24d.tar.xz mullvadvpn-4cf00a6af8ee2210b93f9265998f922826a8a24d.zip | |
Add CLI for Shadowsocks obfuscation
Diffstat (limited to 'mullvad-cli')
| -rw-r--r-- | mullvad-cli/src/cmds/obfuscation.rs | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/mullvad-cli/src/cmds/obfuscation.rs b/mullvad-cli/src/cmds/obfuscation.rs index 91d3320bd7..be2cd7a486 100644 --- a/mullvad-cli/src/cmds/obfuscation.rs +++ b/mullvad-cli/src/cmds/obfuscation.rs @@ -3,7 +3,9 @@ use clap::Subcommand; use mullvad_management_interface::MullvadProxyClient; use mullvad_types::{ constraints::Constraint, - relay_constraints::{ObfuscationSettings, SelectedObfuscation, Udp2TcpObfuscationSettings}, + relay_constraints::{ + ObfuscationSettings, SelectedObfuscation, ShadowsocksSettings, Udp2TcpObfuscationSettings, + }, }; #[derive(Subcommand, Debug)] @@ -18,16 +20,22 @@ pub enum Obfuscation { #[derive(Subcommand, Debug, Clone)] pub enum SetCommands { - /// Specifies if obfuscation should be used with WireGuard connections. - /// And if so, what obfuscation protocol it should use. + /// Specify which obfuscation protocol to use, if any. Mode { mode: SelectedObfuscation }, - /// Specifies the config for the udp2tcp obfuscator. + /// Configure udp2tcp obfuscation. Udp2tcp { /// Port to use, or 'any' #[arg(long, short = 'p')] port: Constraint<u16>, }, + + /// Configure Shadowsocks obfuscation. + Shadowsocks { + /// Port to use, or 'any' + #[arg(long, short = 'p')] + port: Constraint<u16>, + }, } impl Obfuscation { @@ -41,6 +49,7 @@ impl Obfuscation { obfuscation_settings.selected_obfuscation ); println!("udp2tcp settings: {}", obfuscation_settings.udp2tcp); + println!("Shadowsocks settings: {}", obfuscation_settings.shadowsocks); Ok(()) } Obfuscation::Set(subcmd) => Self::set(subcmd).await, @@ -66,6 +75,13 @@ impl Obfuscation { }) .await?; } + SetCommands::Shadowsocks { port } => { + rpc.set_obfuscation_settings(ObfuscationSettings { + shadowsocks: ShadowsocksSettings { port }, + ..current_settings + }) + .await?; + } } println!("Updated obfuscation settings"); |
