summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-06-07 14:38:20 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-08-26 10:11:47 +0200
commit4cf00a6af8ee2210b93f9265998f922826a8a24d (patch)
tree966ad64fe3a36ee9cc53b1d17633712dfd68ae4b /mullvad-cli/src
parent423bd573856d2e3d98bc7663ad09304d9439642b (diff)
downloadmullvadvpn-4cf00a6af8ee2210b93f9265998f922826a8a24d.tar.xz
mullvadvpn-4cf00a6af8ee2210b93f9265998f922826a8a24d.zip
Add CLI for Shadowsocks obfuscation
Diffstat (limited to 'mullvad-cli/src')
-rw-r--r--mullvad-cli/src/cmds/obfuscation.rs24
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");