mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 13:03:44 +08:00
chore: update
This commit is contained in:
parent
5e126364ed
commit
30c77b891d
@ -47,32 +47,7 @@ pub async fn resolve_setup(app: &mut App) {
|
|||||||
log_err!(init::init_scheme());
|
log_err!(init::init_scheme());
|
||||||
log_err!(init::startup_script().await);
|
log_err!(init::startup_script().await);
|
||||||
// 处理随机端口
|
// 处理随机端口
|
||||||
let enable_random_port = Config::verge().latest().enable_random_port.unwrap_or(false);
|
log_err!(resolve_random_port_config());
|
||||||
|
|
||||||
let mut port = Config::verge()
|
|
||||||
.latest()
|
|
||||||
.verge_mixed_port
|
|
||||||
.unwrap_or(Config::clash().data().get_mixed_port());
|
|
||||||
|
|
||||||
if enable_random_port {
|
|
||||||
port = find_unused_port().unwrap_or(
|
|
||||||
Config::verge()
|
|
||||||
.latest()
|
|
||||||
.verge_mixed_port
|
|
||||||
.unwrap_or(Config::clash().data().get_mixed_port()),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Config::verge().data().patch_config(IVerge {
|
|
||||||
verge_mixed_port: Some(port),
|
|
||||||
..IVerge::default()
|
|
||||||
});
|
|
||||||
let _ = Config::verge().data().save_file();
|
|
||||||
let mut mapping = Mapping::new();
|
|
||||||
mapping.insert("mixed-port".into(), port.into());
|
|
||||||
Config::clash().data().patch_config(mapping);
|
|
||||||
let _ = Config::clash().data().save_config();
|
|
||||||
|
|
||||||
// 启动核心
|
// 启动核心
|
||||||
log::trace!("init config");
|
log::trace!("init config");
|
||||||
|
|
||||||
@ -309,3 +284,32 @@ pub async fn resolve_scheme(param: String) -> Result<()> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn resolve_random_port_config() -> Result<()> {
|
||||||
|
let verge_config = Config::verge();
|
||||||
|
let clash_config = Config::clash();
|
||||||
|
let enable_random_port = verge_config.latest().enable_random_port.unwrap_or(false);
|
||||||
|
|
||||||
|
let default_port = verge_config
|
||||||
|
.latest()
|
||||||
|
.verge_mixed_port
|
||||||
|
.unwrap_or(clash_config.data().get_mixed_port());
|
||||||
|
|
||||||
|
let port = if enable_random_port {
|
||||||
|
find_unused_port().unwrap_or(default_port)
|
||||||
|
} else {
|
||||||
|
default_port
|
||||||
|
};
|
||||||
|
|
||||||
|
verge_config.data().patch_config(IVerge {
|
||||||
|
verge_mixed_port: Some(port),
|
||||||
|
..IVerge::default()
|
||||||
|
});
|
||||||
|
verge_config.data().save_file()?;
|
||||||
|
|
||||||
|
let mut mapping = Mapping::new();
|
||||||
|
mapping.insert("mixed-port".into(), port.into());
|
||||||
|
clash_config.data().patch_config(mapping);
|
||||||
|
clash_config.data().save_config()?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user