mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-04-13 13:30:31 +08:00
44 lines
1.0 KiB
Rust
44 lines
1.0 KiB
Rust
extern crate log;
|
|
extern crate reqwest;
|
|
extern crate serde_yaml;
|
|
|
|
use crate::init::app_home_dir;
|
|
use tauri::api::process::{Command, CommandEvent};
|
|
|
|
/// Run the clash bin
|
|
pub fn run_clash_bin() {
|
|
let app_dir = app_home_dir();
|
|
|
|
let (mut rx, _sidecar) = Command::new_sidecar("clash")
|
|
.expect("failed to create clash binary")
|
|
.args(["-d", &app_dir.as_os_str().to_str().unwrap()])
|
|
.spawn()
|
|
.expect("failed to spawn sidecar");
|
|
|
|
tauri::async_runtime::spawn(async move {
|
|
while let Some(event) = rx.recv().await {
|
|
match event {
|
|
CommandEvent::Stdout(line) => {
|
|
log::info!("{}", line);
|
|
}
|
|
CommandEvent::Stderr(err) => {
|
|
log::error!("{}", err);
|
|
}
|
|
_ => {}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
pub async fn fetch_url(profile_url: &str) -> Result<(), reqwest::Error> {
|
|
let resp = reqwest::get(profile_url).await?;
|
|
println!("{:#?}", resp);
|
|
|
|
let header = resp.headers().clone();
|
|
println!("{:?}", header);
|
|
|
|
let data = resp.text_with_charset("utf-8").await?;
|
|
println!("{:#?}", data);
|
|
Ok(())
|
|
}
|