1
0
mirror of https://github.com/proxysu/ProxySU.git synced 2025-02-18 07:23:17 +03:00

mKCP添加密钥,加强搞识别能力

This commit is contained in:
ProxySU 2020-06-11 19:37:37 +08:00
parent e614f82913
commit fd6d35a44d
10 changed files with 107 additions and 65 deletions

View File

@ -410,7 +410,7 @@
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="程序版本1.7.1" Grid.Column="0" Grid.Row="0"></TextBlock> <TextBlock Text="程序版本1.7.2" Grid.Column="0" Grid.Row="0"></TextBlock>
</Grid> </Grid>

View File

@ -311,7 +311,7 @@ namespace ProxySU
} }
#endregion #endregion
#region #region
private void RadioButtonNoProxy_Checked(object sender, RoutedEventArgs e) private void RadioButtonNoProxy_Checked(object sender, RoutedEventArgs e)
{ {
TextBlockProxyHost.IsEnabled = false; TextBlockProxyHost.IsEnabled = false;
@ -783,6 +783,10 @@ namespace ProxySU
if (serverConfig.Contains("mkcp") == true) if (serverConfig.Contains("mkcp") == true)
{ {
serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5]; serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
if (String.IsNullOrEmpty(ReceiveConfigurationParameters[6])==false )
{
serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["seed"] = ReceiveConfigurationParameters[6];
}
} }
//quic模式下设置伪装类型及密钥 //quic模式下设置伪装类型及密钥
if (serverConfig.Contains("quic") == true) if (serverConfig.Contains("quic") == true)
@ -823,13 +827,13 @@ namespace ProxySU
{ {
client.RunCommand("ufw allow 80"); client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443"); client.RunCommand("ufw allow 443");
client.RunCommand("yes | ufw reset"); client.RunCommand("yes | ufw reload");
} }
else else
{ {
client.RunCommand($"ufw allow {openFireWallPort}/tcp"); client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp"); 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) if (clientConfig.Contains("mkcp")==true)
{ {
clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5]; 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) if (clientConfig.Contains("quic") == true)
{ {
@ -1703,13 +1711,13 @@ namespace ProxySU
{ {
client.RunCommand("ufw allow 80"); client.RunCommand("ufw allow 80");
client.RunCommand("ufw allow 443"); client.RunCommand("ufw allow 443");
client.RunCommand("yes | ufw reset"); client.RunCommand("yes | ufw reload");
} }
else else
{ {
client.RunCommand($"ufw allow {openFireWallPort}/tcp"); client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp"); 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 80");
client.RunCommand("ufw allow 443"); client.RunCommand("ufw allow 443");
client.RunCommand("yes | ufw reset"); client.RunCommand("yes | ufw reload");
//} //}
//else //else
//{ //{
// client.RunCommand($"ufw allow {openFireWallPort}/tcp"); // client.RunCommand($"ufw allow {openFireWallPort}/tcp");
// client.RunCommand($"ufw allow {openFireWallPort}/udp"); // 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 80");
client.RunCommand("ufw allow 443"); client.RunCommand("ufw allow 443");
client.RunCommand("yes | ufw reset"); client.RunCommand("yes | ufw reload");
} }
else else
{ {
client.RunCommand($"ufw allow {openFireWallPort}/tcp"); client.RunCommand($"ufw allow {openFireWallPort}/tcp");
client.RunCommand($"ufw allow {openFireWallPort}/udp"); 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 80");
client.RunCommand("ufw allow 443"); client.RunCommand("ufw allow 443");
client.RunCommand("yes | ufw reset"); client.RunCommand("yes | ufw reload");
} }
currentStatus = "符合安装要求,V2ray安装中......"; currentStatus = "符合安装要求,V2ray安装中......";

View File

@ -51,5 +51,5 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.7.1.0")] [assembly: AssemblyVersion("1.7.2.0")]
[assembly: AssemblyFileVersion("1.7.1.0")] [assembly: AssemblyFileVersion("1.7.2.0")]

View File

@ -66,7 +66,7 @@
<TextBlock x:Name="TextBlockPath" Text="路径(Path)" Grid.Column="0" Grid.Row="9" Margin="1"></TextBlock> <TextBlock x:Name="TextBlockPath" Text="路径(Path)" Grid.Column="0" Grid.Row="9" Margin="1"></TextBlock>
<TextBox x:Name="TextBoxPath" IsReadOnly="True" Grid.Column="1" Grid.Row="9" Margin="2"></TextBox> <TextBox x:Name="TextBoxPath" IsReadOnly="True" Grid.Column="1" Grid.Row="9" Margin="2"></TextBox>
<TextBlock x:Name="TextBlockPathExplain" Text="说明" Grid.Column="2" Grid.Row="9"></TextBlock> <TextBlock x:Name="TextBlockPathExplain" Text="说明" Grid.Column="2" Grid.Row="9"></TextBlock>
<TextBlock x:Name="TextBlockQuicKey" Text="QUIC密钥" Grid.Column="0" Grid.Row="10" Margin="1"></TextBlock> <TextBlock x:Name="TextBlockQuicKey" Text="mKCP/QUIC密钥" Grid.Column="0" Grid.Row="10" Margin="1"></TextBlock>
<TextBox x:Name="TextBoxQuicKey" IsReadOnly="True" Grid.Column="1" Grid.Row="10" Margin="2"></TextBox> <TextBox x:Name="TextBoxQuicKey" IsReadOnly="True" Grid.Column="1" Grid.Row="10" Margin="2"></TextBox>
<TextBlock x:Name="TextBlockQuicKeyExplain" Text="说明" Grid.Column="2" Grid.Row="10"></TextBlock> <TextBlock x:Name="TextBlockQuicKeyExplain" Text="说明" Grid.Column="2" Grid.Row="10"></TextBlock>

View File

@ -143,49 +143,55 @@ namespace ProxySU
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "none"; TextBoxCamouflageType.Text = "none";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2SRTP")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2SRTP"))
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "srtp"; TextBoxCamouflageType.Text = "srtp";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCPuTP")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCPuTP"))
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "utp"; TextBoxCamouflageType.Text = "utp";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WechatVideo")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WechatVideo"))
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "wechat-video"; TextBoxCamouflageType.Text = "wechat-video";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2DTLS")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2DTLS"))
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "dtls"; TextBoxCamouflageType.Text = "dtls";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WireGuard")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "mKCP2WireGuard"))
{ {
TextBoxTransmission.Text = "kcp"; TextBoxTransmission.Text = "kcp";
TextBoxCamouflageType.Text = "wireguard"; TextBoxCamouflageType.Text = "wireguard";
TextBoxQuicKey.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTLS.Text = "none"; TextBoxTLS.Text = "none";
HidePath(); HidePath();
HideQuicKey(); ShowQuicKey();
} }
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "QuicNone")) else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "QuicNone"))
{ {
@ -383,7 +389,7 @@ namespace ProxySU
sw.WriteLine($"是否使用TLS{TextBoxTLS.Text}"); sw.WriteLine($"是否使用TLS{TextBoxTLS.Text}");
sw.WriteLine($"host{TextBoxHostAddress.Text}"); sw.WriteLine($"host{TextBoxHostAddress.Text}");
sw.WriteLine($"路径(Path){TextBoxPath.Text}"); sw.WriteLine($"路径(Path){TextBoxPath.Text}");
sw.WriteLine($"QUIC密钥{TextBoxQuicKey.Text}"); sw.WriteLine($"mKCP/QUIC密钥{TextBoxQuicKey.Text}");
} }

