mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-13 21:27:25 +08:00
fix default listeners for config file (#777)
This commit is contained in:
@@ -11,8 +11,8 @@ core_clap:
|
|||||||
完整URL:--config-server udp://127.0.0.1:22020/admin
|
完整URL:--config-server udp://127.0.0.1:22020/admin
|
||||||
仅用户名:--config-server admin,将使用官方的服务器
|
仅用户名:--config-server admin,将使用官方的服务器
|
||||||
config_file:
|
config_file:
|
||||||
en: "path to the config file, NOTE: if this is set, all other options will be ignored"
|
en: "path to the config file, NOTE: the options set by cmdline args will override options in config file"
|
||||||
zh-CN: "配置文件路径,注意:如果设置了这个选项,其他所有选项都将被忽略"
|
zh-CN: "配置文件路径,注意:命令行中的配置的选项会覆盖配置文件中的选项"
|
||||||
network_name:
|
network_name:
|
||||||
en: "network name to identify this vpn network"
|
en: "network name to identify this vpn network"
|
||||||
zh-CN: "用于标识此VPN网络的网络名称"
|
zh-CN: "用于标识此VPN网络的网络名称"
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ pub trait ConfigLoader: Send + Sync {
|
|||||||
fn get_peers(&self) -> Vec<PeerConfig>;
|
fn get_peers(&self) -> Vec<PeerConfig>;
|
||||||
fn set_peers(&self, peers: Vec<PeerConfig>);
|
fn set_peers(&self, peers: Vec<PeerConfig>);
|
||||||
|
|
||||||
fn get_listeners(&self) -> Vec<url::Url>;
|
fn get_listeners(&self) -> Option<Vec<url::Url>>;
|
||||||
fn set_listeners(&self, listeners: Vec<url::Url>);
|
fn set_listeners(&self, listeners: Vec<url::Url>);
|
||||||
|
|
||||||
fn get_mapped_listeners(&self) -> Vec<url::Url>;
|
fn get_mapped_listeners(&self) -> Vec<url::Url>;
|
||||||
@@ -510,13 +510,8 @@ impl ConfigLoader for TomlConfigLoader {
|
|||||||
self.config.lock().unwrap().peer = Some(peers);
|
self.config.lock().unwrap().peer = Some(peers);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_listeners(&self) -> Vec<url::Url> {
|
fn get_listeners(&self) -> Option<Vec<url::Url>> {
|
||||||
self.config
|
self.config.lock().unwrap().listeners.clone()
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.listeners
|
|
||||||
.clone()
|
|
||||||
.unwrap_or_default()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_listeners(&self, listeners: Vec<url::Url>) {
|
fn set_listeners(&self, listeners: Vec<url::Url>) {
|
||||||
|
|||||||
@@ -182,7 +182,6 @@ struct Cli {
|
|||||||
env = "ET_LISTENERS",
|
env = "ET_LISTENERS",
|
||||||
value_delimiter = ',',
|
value_delimiter = ',',
|
||||||
help = t!("core_clap.listeners").to_string(),
|
help = t!("core_clap.listeners").to_string(),
|
||||||
default_values_t = ["11010".to_string()],
|
|
||||||
num_args = 0..
|
num_args = 0..
|
||||||
)]
|
)]
|
||||||
listeners: Vec<String>,
|
listeners: Vec<String>,
|
||||||
@@ -558,6 +557,13 @@ impl TryFrom<&Cli> for TomlConfigLoader {
|
|||||||
.map(|s| s.parse().unwrap())
|
.map(|s| s.parse().unwrap())
|
||||||
.collect(),
|
.collect(),
|
||||||
);
|
);
|
||||||
|
} else if cfg.get_listeners() == None {
|
||||||
|
cfg.set_listeners(
|
||||||
|
Cli::parse_listeners(false, vec!["11010".to_string()])?
|
||||||
|
.into_iter()
|
||||||
|
.map(|s| s.parse().unwrap())
|
||||||
|
.collect(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.mapped_listeners.is_empty() {
|
if !cli.mapped_listeners.is_empty() {
|
||||||
|
|||||||
Reference in New Issue
Block a user