mirror of
https://github.com/EasyTier/EasyTier.git
synced 2025-10-05 16:56:57 +08:00
support change tun interface name (#151)
This commit is contained in:
@@ -150,6 +150,8 @@ pub struct VpnPortalConfig {
|
||||
pub struct Flags {
|
||||
#[derivative(Default(value = "\"tcp\".to_string()"))]
|
||||
pub default_protocol: String,
|
||||
#[derivative(Default(value = "\"tun\".to_string()"))]
|
||||
pub dev_name: String,
|
||||
#[derivative(Default(value = "true"))]
|
||||
pub enable_encryption: bool,
|
||||
#[derivative(Default(value = "true"))]
|
||||
|
@@ -172,6 +172,9 @@ and the vpn client is in network of 10.14.14.0/24"
|
||||
#[arg(long, help = "do not use ipv6", default_value = "false")]
|
||||
disable_ipv6: bool,
|
||||
|
||||
#[arg(long, help = "interface name", default_value = "tun")]
|
||||
dev_name: String,
|
||||
|
||||
#[arg(
|
||||
long,
|
||||
help = "mtu of the TUN device, default is 1420 for non-encryption, 1400 for encryption"
|
||||
@@ -424,6 +427,7 @@ impl From<Cli> for TomlConfigLoader {
|
||||
f.enable_encryption = !cli.disable_encryption;
|
||||
f.enable_ipv6 = !cli.disable_ipv6;
|
||||
f.latency_first = cli.latency_first;
|
||||
f.dev_name = cli.dev_name;
|
||||
if let Some(mtu) = cli.mtu {
|
||||
f.mtu = mtu;
|
||||
}
|
||||
|
@@ -273,6 +273,8 @@ impl VirtualNic {
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let dev_name = self.global_ctx.get_flags().dev_name;
|
||||
config.name(format!("{}{}", dev_name, 0));
|
||||
config.platform(|config| {
|
||||
// detect protocol by ourselves for cross platform
|
||||
config.packet_information(false);
|
||||
|
Reference in New Issue
Block a user