mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-24 22:26:07 +03:00
添加完善模板库
This commit is contained in:
parent
919d5ab78a
commit
c81e3d577f
@ -35,34 +35,66 @@
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonTCP" Content="TCP" Grid.Column="0" Grid.Row="0"></RadioButton>
|
||||
<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="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCPhttp" Content="TCP+Http伪装" Grid.Column="0" Grid.Row="1"></RadioButton>
|
||||
<RadioButton x:Name="RadioButtonTCPhttp" Content="TCP+Http伪装" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="TCP+Http伪装说明" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonMkcpNoCamouflage" Content="mKCP(无伪装)" Grid.Column="0" Grid.Row="2"></RadioButton>
|
||||
<RadioButton x:Name="RadioButtonMkcpNoCamouflage" Content="mKCP(无伪装)" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="mkcp协议,不进行伪装,发送的数据是没有特征的数据包。" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" Grid.Column="0" Grid.Row="3"></RadioButton>
|
||||
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="mkcp协议,伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" Grid.Column="0" Grid.Row="4"></RadioButton>
|
||||
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="伪装成 uTP 数据包,会被识别为 BT 下载数据" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" Grid.Column="0" Grid.Row="5"></RadioButton>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="伪装成微信视频通话的数据包" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" Grid.Column="0" Grid.Row="6"></RadioButton>
|
||||
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" Grid.Column="0" Grid.Row="6" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="伪装成 DTLS 1.2 数据包" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" Grid.Column="0" Grid.Row="7"></RadioButton>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" Grid.Column="0" Grid.Row="7" Checked="RadioButtonTCP_Checked"></RadioButton>
|
||||
<TextBlock Text="伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)" Grid.Column="1" Grid.Row="7" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP/2" Grid.Column="0" Grid.Row="8"></RadioButton>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP/2" Grid.Column="0" Grid.Row="8" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现" Grid.Column="1" Grid.Row="8" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTLS" Content="TLS" Grid.Column="0" Grid.Row="9"></RadioButton>
|
||||
<RadioButton x:Name="RadioButtonTLS" Content="TLS" Grid.Column="0" Grid.Row="9" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="使用TLS加密数据流" Grid.Column="1" Grid.Row="9" Grid.ColumnSpan="2"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" Grid.Column="0" Grid.Row="10"></RadioButton>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" Grid.Column="0" Grid.Row="10" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="目前是稳定性最好的,使用Caddy做网站前置,https数据流,不易被识别出流量特征" Grid.Column="1" Grid.Row="10" Grid.ColumnSpan="2"></TextBlock>
|
||||
<Button x:Name="ButtondDecide" Content="确定" Grid.Column="3" Grid.Row="11" Margin="4" Click="ButtondDecide_Click"></Button>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="自定义模板" Grid.Row="2">
|
||||
<GroupBox Header="其他设置" Grid.Row="2">
|
||||
<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>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock x:Name="TextBlockServerListenPort" Text="服务端口:" Grid.Column="0" Grid.Row="0"></TextBlock>
|
||||
<TextBox x:Name="TextBoxServerListenPort" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonServerListenPort" Content="随机选择" Grid.Column="3" Grid.Row="0" Margin="5"></Button>
|
||||
<TextBlock x:Name="TextBlockNewUUID" Text="新建UUID:" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNewUUID" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonNewUUID" Content="更新" Grid.Column="3" Grid.Row="1" Margin="5" Click="ButtonNewUUID_Click"></Button>
|
||||
<TextBlock x:Name="TextBlockExistingUUID" Text="使用现有UUID:" Grid.Column="0" Grid.Row="2"></TextBlock>
|
||||
<TextBox x:Name="TextBoxExistingUUID" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonExistingUUID" Content="粘贴到框中" Grid.Column="3" Grid.Row="2" Margin="5"></Button>
|
||||
<TextBlock x:Name="TextBlockPath" Text="路径:" Grid.Column="0" Grid.Row="3"></TextBlock>
|
||||
<TextBox x:Name="TextBoxPath" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="2" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonPath" Content="随机" Grid.Column="3" Grid.Row="3" Margin="5"></Button>
|
||||
<TextBlock x:Name="TextBlockDomain" Text="域名:" Grid.Column="0" Grid.Row="4"></TextBlock>
|
||||
<TextBox x:Name="TextBoxDomain" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="2" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonDomain" Content="检测" Grid.Column="3" Grid.Row="4" Margin="5"></Button>
|
||||
|
||||
<Button x:Name="ButtondDecide" Content="确定" Grid.Column="1" Grid.Row="5" Margin="4" Click="ButtondDecide_Click"></Button>
|
||||
<Button x:Name="ButtondCancel" Content="取消" Grid.Column="2" Grid.Row="5" Margin="4" Click="ButtondCancel_Click" ></Button>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
|
@ -27,6 +27,93 @@ namespace ProxySU
|
||||
private void ButtondDecide_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
if (RadioButtonTCP.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButtonWebSocketTLS2Web.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButtonTCPhttp.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButtonMkcpNoCamouflage.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButton2mKCP2SRTP.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButton2mKCPuTP.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButton2mKCP2WechatVideo.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButton2mKCP2DTLS.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButton2mKCP2WireGuard.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButtonHTTP2.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else if (RadioButtonTLS.IsChecked == true)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtondCancel_Click(object sender, RoutedEventArgs e) => Close();
|
||||
|
||||
private void RadioButtonTCP_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBlockServerListenPort.Visibility = Visibility.Visible;
|
||||
TextBoxServerListenPort.Visibility = Visibility.Visible;
|
||||
ButtonServerListenPort.Visibility = Visibility.Visible;
|
||||
TextBlockPath.Visibility = Visibility.Collapsed;
|
||||
TextBoxPath.Visibility = Visibility.Collapsed;
|
||||
ButtonPath.Visibility = Visibility.Collapsed;
|
||||
TextBlockDomain.Visibility = Visibility.Collapsed;
|
||||
TextBoxDomain.Visibility = Visibility.Collapsed;
|
||||
ButtonDomain.Visibility = Visibility.Collapsed;
|
||||
Guid uuid = Guid.NewGuid();
|
||||
TextBoxNewUUID.Text = uuid.ToString();
|
||||
}
|
||||
|
||||
private void RadioButtonHTTP2_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBlockServerListenPort.Visibility = Visibility.Visible;
|
||||
TextBoxServerListenPort.Visibility = Visibility.Visible;
|
||||
TextBoxServerListenPort.Text = "443";
|
||||
ButtonServerListenPort.Visibility = Visibility.Visible;
|
||||
TextBlockPath.Visibility = Visibility.Visible;
|
||||
TextBoxPath.Visibility = Visibility.Visible;
|
||||
ButtonPath.Visibility = Visibility.Visible;
|
||||
TextBlockDomain.Visibility = Visibility.Visible;
|
||||
TextBoxDomain.Visibility = Visibility.Visible;
|
||||
ButtonDomain.Visibility = Visibility.Visible;
|
||||
Guid uuid = Guid.NewGuid();
|
||||
TextBoxNewUUID.Text = uuid.ToString();
|
||||
}
|
||||
|
||||
private void ButtonNewUUID_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Guid uuid = Guid.NewGuid();
|
||||
TextBoxNewUUID.Text = uuid.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user