1
0
mirror of https://github.com/proxysu/ProxySU.git synced 2024-11-25 14:46:08 +03:00

修复多协议方案中vmess ws显示错误

This commit is contained in:
ProxySU 2020-11-28 11:19:55 +08:00
parent 52ac035195
commit 8220544c09
4 changed files with 102 additions and 104 deletions

View File

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ProxySU"
mc:Ignorable="d"
Title="ProxySU - v2.5.2 Beta1" Height="675" Width="660">
Title="ProxySU - v2.5.2 Beta2" Height="675" Width="660">
<!--以下样式参考自https://yq.aliyun.com/articles/331878
https://docs.microsoft.co/en-us/dotnet/desktop-wpf/fundamentals/styles-templates-overview-->
<Window.Resources>

View File

@ -12,103 +12,9 @@
<RowDefinition Height="0.8*"></RowDefinition>
<RowDefinition Height="0.12*"></RowDefinition>
</Grid.RowDefinitions>
<!-- V2Ray客户端配置参数 -->
<GroupBox Header="{DynamicResource GroupBoxHeaderClientParameter}" x:Name="GroupBoxV2rayClient" Visibility="Visible" Grid.Row="0">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="0.8*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Text="{DynamicResource TextBlockServerAddress}" Grid.Column="0" Grid.Row="0" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxHostAddress" IsReadOnly="True" Grid.Column="1" Grid.Row="0" Margin="2" MouseDoubleClick="TextBoxHostAddress_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockVmessOrVless" Text="" Grid.Column="2" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockServerPort}" Grid.Column="0" Grid.Row="1" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxPort" IsReadOnly="True" Grid.Column="1" Grid.Row="1" Margin="2" MouseDoubleClick="TextBoxPort_MouseDoubleClick"></TextBox>
<TextBlock Text="{DynamicResource TextBlockUserUUID}" Grid.Column="0" Grid.Row="2" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxUUID" IsReadOnly="True" Grid.Column="1" Grid.Row="2" Margin="2" MouseDoubleClick="TextBoxUUID_MouseDoubleClick"></TextBox>
<Grid x:Name="GridNotTrojanParameters" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Grid.RowSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock x:Name="TextBlockUUIDextra" Text="{DynamicResource TextBlockV2RayAlterId}" Grid.Column="0" Grid.Row="0" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxUUIDextra" IsReadOnly="False" Grid.Column="1" Grid.Row="0" Margin="2" MouseDoubleClick="TextBoxUUIDextra_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockEncryption" Text="{DynamicResource TextBlockEncryption}" Grid.Column="0" Grid.Row="1" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxEncryption" IsReadOnly="True" Grid.Column="1" Grid.Row="1" Margin="2" MouseDoubleClick="TextBoxEncryption_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTransferProtocol" Text="{DynamicResource TextBlockTransferProtocol}" Grid.Column="0" Grid.Row="2" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTransmission" IsReadOnly="True" Grid.Column="1" Grid.Row="2" Margin="2" MouseDoubleClick="TextBoxTransmission_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockCamouflageType" Text="{DynamicResource TextBlockCamouflageType}" Grid.Column="0" Grid.Row="3" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxCamouflageType" IsReadOnly="True" Grid.Column="1" Grid.Row="3" Margin="2" MouseDoubleClick="TextBoxCamouflageType_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockQuicEncryption" Text="{DynamicResource TextBlockQuicEncryption}" Visibility="Collapsed" Grid.Column="0" Grid.Row="4" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockHost" Text="Host:" Grid.Column="0" Grid.Row="4" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxHostQuicEncryption" IsReadOnly="True" Grid.Column="1" Grid.Row="4" Margin="2" MouseDoubleClick="TextBoxHostQuicEncryption_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockPath" Text="{DynamicResource TextBlockClientPath}" Visibility="Visible" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockMkcpSeed" Text="{DynamicResource TextBlockClientMkcpSeed}" Visibility="Collapsed" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockQuicKey" Text="{DynamicResource TextBlockClientQuicKey}" Visibility="Collapsed" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxQuicKeyMkcpSeedPath" IsReadOnly="True" Grid.Column="1" Grid.Row="5" Margin="2" MouseDoubleClick="TextBoxQuicKeyMkcpSeedPath_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlocTLSonOrNo" Text="{DynamicResource TextBlockIsOrNotTLS}" Grid.Column="0" Grid.Row="6" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTLS" IsReadOnly="True" Grid.Column="1" Grid.Row="6" Margin="2" MouseDoubleClick="TextBoxTLS_MouseDoubleClick"></TextBox>
</Grid>
<TextBlock x:Name="TextBlockUUIDextraExplanation" Text="{DynamicResource TextBlockV2RayAlterIdExplain}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="3" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockEncryptionIsAuto}" Grid.Column="2" Grid.Row="4" Visibility="Collapsed" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockCopyToClipExplain}" Grid.Column="0" Grid.Row="10" Grid.ColumnSpan="2" Margin="5"></TextBlock>
<GroupBox x:Name="GroupBoxSelectVlessVmessXtlsTcpWs" Grid.Column="2" Grid.Row="5" Grid.RowSpan="6" Margin="10,0,2,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<RadioButton x:Name="RadioButtonVlessTcpXtls" Content="VLESS over TCP with XTLS" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Checked="RadioButtonVlessTcpXtls_Checked" Visibility="Collapsed"></RadioButton>
<RadioButton x:Name="RadioButtonVlessTcpTls" Content="VLESS over TCP with TLS" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Checked="RadioButtonVlessTcpTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVlessWsTls" Content="VLESS over WS with TLS" Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" Checked="RadioButtonVlessWsTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVmessTcpTls" Content="VMess over TCP with TLS" Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" Checked="RadioButtonVmessTcpTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVmessWsTls" Content="VMess over WS with TLS" Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Checked="RadioButtonVmessWsTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonTrojanTcpTls" Content="Trojan over TCP with TLS" Grid.Column="1" Grid.Row="5" VerticalAlignment="Center" Checked="RadioButtonTrojanTcpTls_Checked" ></RadioButton>
</Grid>
</GroupBox>
</Grid>
</GroupBox>
<!-- Xray客户端配置参数 -->
<GroupBox Header="{DynamicResource GroupBoxHeaderClientParameter}" x:Name="GroupBoxXrayClient" Visibility="Collapsed" Grid.Row="0">
<GroupBox Header="{DynamicResource GroupBoxHeaderClientParameter}" x:Name="GroupBoxXrayClient" Visibility="Visible" Grid.Row="0">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
@ -202,6 +108,100 @@
</Grid>
</GroupBox>
<!-- V2Ray客户端配置参数 -->
<GroupBox Header="{DynamicResource GroupBoxHeaderClientParameter}" x:Name="GroupBoxV2rayClient" Visibility="Collapsed" Grid.Row="0">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="0.8*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Text="{DynamicResource TextBlockServerAddress}" Grid.Column="0" Grid.Row="0" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxHostAddress" IsReadOnly="True" Grid.Column="1" Grid.Row="0" Margin="2" MouseDoubleClick="TextBoxHostAddress_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockVmessOrVless" Text="" Grid.Column="2" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockServerPort}" Grid.Column="0" Grid.Row="1" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxPort" IsReadOnly="True" Grid.Column="1" Grid.Row="1" Margin="2" MouseDoubleClick="TextBoxPort_MouseDoubleClick"></TextBox>
<TextBlock Text="{DynamicResource TextBlockUserUUID}" Grid.Column="0" Grid.Row="2" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxUUID" IsReadOnly="True" Grid.Column="1" Grid.Row="2" Margin="2" MouseDoubleClick="TextBoxUUID_MouseDoubleClick"></TextBox>
<Grid x:Name="GridNotTrojanParameters" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Grid.RowSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock x:Name="TextBlockUUIDextra" Text="{DynamicResource TextBlockV2RayAlterId}" Grid.Column="0" Grid.Row="0" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxUUIDextra" IsReadOnly="False" Grid.Column="1" Grid.Row="0" Margin="2" MouseDoubleClick="TextBoxUUIDextra_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockEncryption" Text="{DynamicResource TextBlockEncryption}" Grid.Column="0" Grid.Row="1" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxEncryption" IsReadOnly="True" Grid.Column="1" Grid.Row="1" Margin="2" MouseDoubleClick="TextBoxEncryption_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTransferProtocol" Text="{DynamicResource TextBlockTransferProtocol}" Grid.Column="0" Grid.Row="2" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTransmission" IsReadOnly="True" Grid.Column="1" Grid.Row="2" Margin="2" MouseDoubleClick="TextBoxTransmission_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockCamouflageType" Text="{DynamicResource TextBlockCamouflageType}" Grid.Column="0" Grid.Row="3" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxCamouflageType" IsReadOnly="True" Grid.Column="1" Grid.Row="3" Margin="2" MouseDoubleClick="TextBoxCamouflageType_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockQuicEncryption" Text="{DynamicResource TextBlockQuicEncryption}" Visibility="Collapsed" Grid.Column="0" Grid.Row="4" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockHost" Text="Host:" Grid.Column="0" Grid.Row="4" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxHostQuicEncryption" IsReadOnly="True" Grid.Column="1" Grid.Row="4" Margin="2" MouseDoubleClick="TextBoxHostQuicEncryption_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockPath" Text="{DynamicResource TextBlockClientPath}" Visibility="Visible" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockMkcpSeed" Text="{DynamicResource TextBlockClientMkcpSeed}" Visibility="Collapsed" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock x:Name="TextBlockQuicKey" Text="{DynamicResource TextBlockClientQuicKey}" Visibility="Collapsed" Grid.Column="0" Grid.Row="5" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxQuicKeyMkcpSeedPath" IsReadOnly="True" Grid.Column="1" Grid.Row="5" Margin="2" MouseDoubleClick="TextBoxQuicKeyMkcpSeedPath_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlocTLSonOrNo" Text="{DynamicResource TextBlockIsOrNotTLS}" Grid.Column="0" Grid.Row="6" Margin="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTLS" IsReadOnly="True" Grid.Column="1" Grid.Row="6" Margin="2" MouseDoubleClick="TextBoxTLS_MouseDoubleClick"></TextBox>
</Grid>
<TextBlock x:Name="TextBlockUUIDextraExplanation" Text="{DynamicResource TextBlockV2RayAlterIdExplain}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="3" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockEncryptionIsAuto}" Grid.Column="2" Grid.Row="4" Visibility="Collapsed" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockCopyToClipExplain}" Grid.Column="0" Grid.Row="10" Grid.ColumnSpan="2" Margin="5"></TextBlock>
<GroupBox x:Name="GroupBoxSelectVlessVmessXtlsTcpWs" Grid.Column="2" Grid.Row="5" Grid.RowSpan="6" Margin="10,0,2,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<RadioButton x:Name="RadioButtonVlessTcpXtls" Content="VLESS over TCP with XTLS" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Checked="RadioButtonVlessTcpXtls_Checked" Visibility="Collapsed"></RadioButton>
<RadioButton x:Name="RadioButtonVlessTcpTls" Content="VLESS over TCP with TLS" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Checked="RadioButtonVlessTcpTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVlessWsTls" Content="VLESS over WS with TLS" Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" Checked="RadioButtonVlessWsTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVmessTcpTls" Content="VMess over TCP with TLS" Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" Checked="RadioButtonVmessTcpTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonVmessWsTls" Content="VMess over WS with TLS" Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Checked="RadioButtonVmessWsTls_Checked"></RadioButton>
<RadioButton x:Name="RadioButtonTrojanTcpTls" Content="Trojan over TCP with TLS" Grid.Column="1" Grid.Row="5" VerticalAlignment="Center" Checked="RadioButtonTrojanTcpTls_Checked" ></RadioButton>
</Grid>
</GroupBox>
</Grid>
</GroupBox>
<!-- Trojan-Go客户端配置参数 -->
<GroupBox Header="{DynamicResource GroupBoxHeaderClientParameter}" x:Name="GroupBoxTrojanGoClient" Visibility="Collapsed" Grid.Row="0">

