Revert "fix: improve Service connection method and permissions for Windows and Unix"

This reverts commit 601e99f0b5.

Revert "refactor: clash-verge-rev-service-ipc (#4841)"

This reverts commit 5370bd45ed.
This commit is contained in:
Tunglies
2025-10-11 21:21:01 +08:00
parent 121b8c433b
commit 4f1d61a56e
16 changed files with 772 additions and 540 deletions

View File

@@ -144,6 +144,21 @@ pub fn service_path() -> Result<PathBuf> {
Ok(res_dir.join("clash-verge-service.exe"))
}
// TODO 迁移 Service日志后删除
pub fn service_log_file() -> Result<PathBuf> {
use chrono::Local;
let log_dir = app_logs_dir()?.join("service");
let local_time = Local::now().format("%Y-%m-%d-%H%M").to_string();
let log_file = format!("{local_time}.log");
let log_file = log_dir.join(log_file);
let _ = std::fs::create_dir_all(&log_dir);
Ok(log_file)
}
pub fn sidecar_log_dir() -> Result<PathBuf> {
let log_dir = app_logs_dir()?.join("sidecar");
let _ = std::fs::create_dir_all(&log_dir);
@@ -192,7 +207,7 @@ pub fn get_encryption_key() -> Result<Vec<u8>> {
#[cfg(unix)]
pub fn ensure_mihomo_safe_dir() -> Option<PathBuf> {
["/tmp"]
["/var/tmp", "/tmp"]
.iter()
.map(PathBuf::from)
.find(|path| path.exists())

View File

@@ -93,6 +93,8 @@ pub async fn sidecar_writer() -> Result<FileLogWriter> {
.try_build()?)
}
// TODO 后续迁移新 service 时使用
#[allow(dead_code)]
pub async fn service_writer_config() -> Result<WriterConfig> {
let (log_max_size, log_max_count) = {
let verge_guard = Config::verge().await;

View File

@@ -3,11 +3,7 @@ use anyhow::Result;
use crate::{
config::Config,
core::{
CoreManager, Timer, handle,
hotkey::Hotkey,
service::{SERVICE_MANAGER, ServiceManager, is_service_ipc_path_exists},
sysopt,
tray::Tray,
CoreManager, Timer, handle, hotkey::Hotkey, service::SERVICE_MANAGER, sysopt, tray::Tray,
},
logging, logging_error,
module::lightweight::{auto_lightweight_mode_init, run_once_auto_lightweight},
@@ -50,7 +46,7 @@ pub fn resolve_setup_async() {
"Version: {}",
env!("CARGO_PKG_VERSION")
);
futures::join!(init_service_manager());
init_service_manager().await;
futures::join!(
init_work_config(),
@@ -193,18 +189,7 @@ pub(super) async fn init_verge_config() {
pub(super) async fn init_service_manager() {
logging!(info, Type::Setup, "Initializing service manager...");
clash_verge_service_ipc::set_config(ServiceManager::config()).await;
if !is_service_ipc_path_exists() {
logging!(
warn,
Type::Setup,
"Service IPC path does not exist, service may be unavailable"
);
return;
}
if SERVICE_MANAGER.lock().await.init().await.is_ok() {
logging_error!(Type::Setup, SERVICE_MANAGER.lock().await.refresh().await);
}
logging_error!(Type::Setup, SERVICE_MANAGER.lock().await.refresh().await);
}
pub(super) async fn init_core_manager() {