diff --git a/core/src/main/golang/native/config/process.go b/core/src/main/golang/native/config/process.go
index 793ca937b39091cf1dbd4a0a6cf19218d81b7b31..90d0b370169b0fe37de082ee1a6b307b4fdb7982 100644
--- a/core/src/main/golang/native/config/process.go
+++ b/core/src/main/golang/native/config/process.go
@@ -22,6 +22,8 @@ var processors = []processor{
 	patchProfile,
 	patchDns,
 	patchProviders,
+	patchTun,
+	patchSniff,
 	validConfig,
 }
 
diff --git a/core/src/main/golang/native/config/process_open.go b/core/src/main/golang/native/config/process_open.go
new file mode 100644
index 0000000000000000000000000000000000000000..c9808ff4221b6642d3029bdf3db13af9a545d225
--- /dev/null
+++ b/core/src/main/golang/native/config/process_open.go
@@ -0,0 +1,13 @@
+//go:build !premium
+
+package config
+
+import "github.com/Dreamacro/clash/config"
+
+func patchTun(cfg *config.RawConfig, _ string) error {
+	return nil
+}
+
+func patchSniff(cfg *config.RawConfig, _ string) error {
+	return nil
+}
diff --git a/core/src/main/golang/native/config/process_premium.go b/core/src/main/golang/native/config/process_premium.go
new file mode 100644
index 0000000000000000000000000000000000000000..71d3c1db1477de5b88e487b4f7185e9b3e52fe06
--- /dev/null
+++ b/core/src/main/golang/native/config/process_premium.go
@@ -0,0 +1,17 @@
+//go:build premium
+
+package config
+
+import "github.com/Dreamacro/clash/config"
+
+func patchTun(cfg *config.RawConfig, _ string) error {
+	cfg.Tun.Enable = false
+
+	return nil
+}
+
+func patchSniff(cfg *config.RawConfig, _ string) error {
+	cfg.Experimental.SniffTLSSNI = true
+
+	return nil
+}
\ No newline at end of file