View File

@ -712,7 +712,7 @@ namespace ProxySU
XraySetVmessTcpTls();
GenerateXrayVmessTcpTlsShareQRcodeAndBase64Url();
V2raySetVmessWsTls();
XraySetVmessWsTls();
GenerateXrayVmessWsTlsShareQRcodeAndBase64Url();
GenerateXrayTrojanShareQRcodeAndBase64Url();
@ -3445,12 +3445,12 @@ namespace ProxySU
v2rayNjsonObject["net"] = TextBoxTransmissionXray.Text; //设置传输模式
v2rayNjsonObject["type"] = TextBoxCamouflageTypeXray.Text; //设置伪装类型
if (TextBoxTransmission.Text.Contains("kcp") == true)
if (TextBoxTransmissionXray.Text.Contains("kcp") == true)
{
v2rayNjsonObject["path"] = TextBoxQuicKeyMkcpSeedPathXray.Text;//设置mKCP Seed
v2rayNjsonObject["host"] = "";//设置Host
}
else if (TextBoxTransmission.Text.Contains("quic") == true)
else if (TextBoxTransmissionXray.Text.Contains("quic") == true)
{
v2rayNjsonObject["path"] = TextBoxQuicKeyMkcpSeedPathXray.Text;//设置quic密钥
v2rayNjsonObject["host"] = TextBoxHostQuicEncryptionXray.Text;//Quic加密方式
@ -3529,11 +3529,11 @@ namespace ProxySU
v2rayNjsonObject["net"] = TextBoxTransmissionXray.Text; //设置传输模式
v2rayNjsonObject["type"] = TextBoxCamouflageTypeXray.Text; //设置伪装类型
if (TextBoxTransmission.Text.Contains("kcp") == true)
if (TextBoxTransmissionXray.Text.Contains("kcp") == true)
{
v2rayNjsonObject["path"] = TextBoxQuicKeyMkcpSeedPathXray.Text;//设置mKCP Seed
}
else if (TextBoxTransmission.Text.Contains("quic") == true)
else if (TextBoxTransmissionXray.Text.Contains("quic") == true)
{
v2rayNjsonObject["path"] = TextBoxQuicKeyMkcpSeedPathXray.Text;//设置quic密钥
v2rayNjsonObject["host"] = TextBoxHostQuicEncryptionXray.Text;//Quic加密方式
@ -3557,14 +3557,12 @@ namespace ProxySU
string configSavePath = CheckDir($"{configDomainSavePath}\\{plainSavePath}");
//生成二维码与URL
//生成二维码与URL
TextBoxURLVmessWs = "vmess://" + ToBase64Encode(v2rayNjsonObject.ToString());
//TextBoxURL.Text = TextBoxURLVmessWs;
using (StreamWriter sw = new StreamWriter($"{configSavePath}\\url.txt"))
{
sw.WriteLine(TextBoxURLVmessWs);
}
ImageShareQRcodeVmessWs = CreateQRCode(TextBoxURLVmessWs, $"{configSavePath}\\QR.bmp");

Binary file not shown.