diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 271ae80591953f12dc2df6bb8cc51e9010a9cc38..b118f479fc6d284daf880c4f827882c0ce06ee1e 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -40,3 +40,4 @@ winreg = { version = "0.10", features = ["transactions"] }
 [features]
 default = [ "custom-protocol" ]
 custom-protocol = [ "tauri/custom-protocol" ]
+verge-dev = []
diff --git a/src-tauri/src/utils/dirs.rs b/src-tauri/src/utils/dirs.rs
index 985939c1eb53196abc8202f19df2b61c484e571c..e905f30b1a5670c95b89967cd627729d0284f39e 100644
--- a/src-tauri/src/utils/dirs.rs
+++ b/src-tauri/src/utils/dirs.rs
@@ -5,12 +5,22 @@ use tauri::{
   Env, PackageInfo,
 };
 
+#[cfg(not(feature = "verge-dev"))]
+static APP_DIR: &str = "clash-verge";
+#[cfg(feature = "verge-dev")]
+static APP_DIR: &str = "clash-verge-dev";
+
+static CLASH_CONFIG: &str = "config.yaml";
+static VERGE_CONFIG: &str = "verge.yaml";
+static PROFILE_YAML: &str = "profiles.yaml";
+static PROFILE_TEMP: &str = "clash-verge-runtime.yaml";
+
 /// get the verge app home dir
 pub fn app_home_dir() -> PathBuf {
   home_dir()
     .unwrap()
     .join(Path::new(".config"))
-    .join(Path::new("clash-verge"))
+    .join(Path::new(APP_DIR))
 }
 
 /// get the resources dir
@@ -30,11 +40,6 @@ pub fn app_logs_dir() -> PathBuf {
   app_home_dir().join("logs")
 }
 
-static CLASH_CONFIG: &str = "config.yaml";
-static VERGE_CONFIG: &str = "verge.yaml";
-static PROFILE_YAML: &str = "profiles.yaml";
-static PROFILE_TEMP: &str = "clash-verge-runtime.yaml";
-
 pub fn clash_path() -> PathBuf {
   app_home_dir().join(CLASH_CONFIG)
 }
diff --git a/src-tauri/src/utils/server.rs b/src-tauri/src/utils/server.rs
index e93096425d0a1188856edc0f643cd022946b423a..11bd26270321906c9c11a172dcbf1fee9d30b69c 100644
--- a/src-tauri/src/utils/server.rs
+++ b/src-tauri/src/utils/server.rs
@@ -4,7 +4,10 @@ use port_scanner::local_port_available;
 use tauri::{AppHandle, Manager};
 use warp::Filter;
 
+#[cfg(not(feature = "verge-dev"))]
 const SERVER_PORT: u16 = 33333;
+#[cfg(feature = "verge-dev")]
+const SERVER_PORT: u16 = 11233;
 
 /// check whether there is already exists
 pub fn check_singleton() -> Result<(), ()> {