Skip to content
Snippets Groups Projects
Unverified Commit 65fb2ca2 authored by GyDi's avatar GyDi
Browse files

feat: enable update clash info

parent 0d5bfc09
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,15 @@ static CLASH_CONFIG: &str = "config.yaml";
// todo: be able to change config field
impl Clash {
pub fn new() -> Clash {
Clash {
info: Clash::get_info(),
sidecar: None,
}
}
/// parse the clash's config.yaml
/// get some information
fn get_info() -> ClashInfo {
let clash_config = config::read_yaml::<Mapping>(dirs::app_home_dir().join(CLASH_CONFIG));
let key_port_1 = Value::String("port".to_string());
......@@ -76,17 +85,20 @@ impl Clash {
_ => None,
};
Clash {
info: ClashInfo {
status: "init".into(),
port,
server,
secret,
},
sidecar: None,
ClashInfo {
status: "init".into(),
port,
server,
secret,
}
}
/// update the clash info
pub fn update_info(&mut self) -> Result<(), String> {
self.info = Clash::get_info();
Ok(())
}
/// run clash sidecar
pub fn run_sidecar(&mut self) -> Result<(), String> {
let app_dir = dirs::app_home_dir();
......@@ -127,6 +139,7 @@ impl Clash {
/// restart clash sidecar
pub fn restart_sidecar(&mut self) -> Result<(), String> {
self.update_info()?;
self.drop_sidecar()?;
self.run_sidecar()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment