diff --git a/ProxySuper.Core/Services/BrookProject.cs b/ProxySuper.Core/Services/BrookProject.cs
index 7b15c96..2672d84 100644
--- a/ProxySuper.Core/Services/BrookProject.cs
+++ b/ProxySuper.Core/Services/BrookProject.cs
@@ -38,6 +38,10 @@ namespace ProxySuper.Core.Services
             ConfigureSoftware();
             WriteOutput("系统工具安装完成");
 
+            WriteOutput("检测网络环境");
+            EnsureIP();
+            WriteOutput("检测网络环境完成");
+
             if (Parameters.BrookType == BrookType.wssserver)
             {
                 WriteOutput("检测域名是否绑定本机IP...");
diff --git a/ProxySuper.Core/Services/NaiveProxyProject.cs b/ProxySuper.Core/Services/NaiveProxyProject.cs
index a3f166f..0f9f7d9 100644
--- a/ProxySuper.Core/Services/NaiveProxyProject.cs
+++ b/ProxySuper.Core/Services/NaiveProxyProject.cs
@@ -57,6 +57,10 @@ namespace ProxySuper.Core.Services
                 ConfigFirewalld();
                 WriteOutput("防火墙配置完成");
 
+                WriteOutput("检测网络环境");
+                EnsureIP();
+                WriteOutput("检测网络环境完成");
+
                 WriteOutput("同步系统和本地时间...");
                 SyncTimeDiff();
                 WriteOutput("时间同步完成");
diff --git a/ProxySuper.Core/Services/ProjectBase.cs b/ProxySuper.Core/Services/ProjectBase.cs
index 4437360..362c198 100644
--- a/ProxySuper.Core/Services/ProjectBase.cs
+++ b/ProxySuper.Core/Services/ProjectBase.cs
@@ -150,8 +150,6 @@ namespace ProxySuper.Core.Services
                     RunCmd(@"sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config");
                 }
             }
-
-            EnsureIP();
         }
 
         /// <summary>
diff --git a/ProxySuper.Core/Services/TrojanGoProject.cs b/ProxySuper.Core/Services/TrojanGoProject.cs
index 7c6e8f6..bfa21e7 100644
--- a/ProxySuper.Core/Services/TrojanGoProject.cs
+++ b/ProxySuper.Core/Services/TrojanGoProject.cs
@@ -87,6 +87,10 @@ namespace ProxySuper.Core.Services
                 ConfigFirewalld();
                 WriteOutput("防火墙配置完成");
 
+                WriteOutput("检测网络环境");
+                EnsureIP();
+                WriteOutput("检测网络环境完成");
+
                 WriteOutput("同步系统和本地时间...");
                 SyncTimeDiff();
                 WriteOutput("时间同步完成");
diff --git a/ProxySuper.Core/Services/XrayProject.cs b/ProxySuper.Core/Services/XrayProject.cs
index 3c11eb1..a3614ad 100644
--- a/ProxySuper.Core/Services/XrayProject.cs
+++ b/ProxySuper.Core/Services/XrayProject.cs
@@ -60,6 +60,10 @@ namespace ProxySuper.Core.Services
                 ConfigFirewalld();
                 WriteOutput("防火墙配置完成");
 
+                WriteOutput("检测网络环境");
+                EnsureIP();
+                WriteOutput("检测网络环境完成");
+
                 WriteOutput("同步系统和本地时间...");
                 SyncTimeDiff();
                 WriteOutput("时间同步完成");
@@ -69,11 +73,12 @@ namespace ProxySuper.Core.Services
                     WriteOutput("检测域名是否绑定本机IP...");
                     ValidateDomain();
                     WriteOutput("域名检测完成");
-                }
 
-                WriteOutput("安装Caddy...");
-                InstallCaddy();
-                WriteOutput("Caddy安装完成");
+
+                    WriteOutput("安装Caddy...");
+                    InstallCaddy();
+                    WriteOutput("Caddy安装完成");
+                }
 
                 WriteOutput("安装Xray-Core...");
                 InstallXrayWithCert();
diff --git a/ProxySuper.Core/ViewModels/XrayEditorViewModel.cs b/ProxySuper.Core/ViewModels/XrayEditorViewModel.cs
index 291802c..f34b1a4 100644
--- a/ProxySuper.Core/ViewModels/XrayEditorViewModel.cs
+++ b/ProxySuper.Core/ViewModels/XrayEditorViewModel.cs
@@ -89,7 +89,7 @@ namespace ProxySuper.Core.ViewModels
             get => Settings.ShadowSocksPort;
             set
             {
-                Settings.VMESS_KCP_Port = value;
+                Settings.ShadowSocksPort = value;
                 RaisePropertyChanged("ShadowSocksPort");
             }
         }
@@ -142,6 +142,7 @@ namespace ProxySuper.Core.ViewModels
             get => Settings.TrojanPassword;
             set => Settings.TrojanPassword = value;
         }
+
         public bool Checked_Trojan_TCP
         {
             get
diff --git a/ProxySuper.WPF/Controls/XraySettingsControl.xaml b/ProxySuper.WPF/Controls/XraySettingsControl.xaml
index d843b2d..baaeb96 100644
--- a/ProxySuper.WPF/Controls/XraySettingsControl.xaml
+++ b/ProxySuper.WPF/Controls/XraySettingsControl.xaml
@@ -301,17 +301,6 @@
                                 Width="200" />
             </StackPanel>
 
-            <!--Trojan端口-->
-            <StackPanel Margin="30,15,0,0" 
-                        Orientation="Horizontal" 
-                        Visibility="{
-                            Binding Path=Checked_Trojan_TCP,
-                            Converter={StaticResource VisibleConverter}
-                        }">
-                <Label Content="{DynamicResource TrojanPassword}" Foreground="CadetBlue" Width="120" />
-                <TextBox Text="{Binding Path=TrojanPassword}" Width="200" />
-            </StackPanel>
-
             <!--xray prot-->
             <StackPanel Margin="30,15,0,0"
                     Orientation="Horizontal">