mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-25 14:46:08 +03:00
更改模板库显示布局
This commit is contained in:
parent
fa2dc5e5f8
commit
4ce221f398
@ -154,8 +154,8 @@ namespace ProxySU
|
||||
}
|
||||
return connectionInfo;
|
||||
}
|
||||
//开始布署安装
|
||||
|
||||
//开始布署安装
|
||||
private void Button_Login_Click(object sender, RoutedEventArgs e)
|
||||
|
||||
{
|
||||
@ -186,44 +186,44 @@ namespace ProxySU
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "TCP"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\tcp_server_config.json";
|
||||
clientConfig = "TemplateConfg\\tcp_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "WebSocketTLS2Web"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\WebSocketTLSWeb_server_config.json";
|
||||
clientConfig = "TemplateConfg\\WebSocketTLSWeb_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "WebSocketTLS"))
|
||||
{
|
||||
serverConfig = "TemplateConfg\\WebSocketTLS_server_config.json";
|
||||
clientConfig = "TemplateConfg\\WebSocketTLS_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "tcpTLS"))
|
||||
{
|
||||
serverConfig = "TemplateConfg\\tcpTLS_server_config.json";
|
||||
clientConfig = "TemplateConfg\\tcpTLS_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "TCPhttp"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\tcp_http_server_config.json";
|
||||
clientConfig = "TemplateConfg\\tcp_http_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "MkcpNone")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2SRTP")||String.Equals(ReceiveConfigurationParameters[0], "mKCPuTP")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2WechatVideo")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2DTLS")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2WireGuard"))
|
||||
//else if (String.Equals(ReceiveConfigurationParameters[0], "MkcpNone")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2SRTP")||String.Equals(ReceiveConfigurationParameters[0], "mKCPuTP")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2WechatVideo")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2DTLS")|| String.Equals(ReceiveConfigurationParameters[0], "mKCP2WireGuard"))
|
||||
else if (ReceiveConfigurationParameters[0].Contains("mKCP"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\mkcp_server_config.json";
|
||||
clientConfig = "TemplateConfg\\mkcp_client_config.json";
|
||||
}
|
||||
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "Http2"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\http2_server_config.json";
|
||||
clientConfig = "TemplateConfg\\http2_client_config.json";
|
||||
}
|
||||
else if (String.Equals(ReceiveConfigurationParameters[0], "QuicNone") || String.Equals(ReceiveConfigurationParameters[0], "QuicSRTP") || String.Equals(ReceiveConfigurationParameters[0], "Quic2uTP") || String.Equals(ReceiveConfigurationParameters[0], "QuicWechatVideo") || String.Equals(ReceiveConfigurationParameters[0], "QuicDTLS") || String.Equals(ReceiveConfigurationParameters[0], "QuicWireGuard"))
|
||||
// else if (String.Equals(ReceiveConfigurationParameters[0], "QuicNone") || String.Equals(ReceiveConfigurationParameters[0], "QuicSRTP") || String.Equals(ReceiveConfigurationParameters[0], "Quic2uTP") || String.Equals(ReceiveConfigurationParameters[0], "QuicWechatVideo") || String.Equals(ReceiveConfigurationParameters[0], "QuicDTLS") || String.Equals(ReceiveConfigurationParameters[0], "QuicWireGuard"))
|
||||
else if (ReceiveConfigurationParameters[0].Contains("Quic"))
|
||||
{
|
||||
//File.Copy("TemplateConfg\\tcp_server_config.json", "ConfigUpload\\tcp_server_config.json", true);
|
||||
|
||||
serverConfig = "TemplateConfg\\quic_server_config.json";
|
||||
clientConfig = "TemplateConfg\\quic_client_config.json";
|
||||
}
|
||||
@ -633,8 +633,8 @@ namespace ProxySU
|
||||
currentStatus = "V2ray程序安装完毕,配置文件上传中......";
|
||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||
Thread.Sleep(1000);
|
||||
//生成服务端配置
|
||||
|
||||
//生成服务端配置
|
||||
using (StreamReader reader = File.OpenText(serverConfig))
|
||||
{
|
||||
JObject serverJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
|
||||
@ -646,7 +646,7 @@ namespace ProxySU
|
||||
serverJson["inbounds"][0]["port"] = ReceiveConfigurationParameters[1];
|
||||
}
|
||||
//如果是WebSocketTLSWeb模式,则设置路径
|
||||
if (serverConfig.Contains("WebSocketTLSWeb") == true)
|
||||
if (serverConfig.Contains("WebSocket") == true)
|
||||
{
|
||||
serverJson["inbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3];
|
||||
}
|
||||
@ -761,9 +761,9 @@ namespace ProxySU
|
||||
client.RunCommand("caddy -service start");
|
||||
}
|
||||
|
||||
if (serverConfig.Contains("http2") == true)
|
||||
if (serverConfig.Contains("http2") == true|| serverConfig.Contains("WebSocketTLS")==true|| serverConfig.Contains("tcpTLS") == true)
|
||||
{
|
||||
currentStatus = "使用Http2模式,正在安装acme.sh......";
|
||||
currentStatus = "使用Http2/WebSocket +TLS/tcp+TLS模式,正在安装acme.sh......";
|
||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||
Thread.Sleep(1000);
|
||||
|
||||
@ -796,7 +796,7 @@ namespace ProxySU
|
||||
currentStatus = "安装证书到V2ray......";
|
||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||
Thread.Sleep(1000);
|
||||
client.RunCommand($"/root/.acme.sh/acme.sh --installcert -d {ReceiveConfigurationParameters[4]} --certpath /etc/v2ray/ssl/v2ray-h2-ssl.pem --keypath /etc/v2ray/ssl/v2ray-h2-ssl.key --capath /etc/v2ray/ssl/v2ray-h2-ssl.pem --reloadcmd \"systemctl restart v2ray\"");
|
||||
client.RunCommand($"/root/.acme.sh/acme.sh --installcert -d {ReceiveConfigurationParameters[4]} --certpath /etc/v2ray/ssl/v2ray_ssl.crt --keypath /etc/v2ray/ssl/v2ray_ssl.key --capath /etc/v2ray/ssl/v2ray_ssl.crt --reloadcmd \"systemctl restart v2ray\"");
|
||||
}
|
||||
|
||||
currentStatus = "正在启动V2ray......";
|
||||
@ -826,7 +826,7 @@ namespace ProxySU
|
||||
clientJson["outbounds"][0]["settings"]["vnext"][0]["address"] = ReceiveConfigurationParameters[4];
|
||||
clientJson["outbounds"][0]["settings"]["vnext"][0]["port"] = ReceiveConfigurationParameters[1];
|
||||
clientJson["outbounds"][0]["settings"]["vnext"][0]["users"][0]["id"] = ReceiveConfigurationParameters[2];
|
||||
if (clientConfig.Contains("WebSocketTLSWeb")==true)
|
||||
if (clientConfig.Contains("WebSocket")==true)
|
||||
{
|
||||
clientJson["outbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3];
|
||||
}
|
||||
|
@ -38,6 +38,104 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="模板库" Grid.Row="0" Grid.RowSpan="2">
|
||||
<Grid>
|
||||
<TabControl>
|
||||
<TabItem Header="热门方案" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="TCP传输协议" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonTCP" Content="TCP" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,会被识别为未知的tcp流量" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCPhttp" Content="TCP+Http伪装" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTCPhttp_Checked" ></RadioButton>
|
||||
<TextBlock Text="数据加密传输,并做http伪装,会被识别为http流量,但并不是真正的http访问" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCP2TLS" Content="TCP+TLS" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCPhttp_Checked" ></RadioButton>
|
||||
<TextBlock Text="数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (需要域名)" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCP2TLSnoDomain" Content="TCP+TLS((自签证书)" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCPhttp_Checked" ></RadioButton>
|
||||
<TextBlock Text="数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (不需要域名)" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="WebSocket传输协议" Width="150" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" Grid.Column="0" Grid.Row="3" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="稳定性强,使用Caddy做前置,会被识别为访问网站的https流量,抗封锁识别最强" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Http/2传输协议" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP/2" Grid.Column="0" Grid.Row="4" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="mKCP传输协议" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
@ -55,54 +153,58 @@
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonTCP" Content="TCP" Grid.Column="0" Grid.Row="0" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,会被识别为未知的tcp流量" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCPhttp" Content="TCP+Http伪装" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCPhttp_Checked" ></RadioButton>
|
||||
<TextBlock Text="数据加密传输,并做http伪装,会被识别为http流量,但并不是真正的http访问" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" Grid.Column="0" Grid.Row="2" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="稳定性强,使用Caddy做前置,会被识别为访问网站的https流量,抗封锁识别最强" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP/2" Grid.Column="0" Grid.Row="3" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonMkcpNoCamouflage" Content="mKCP(无伪装)" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,以增加流量消耗来加速,减少延迟,udp协议,无伪装,会被识别为udp流量" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" Grid.Column="0" Grid.Row="6" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3"></TextBlock>
|
||||
|
||||
<RadioButton x:Name="RadioButtonMkcpNoCamouflage" Content="mKCP(无伪装)" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,以增加流量消耗来加速,减少延迟,udp协议,无伪装,会被识别为udp流量" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" Grid.Column="0" Grid.Row="6" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" Grid.Column="0" Grid.Row="7" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="7" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" Grid.Column="0" Grid.Row="8" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="8" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" Grid.Column="0" Grid.Row="9" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="9" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" Grid.Column="0" Grid.Row="10" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="同mKCP(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="10" Grid.ColumnSpan="3"></TextBlock>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="QUIC传输协议" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="提醒:Shadowrocket目前暂不支持QUIC的传输模式。" Foreground="Red" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="5"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicNone" Content="QUIC(无伪装)" Grid.Column="0" Grid.Row="1" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,无伪装会被识别为udp流量,谷歌出品,优点:减少延迟、多路复用、连接迁移" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicSRTP" Content="QUIC+SRTP" Grid.Column="0" Grid.Row="2" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuic2uTP" Content="QUIC+uTP" Grid.Column="0" Grid.Row="3" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWechatVideo" Content="QUIC+WechatVideo" Grid.Column="0" Grid.Row="4" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicDTLS" Content="QUIC+DTLS 1.2" Grid.Column="0" Grid.Row="5" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWireGuard" Content="QUIC+WireGuard" Grid.Column="0" Grid.Row="6" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3"></TextBlock>
|
||||
|
||||
<RadioButton x:Name="RadioButtonQuicNone" Content="QUIC(无伪装)" Grid.Column="0" Grid.Row="12" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,无伪装会被识别为udp流量,谷歌出品,优点:减少延迟、多路复用、连接迁移" Grid.Column="1" Grid.Row="12" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicSRTP" Content="QUIC+SRTP" Grid.Column="0" Grid.Row="13" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)" Grid.Column="1" Grid.Row="13" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuic2uTP" Content="QUIC+uTP" Grid.Column="0" Grid.Row="14" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="14" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWechatVideo" Content="QUIC+WechatVideo" Grid.Column="0" Grid.Row="15" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="15" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicDTLS" Content="QUIC+DTLS 1.2" Grid.Column="0" Grid.Row="16" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="16" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWireGuard" Content="QUIC+WireGuard" Grid.Column="0" Grid.Row="17" Checked="RadioButtonQuicNone_Checked"></RadioButton>
|
||||
<TextBlock Text="同QUIC(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="17" Grid.ColumnSpan="3"></TextBlock>
|
||||
<TextBlock Text="提醒:Shadowrocket目前暂不支持QUIC的传输模式。" Foreground="Red" Grid.Column="0" Grid.Row="18" Grid.ColumnSpan="5"></TextBlock>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="其他设置" Grid.Row="2">
|
||||
|
@ -68,6 +68,11 @@ namespace ProxySU
|
||||
}
|
||||
else if (RadioButtonHTTP2.IsChecked == true)
|
||||
{
|
||||
if (string.IsNullOrEmpty(TextBoxDomain.Text.ToString()) == true)
|
||||
{
|
||||
MessageBox.Show("域名不能为空!");
|
||||
return;
|
||||
}
|
||||
//传递模板类型
|
||||
MainWindow.ReceiveConfigurationParameters[0] = "Http2";
|
||||
//传递路径
|
||||
@ -75,10 +80,11 @@ namespace ProxySU
|
||||
//传递域名
|
||||
MainWindow.ReceiveConfigurationParameters[4] = TextBoxDomain.Text.ToString();
|
||||
}
|
||||
|
||||
else if (RadioButtonMkcpNoCamouflage.IsChecked == true)
|
||||
{
|
||||
//传递模板类型
|
||||
MainWindow.ReceiveConfigurationParameters[0] = "MkcpNone";
|
||||
MainWindow.ReceiveConfigurationParameters[0] = "mKCPNone";
|
||||
MainWindow.ReceiveConfigurationParameters[5] = "none";
|
||||
}
|
||||
else if (RadioButton2mKCP2SRTP.IsChecked == true)
|
||||
|
Loading…
Reference in New Issue
Block a user