diff --git a/ProxySU/MainWindow.xaml b/ProxySU/MainWindow.xaml
index 55a5b89..763f455 100644
--- a/ProxySU/MainWindow.xaml
+++ b/ProxySU/MainWindow.xaml
@@ -410,7 +410,7 @@
-
+
diff --git a/ProxySU/MainWindow.xaml.cs b/ProxySU/MainWindow.xaml.cs
index 171e93e..b7a823d 100644
--- a/ProxySU/MainWindow.xaml.cs
+++ b/ProxySU/MainWindow.xaml.cs
@@ -311,7 +311,7 @@ namespace ProxySU
}
#endregion
- #region 界面控件的有效无效控制代码块
+ #region 主界面控件的有效无效控制代码块
private void RadioButtonNoProxy_Checked(object sender, RoutedEventArgs e)
{
TextBlockProxyHost.IsEnabled = false;
@@ -783,6 +783,10 @@ namespace ProxySU
if (serverConfig.Contains("mkcp") == true)
{
serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
+ if (String.IsNullOrEmpty(ReceiveConfigurationParameters[6])==false )
+ {
+ serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["seed"] = ReceiveConfigurationParameters[6];
+ }
}
//quic模式下设置伪装类型及密钥
if (serverConfig.Contains("quic") == true)
@@ -823,13 +827,13 @@ namespace ProxySU
{
client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
else
{
client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
}
@@ -987,6 +991,10 @@ namespace ProxySU
if (clientConfig.Contains("mkcp")==true)
{
clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
+ if (String.IsNullOrEmpty(ReceiveConfigurationParameters[6]) == false)
+ {
+ clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["seed"] = ReceiveConfigurationParameters[6];
+ }
}
if (clientConfig.Contains("quic") == true)
{
@@ -1703,13 +1711,13 @@ namespace ProxySU
{
client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
else
{
client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
}
@@ -2321,13 +2329,13 @@ namespace ProxySU
//{
client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
//}
//else
//{
// client.RunCommand($"ufw allow {openFireWallPort}/tcp");
// client.RunCommand($"ufw allow {openFireWallPort}/udp");
- // client.RunCommand("yes | ufw reset");
+ // client.RunCommand("yes | ufw reload");
//}
}
@@ -2885,13 +2893,13 @@ namespace ProxySU
{
client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
else
{
client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
}
@@ -4229,7 +4237,7 @@ namespace ProxySU
client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443");
- client.RunCommand("yes | ufw reset");
+ client.RunCommand("yes | ufw reload");
}
currentStatus = "符合安装要求,V2ray安装中......";
diff --git a/ProxySU/Properties/AssemblyInfo.cs b/ProxySU/Properties/AssemblyInfo.cs
index 6dd97a4..17b2ff3 100644
--- a/ProxySU/Properties/AssemblyInfo.cs
+++ b/ProxySU/Properties/AssemblyInfo.cs
@@ -51,5 +51,5 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.7.1.0")]
-[assembly: AssemblyFileVersion("1.7.1.0")]
+[assembly: AssemblyVersion("1.7.2.0")]
+[assembly: AssemblyFileVersion("1.7.2.0")]
diff --git a/ProxySU/ResultClientInformation.xaml b/ProxySU/ResultClientInformation.xaml
index ebb4d60..ba6af55 100644
--- a/ProxySU/ResultClientInformation.xaml
+++ b/ProxySU/ResultClientInformation.xaml
@@ -66,7 +66,7 @@
-
+
diff --git a/ProxySU/ResultClientInformation.xaml.cs b/ProxySU/ResultClientInformation.xaml.cs
index 5c87506..ffb2912 100644
--- a/ProxySU/ResultClientInformation.xaml.cs
+++ b/ProxySU/ResultClientInformation.xaml.cs
@@ -143,49 +143,55 @@ namespace ProxySU
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "none";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2SRTP"))
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "srtp";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCPuTP"))
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "utp";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WechatVideo"))
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "wechat-video";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2DTLS"))
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "dtls";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WireGuard"))
{
TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "wireguard";
+ TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none";
HidePath();
- HideQuicKey();
+ ShowQuicKey();
}
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "QuicNone"))
{
@@ -383,7 +389,7 @@ namespace ProxySU
sw.WriteLine($"是否使用TLS:{TextBoxTLS.Text}");
sw.WriteLine($"host:{TextBoxHostAddress.Text}");
sw.WriteLine($"路径(Path):{TextBoxPath.Text}");
- sw.WriteLine($"QUIC密钥:{TextBoxQuicKey.Text}");
+ sw.WriteLine($"mKCP/QUIC密钥:{TextBoxQuicKey.Text}");
}
diff --git a/ProxySU/TemplateConfiguration.xaml b/ProxySU/TemplateConfiguration.xaml
index a9a2e3c..05d9287 100644
--- a/ProxySU/TemplateConfiguration.xaml
+++ b/ProxySU/TemplateConfiguration.xaml
@@ -173,17 +173,17 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -247,23 +247,25 @@
-
+
-
+
-
+
-
+
+
+
-
+
-
+
diff --git a/ProxySU/TemplateConfiguration.xaml.cs b/ProxySU/TemplateConfiguration.xaml.cs
index 3aecfc5..18f6f25 100644
--- a/ProxySU/TemplateConfiguration.xaml.cs
+++ b/ProxySU/TemplateConfiguration.xaml.cs
@@ -217,6 +217,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCPNone";
MainWindow.ReceiveConfigurationParameters[5] = "none";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text)==false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//mKCP+srtp伪装模式被选中
else if (RadioButton2mKCP2SRTP.IsChecked == true)
@@ -224,6 +228,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2SRTP";
MainWindow.ReceiveConfigurationParameters[5] = "srtp";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//mKCP+utp伪装模式被选中
else if (RadioButton2mKCPuTP.IsChecked == true)
@@ -231,6 +239,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCPuTP";
MainWindow.ReceiveConfigurationParameters[5] = "utp";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//mKCP+wechat-video伪装模式被选中
else if (RadioButton2mKCP2WechatVideo.IsChecked == true)
@@ -238,6 +250,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WechatVideo";
MainWindow.ReceiveConfigurationParameters[5] = "wechat-video";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//mKCP+dtls伪装模式被选中
else if (RadioButton2mKCP2DTLS.IsChecked == true)
@@ -245,6 +261,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2DTLS";
MainWindow.ReceiveConfigurationParameters[5] = "dtls";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//mKCP+wireguard伪装模式被选中
else if (RadioButton2mKCP2WireGuard.IsChecked == true)
@@ -252,6 +272,10 @@ namespace ProxySU
//传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WireGuard";
MainWindow.ReceiveConfigurationParameters[5] = "wireguard";
+ if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
+ {
+ MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
+ }
}
//QUIC无伪装模式被选中
else if (RadioButtonQuicNone.IsChecked == true)
diff --git a/ProxySU/bin/Beta/Beta.zip b/ProxySU/bin/Beta/Beta.zip
index 29b95d6..29e632b 100644
Binary files a/ProxySU/bin/Beta/Beta.zip and b/ProxySU/bin/Beta/Beta.zip differ
diff --git a/TemplateConfg/mkcp_client_config.json b/TemplateConfg/mkcp_client_config.json
index b3f6a50..28f650b 100644
--- a/TemplateConfg/mkcp_client_config.json
+++ b/TemplateConfg/mkcp_client_config.json
@@ -45,7 +45,8 @@
"congestion": true,
"header": {
"type": null
- }
+ },
+ "seed": null
}
}
}
diff --git a/TemplateConfg/mkcp_server_config.json b/TemplateConfg/mkcp_server_config.json
index ec5ce25..d34f632 100644
--- a/TemplateConfg/mkcp_server_config.json
+++ b/TemplateConfg/mkcp_server_config.json
@@ -1,33 +1,34 @@
{
- "inbounds": [
- {
- "port": null,
- "protocol": "vmess",
- "settings": {
- "clients": [
- {
- "id": null,
- "alterId": 64
- }
- ]
- },
- "streamSettings": {
- "network": "mkcp",
- "kcpSettings": {
- "uplinkCapacity": 100,
- "downlinkCapacity": 100,
- "congestion": true,
- "header": {
- "type": null
- }
- }
- }
- }
- ],
- "outbounds": [
- {
- "protocol": "freedom",
- "settings": {}
- }
- ]
+ "inbounds": [
+ {
+ "port": null,
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "id": null,
+ "alterId": 64
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "mkcp",
+ "kcpSettings": {
+ "uplinkCapacity": 100,
+ "downlinkCapacity": 100,
+ "congestion": true,
+ "header": {
+ "type": null
+ },
+ "seed": null
+ }
+ }
+ }
+ ],
+ "outbounds": [
+ {
+ "protocol": "freedom",
+ "settings": {}
+ }
+ ]
}
\ No newline at end of file