fix: external-controller

This commit is contained in:
GyDi 2022-03-10 02:19:06 +08:00
parent fe1fea671c
commit 4c5aa7084e
No known key found for this signature in database
GPG Key ID: 1C95E0D3467B3084
2 changed files with 16 additions and 2 deletions

View File

@ -258,8 +258,16 @@ impl Clash {
config::save_yaml(temp_path.clone(), &config, Some("# Clash Verge Temp File"))?;
tauri::async_runtime::spawn(async move {
// `external-controller` could be
// "127.0.0.1:9090" or ":9090"
// Todo: maybe it could support single port
let server = info.server.unwrap();
let server = format!("http://{server}/configs");
let server = match server.starts_with(":") {
true => format!("http://127.0.0.1{server}/configs"),
false => format!("http://{server}/configs"),
};
dbg!(&server);
let mut headers = HeaderMap::new();
headers.insert("Content-Type", "application/json".parse().unwrap());

View File

@ -14,7 +14,13 @@ export async function getAxios(force: boolean = false) {
try {
const info = await getClashInfo();
if (info?.server) server = info?.server;
if (info?.server) {
server = info.server;
// compatible width `external-controller`
if (server.startsWith(":")) server = `127.0.0.1${server}`;
else if (/^\d+$/.test(server)) server = `127.0.0.1:${server}`;
}
if (info?.secret) secret = info?.secret;
} catch {}