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 {
|
pub struct Flags {
|
||||||
#[derivative(Default(value = "\"tcp\".to_string()"))]
|
#[derivative(Default(value = "\"tcp\".to_string()"))]
|
||||||
pub default_protocol: String,
|
pub default_protocol: String,
|
||||||
|
#[derivative(Default(value = "\"tun\".to_string()"))]
|
||||||
|
pub dev_name: String,
|
||||||
#[derivative(Default(value = "true"))]
|
#[derivative(Default(value = "true"))]
|
||||||
pub enable_encryption: bool,
|
pub enable_encryption: bool,
|
||||||
#[derivative(Default(value = "true"))]
|
#[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")]
|
#[arg(long, help = "do not use ipv6", default_value = "false")]
|
||||||
disable_ipv6: bool,
|
disable_ipv6: bool,
|
||||||
|
|
||||||
|
#[arg(long, help = "interface name", default_value = "tun")]
|
||||||
|
dev_name: String,
|
||||||
|
|
||||||
#[arg(
|
#[arg(
|
||||||
long,
|
long,
|
||||||
help = "mtu of the TUN device, default is 1420 for non-encryption, 1400 for encryption"
|
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_encryption = !cli.disable_encryption;
|
||||||
f.enable_ipv6 = !cli.disable_ipv6;
|
f.enable_ipv6 = !cli.disable_ipv6;
|
||||||
f.latency_first = cli.latency_first;
|
f.latency_first = cli.latency_first;
|
||||||
|
f.dev_name = cli.dev_name;
|
||||||
if let Some(mtu) = cli.mtu {
|
if let Some(mtu) = cli.mtu {
|
||||||
f.mtu = mtu;
|
f.mtu = mtu;
|
||||||
}
|
}
|
||||||
|
@@ -273,6 +273,8 @@ impl VirtualNic {
|
|||||||
|
|
||||||
#[cfg(target_os = "linux")]
|
#[cfg(target_os = "linux")]
|
||||||
{
|
{
|
||||||
|
let dev_name = self.global_ctx.get_flags().dev_name;
|
||||||
|
config.name(format!("{}{}", dev_name, 0));
|
||||||
config.platform(|config| {
|
config.platform(|config| {
|
||||||
// detect protocol by ourselves for cross platform
|
// detect protocol by ourselves for cross platform
|
||||||
config.packet_information(false);
|
config.packet_information(false);
|
||||||
|
Reference in New Issue
Block a user