View File

@ -173,17 +173,17 @@
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<RadioButton x:Name="RadioButtonMkcpNone" Content="mKCP(无伪装)" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButtonMkcpNone" Content="mKCP(无伪装)" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="数据加密传输以增加流量消耗来加速减少延迟udp协议,无伪装会被识别为udp流量" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="数据加密传输以增加流量消耗来加速减少延迟udp协议,无伪装会被识别为udp流量" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="同mKCP(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="同mKCP(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="同mKCP(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="同mKCP(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="同mKCP(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="同mKCP(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="同mKCP(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="同mKCP(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock>
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="6" Checked="RadioButtonTCP_Checked"></RadioButton> <RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="6" Checked="RadioButtonQuicNone_Checked"></RadioButton>
<TextBlock Text="同mKCP(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3"></TextBlock> <TextBlock Text="同mKCP(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3"></TextBlock>
</Grid> </Grid>
@ -247,23 +247,25 @@
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock x:Name="TextBlockServerListenPort" Text="服务端口:" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2"></TextBlock> <TextBlock x:Name="TextBlockServerListenPort" Text="服务端口:" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxServerListenPort" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxServerListenPort" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Margin="3"></TextBox>
<Button x:Name="ButtonServerListenPort" Content="随机选择" Grid.Column="4" Grid.Row="0" Margin="2" Click="ButtonServerListenPort_Click"></Button> <Button x:Name="ButtonServerListenPort" Content="随机选择" Grid.Column="4" Grid.Row="0" Margin="2" Click="ButtonServerListenPort_Click"></Button>
<TextBlock x:Name="TextBlockNewUUID" Text="UUID" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2"></TextBlock> <TextBlock x:Name="TextBlockNewUUID" Text="UUID" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxNewUUID" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxNewUUID" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" Margin="3"></TextBox>
<Button x:Name="ButtonNewUUID" Content="更新" Grid.Column="4" Grid.Row="1" Margin="2" Click="ButtonNewUUID_Click"></Button> <Button x:Name="ButtonNewUUID" Content="更新" Grid.Column="4" Grid.Row="1" Margin="2" Click="ButtonNewUUID_Click"></Button>
<TextBlock Text="使用已有UUID直接粘贴到框中" TextWrapping="Wrap" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2" Margin="0"></TextBlock> <TextBlock Text="使用已有UUID直接粘贴到框中" TextWrapping="Wrap" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2" Margin="0"></TextBlock>
<TextBlock x:Name="TextBlockQuicUUID" Text="QUIC密钥" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2"></TextBlock> <TextBlock x:Name="TextBlockQuicUUID" Text="mKCP/QUIC密钥" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxQuicUUID" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxQuicUUID" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" Margin="3"></TextBox>
<Button x:Name="ButtonQuicUUID" Content="更新" Grid.Column="4" Grid.Row="2" Margin="2" Click="ButtonQuicUUID_Click"></Button> <Button x:Name="ButtonQuicUUID" Content="更新" Grid.Column="4" Grid.Row="2" Margin="2" Click="ButtonQuicUUID_Click"></Button>
<TextBlock x:Name="TextBlockPath" Text="路径:" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2"></TextBlock> <TextBlock Text="启用mKCP密钥可增强抗识别删除留空则禁用,要求版本4.24.2以上" TextWrapping="Wrap" Grid.Column="5" Grid.Row="2" Grid.ColumnSpan="2"></TextBlock>
<TextBlock x:Name="TextBlockPath" Text="路径:" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxPath" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxPath" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" Margin="3"></TextBox>
<Button x:Name="ButtonPath" Content="随机" Grid.Column="4" Grid.Row="3" Margin="2" Click="ButtonPath_Click"></Button> <Button x:Name="ButtonPath" Content="随机" Grid.Column="4" Grid.Row="3" Margin="2" Click="ButtonPath_Click"></Button>
<TextBlock x:Name="TextBlockDomain" Text="域名:" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2"></TextBlock> <TextBlock x:Name="TextBlockDomain" Text="域名:" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxDomain" Style="{StaticResource TitleText}" Tag="不可为空" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxDomain" Style="{StaticResource TitleText}" Tag="不可为空" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" Margin="3"></TextBox>
<Button x:Name="ButtonDomain" Content="检测" Visibility="Collapsed" Grid.Column="4" Grid.Row="4" Margin="2" Click="ButtonDomain_Click"></Button> <Button x:Name="ButtonDomain" Content="检测" Visibility="Collapsed" Grid.Column="4" Grid.Row="4" Margin="2" Click="ButtonDomain_Click"></Button>
<TextBlock x:Name="TextBlockMaskSites" Text="伪装网站:" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2"></TextBlock> <TextBlock x:Name="TextBlockMaskSites" Text="伪装网站:" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="1"></TextBlock>
<TextBox x:Name="TextBoxMaskSites" Style="{StaticResource TitleText}" Tag="设置此项可增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" Margin="3"></TextBox> <TextBox x:Name="TextBoxMaskSites" Style="{StaticResource TitleText}" Tag="设置此项可增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" Margin="3"></TextBox>

View File

@ -217,6 +217,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCPNone"; MainWindow.ReceiveConfigurationParameters[0] = "mKCPNone";
MainWindow.ReceiveConfigurationParameters[5] = "none"; MainWindow.ReceiveConfigurationParameters[5] = "none";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text)==false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//mKCP+srtp伪装模式被选中 //mKCP+srtp伪装模式被选中
else if (RadioButton2mKCP2SRTP.IsChecked == true) else if (RadioButton2mKCP2SRTP.IsChecked == true)
@ -224,6 +228,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2SRTP"; MainWindow.ReceiveConfigurationParameters[0] = "mKCP2SRTP";
MainWindow.ReceiveConfigurationParameters[5] = "srtp"; MainWindow.ReceiveConfigurationParameters[5] = "srtp";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//mKCP+utp伪装模式被选中 //mKCP+utp伪装模式被选中
else if (RadioButton2mKCPuTP.IsChecked == true) else if (RadioButton2mKCPuTP.IsChecked == true)
@ -231,6 +239,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCPuTP"; MainWindow.ReceiveConfigurationParameters[0] = "mKCPuTP";
MainWindow.ReceiveConfigurationParameters[5] = "utp"; MainWindow.ReceiveConfigurationParameters[5] = "utp";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//mKCP+wechat-video伪装模式被选中 //mKCP+wechat-video伪装模式被选中
else if (RadioButton2mKCP2WechatVideo.IsChecked == true) else if (RadioButton2mKCP2WechatVideo.IsChecked == true)
@ -238,6 +250,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WechatVideo"; MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WechatVideo";
MainWindow.ReceiveConfigurationParameters[5] = "wechat-video"; MainWindow.ReceiveConfigurationParameters[5] = "wechat-video";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//mKCP+dtls伪装模式被选中 //mKCP+dtls伪装模式被选中
else if (RadioButton2mKCP2DTLS.IsChecked == true) else if (RadioButton2mKCP2DTLS.IsChecked == true)
@ -245,6 +261,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2DTLS"; MainWindow.ReceiveConfigurationParameters[0] = "mKCP2DTLS";
MainWindow.ReceiveConfigurationParameters[5] = "dtls"; MainWindow.ReceiveConfigurationParameters[5] = "dtls";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//mKCP+wireguard伪装模式被选中 //mKCP+wireguard伪装模式被选中
else if (RadioButton2mKCP2WireGuard.IsChecked == true) else if (RadioButton2mKCP2WireGuard.IsChecked == true)
@ -252,6 +272,10 @@ namespace ProxySU
//传递模板类型 //传递模板类型
MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WireGuard"; MainWindow.ReceiveConfigurationParameters[0] = "mKCP2WireGuard";
MainWindow.ReceiveConfigurationParameters[5] = "wireguard"; MainWindow.ReceiveConfigurationParameters[5] = "wireguard";
if (String.IsNullOrEmpty(TextBoxQuicUUID.Text) == false)
{
MainWindow.ReceiveConfigurationParameters[6] = TextBoxQuicUUID.Text;
}
} }
//QUIC无伪装模式被选中 //QUIC无伪装模式被选中
else if (RadioButtonQuicNone.IsChecked == true) else if (RadioButtonQuicNone.IsChecked == true)

Binary file not shown.

View File

@ -45,7 +45,8 @@
"congestion": true, "congestion": true,
"header": { "header": {
"type": null "type": null
} },
"seed": null
} }
} }
} }

View File

@ -1,33 +1,34 @@
{ {
"inbounds": [ "inbounds": [
{ {
"port": null, "port": null,
"protocol": "vmess", "protocol": "vmess",
"settings": { "settings": {
"clients": [ "clients": [
{ {
"id": null, "id": null,
"alterId": 64 "alterId": 64
} }
] ]
}, },
"streamSettings": { "streamSettings": {
"network": "mkcp", "network": "mkcp",
"kcpSettings": { "kcpSettings": {
"uplinkCapacity": 100, "uplinkCapacity": 100,
"downlinkCapacity": 100, "downlinkCapacity": 100,
"congestion": true, "congestion": true,
"header": { "header": {
"type": null "type": null
} },
} "seed": null
} }
} }
], }
"outbounds": [ ],
{ "outbounds": [
"protocol": "freedom", {
"settings": {} "protocol": "freedom",
} "settings": {}
] }
]
} }