mirror of
https://github.com/proxysu/ProxySU.git
synced 2025-04-03 05:43:36 +03:00
添加英文版界面01
This commit is contained in:
parent
50b4fc7694
commit
6c601cd545
12 changed files with 1327 additions and 1271 deletions
|
@ -4,6 +4,11 @@
|
|||
xmlns:local="clr-namespace:ProxySU"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="Translations\ProxySU.zh-CN.xaml" />
|
||||
<ResourceDictionary Source="Translations\ProxySU.en-US.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:ProxySU"
|
||||
mc:Ignorable="d"
|
||||
Title="ProxySU - v1.8.5" Height="600" Width="530">
|
||||
Title="ProxySU - v1.8.6" Height="600" Width="530">
|
||||
<!--以下样式参考自:https://yq.aliyun.com/articles/331878
|
||||
https://docs.microsoft.com/en-us/dotnet/desktop-wpf/fundamentals/styles-templates-overview-->
|
||||
<Window.Resources>
|
||||
|
@ -38,7 +38,7 @@
|
|||
|
||||
</Grid>
|
||||
</TabItem>-->
|
||||
<TabItem Header="应用布署" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderAppDeployment}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="80"></ColumnDefinition>
|
||||
|
@ -60,12 +60,12 @@
|
|||
<RowDefinition ></RowDefinition>
|
||||
<RowDefinition Height="60"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="主机名:" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" Grid.Column="0" Grid.Row="0"></TextBlock>
|
||||
<TextBlock Text="端口:" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" Grid.Column="2" Grid.Row="0"></TextBlock>
|
||||
<TextBox x:Name="TextBoxHost" Text="" Style="{StaticResource TitleText}" Tag="IP或域名(不可为空)" Margin="5" Grid.Column="1" Grid.Row="0"></TextBox>
|
||||
<TextBlock Text="{DynamicResource TextBlockHostName}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" Grid.Column="0" Grid.Row="0"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockHostPart}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" Grid.Column="2" Grid.Row="0"></TextBlock>
|
||||
<TextBox x:Name="TextBoxHost" Text="" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxHostNamePrompt}" Margin="5" Grid.Column="1" Grid.Row="0"></TextBox>
|
||||
<TextBox x:Name="TextBoxPort" CommandManager.PreviewExecuted="TextBoxPort_PreviewExecuted" Text="22" Margin="5" Grid.Column="3" Grid.Row="0" PreviewTextInput="TextBoxPort_PreviewTextInput"/>
|
||||
<TextBlock Text="用户名:" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockPassword" Text="密码:" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" Grid.Column="2" Grid.Row="1"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockHostUser}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockPassword" Text="{DynamicResource TextBlockHostPassword}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" Grid.Column="2" Grid.Row="1"></TextBlock>
|
||||
<TextBox x:Name="TextBoxUserName" Text="root" Margin="5" Grid.Column="1" Grid.Row="1"></TextBox>
|
||||
<PasswordBox x:Name="PasswordBoxHostPassword" Password="" Margin="5" Grid.Column="3" Grid.Row="1"></PasswordBox>
|
||||
<RadioButton x:Name="RadioButtonPasswordLogin" GroupName="CertIsYesNo" Content="密码登录" Visibility="Hidden" Grid.Column="0" Grid.Row="2" Checked="RadioButtonPasswordLogin_Checked"></RadioButton>
|
||||
|
@ -103,11 +103,11 @@
|
|||
<PasswordBox x:Name="PasswordBoxProxyPassword" IsEnabled="False" Password="" Margin="5" Grid.Column="3" Grid.Row="6" Visibility="Collapsed"></PasswordBox>
|
||||
|
||||
<!--<StatusBar x:Name="StatusBarStatusMonitoring" Grid.Column="0" Grid.Row="7" Grid.ColumnSpan="4"></StatusBar>-->
|
||||
<TextBlock x:Name="TextBlockSetUpProcessing" Text="等待安装布署" Foreground="Blue" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockSetUpProcessing" Text="{DynamicResource TextBlockSetUpProcessing}" Foreground="Blue" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4"></TextBlock>
|
||||
<ProgressBar x:Name="ProgressBarSetUpProcessing" Minimum="0" Maximum="100" Value="0" IsIndeterminate="False" Margin="7" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="4"></ProgressBar>
|
||||
<TextBox x:Name="TextBoxMonitorCommandResults" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="4" Grid.RowSpan="5" Margin="30,0,30,10"></TextBox>
|
||||
<TabControl Grid.Column="0" Grid.Row="9" Grid.ColumnSpan="4" Grid.RowSpan="3">
|
||||
<TabItem Header="V2ray" Width="100" Height="30">
|
||||
<TabItem Header="V2Ray" Width="100" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -122,7 +122,7 @@
|
|||
|
||||
<!--<Button x:Name="ButtonGuideConfiguration" Visibility="Visible" Content="启用向导" Grid.Column="0" Grid.Row="0" Click="ButtonGuideConfiguration_Click"></Button>
|
||||
<TextBlock Text="通过向导生成配置文件" Visibility="Visible" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||
<Button x:Name="ButtonTemplateConfiguration" Content="V2ray模板库" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTemplateConfiguration_Click"></Button>
|
||||
<Button x:Name="ButtonTemplateConfiguration" Content="{DynamicResource ButtonV2RayTemplateConfiguration}" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTemplateConfiguration_Click"></Button>
|
||||
<!--<TextBlock Text="模板库" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||
<!--<Button x:Name="ButtonAdvancedConfiguration" Visibility="Visible" Content="配置编辑器" Grid.Column="2" Grid.Row="0" Click="ButtonAdvancedConfiguration_Click"></Button>
|
||||
<TextBlock Text="配置文件高级生成器
(有经验用户可以使用)" Visibility="Visible" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||
|
@ -131,9 +131,9 @@
|
|||
<RadioButton x:Name="RadioButtonAdvancedConfiguration" Content="高级配置" Grid.Column="0" Grid.Row="2"></RadioButton>
|
||||
<TextBox x:Name="TextBoxJsonPath" Margin="10" Grid.Column="1" Grid.Row="1"></TextBox>
|
||||
<Button x:Name="ButtonSetConfiguration" Margin="6" Content="配置" Grid.Column="2" Grid.Row="2" Click="ButtonSetConfiguration_Click"></Button>-->
|
||||
<Button x:Name="Button_Login" Content="V2ray一键安装" Margin="10" Grid.Column="0" Grid.Row="2" Click="Button_Login_Click"></Button>
|
||||
<Button x:Name="ButtonUpdateV2ray" Content="检测/升级V2Ray" Margin="10" Grid.Column="1" Grid.Row="2" Click="ButtonUpdateV2ray_Click"></Button>
|
||||
<Button x:Name="Button_canel" Content="取消" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
<Button x:Name="Button_Login" Content="{DynamicResource ButtonV2RayOneKeyInstall}" Margin="10" Grid.Column="0" Grid.Row="2" Click="Button_Login_Click"></Button>
|
||||
<Button x:Name="ButtonUpdateV2ray" Content="{DynamicResource ButtonUpdateV2ray}" Margin="10" Grid.Column="1" Grid.Row="2" Click="ButtonUpdateV2ray_Click"></Button>
|
||||
<Button x:Name="Button_canel" Content="{DynamicResource Button_canel}" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Trojan-Go" Width="100" Height="30">
|
||||
|
@ -153,11 +153,11 @@
|
|||
|
||||
<!--<Button x:Name="ButtonTrojanTemplate" Content="Trojan参数设置" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanTemplate_Click"/>-->
|
||||
<!--<TextBlock Text="Trojan参数设置" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||
<Button x:Name="ButtonTrojanGoTemplate" Content="Trojan-Go参数设置" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanGoTemplate_Click"/>
|
||||
<Button x:Name="ButtonTrojanGoTemplate" Content="{DynamicResource ButtonTrojanGoTemplate}" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanGoTemplate_Click"/>
|
||||
|
||||
<Button x:Name="ButtonTrojanGoSetUp" Content="Trojan-Go一键安装" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonTrojanGoSetUp_Click"/>
|
||||
<Button x:Name="ButtonUpdateTrojanGo" Content="检测/升级Trojan-Go" Margin="10" Grid.Column="1" Grid.Row="2" Click="ButtonUpdateTrojanGo_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanGoCancel" Content="取消" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanGoSetUp" Content="{DynamicResource ButtonTrojanGoSetUp}" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonTrojanGoSetUp_Click"/>
|
||||
<Button x:Name="ButtonUpdateTrojanGo" Content="{DynamicResource ButtonUpdateTrojanGo}" Margin="10" Grid.Column="1" Grid.Row="2" Click="ButtonUpdateTrojanGo_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanGoCancel" Content="{DynamicResource ButtonTrojanGoCancel}" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Trojan" Width="100" Height="30">
|
||||
|
@ -174,7 +174,7 @@
|
|||
<RowDefinition Height="60"></RowDefinition>
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Header="参数设置" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" Grid.RowSpan="2">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderParameterTrojan}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" Grid.RowSpan="2">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.4*"></ColumnDefinition>
|
||||
|
@ -189,16 +189,16 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="模式:Trojan+TLS+Caddy" Grid.Column="1" Grid.Row="0"></TextBlock>
|
||||
<TextBlock Text="服务器地址(域名):" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBox x:Name="TextBoxTrojanHostDomain" Style="{StaticResource TitleText}" Tag="域名不可为空" Grid.Column="1" Grid.Row="1" Margin="3"></TextBox>
|
||||
<TextBlock Text="端口:443" Grid.Column="2" Grid.Row="1"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanTemplateExplanation}" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanServerDomain}" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5"></TextBlock>
|
||||
<TextBox x:Name="TextBoxTrojanHostDomain" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxDomainPrompt}" Grid.Column="1" Grid.Row="1" Margin="3"></TextBox>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanPort}" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<!--<TextBlock Text="用户名:" Grid.Column="0" Grid.Row="2"></TextBlock>
|
||||
<TextBox x:Name="TextBoxUser" Grid.Column="1" Grid.Row="2" Margin="3"></TextBox>
|
||||
<Button x:Name="ButtonNaiveUser" Content="随机" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonNaiveUser_Click"></Button>-->
|
||||
<TextBlock Text="密码:" Grid.Column="0" Grid.Row="2"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanHostPassword}" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxTrojanPassword" Grid.Column="1" Grid.Row="2" Margin="3"></TextBox>
|
||||
<Button x:Name="ButtonTrojanPassword" Content="更新" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonTrojanPassword_Click" ></Button>
|
||||
<Button x:Name="ButtonTrojanPassword" Content="{DynamicResource ButtonTrojanChangePassword}" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonTrojanPassword_Click" ></Button>
|
||||
|
||||
<TextBlock Text="伪装网站:" Grid.Column="0" Grid.Row="3" Visibility="Collapsed"></TextBlock>
|
||||
<TextBox x:Name="TextBoxTrojanSites" Style="{StaticResource TitleText}" Tag="可以增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="3" Margin="3" Visibility="Collapsed"></TextBox>
|
||||
|
@ -211,9 +211,9 @@
|
|||
<!--<Button x:Name="ButtonTrojanGoTemplate" Content="Trojan-Go参数设置" Grid.Column="2" Grid.Row="0" Margin="5" Click="ButtonTrojanGoTemplate_Click"/>-->
|
||||
|
||||
|
||||
<Button x:Name="ButtonTrojanSetUp" Content="Trojan一键安装" Grid.Column="0" Grid.Row="2" Margin="10" Click="ButtonTrojanSetUp_Click"/>
|
||||
<Button x:Name="ButtonUpdateTrojan" Content="检测/升级Trojan" Grid.Column="1" Grid.Row="2" Margin="10" Click="ButtonUpdateTrojan_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanCancel" Content="取消" Grid.Column="2" Grid.Row="2" Margin="10" Click="Button_canel_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanSetUp" Content="{DynamicResource ButtonTrojanSetUp}" Grid.Column="0" Grid.Row="2" Margin="10" Click="ButtonTrojanSetUp_Click"/>
|
||||
<Button x:Name="ButtonUpdateTrojan" Content="{DynamicResource ButtonUpdateTrojan}" Grid.Column="1" Grid.Row="2" Margin="10" Click="ButtonUpdateTrojan_Click"></Button>
|
||||
<Button x:Name="ButtonTrojanCancel" Content="{DynamicResource ButtonTrojanCancel}" Grid.Column="2" Grid.Row="2" Margin="10" Click="Button_canel_Click"></Button>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem x:Name="TabItemNaiveProxy" Header="NaiveProxy" Width="100" Height="30">
|
||||
|
@ -228,7 +228,7 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="60"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Header="参数设置" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" Grid.RowSpan="2">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderParameterTrojan}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" Grid.RowSpan="2">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.4*"></ColumnDefinition>
|
||||
|
@ -243,16 +243,16 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="模式:NaiveProxy+TLS+Caddy" Grid.Column="1" Grid.Row="0"></TextBlock>
|
||||
<TextBlock Text="服务器地址(域名):" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNaiveHostDomain" Style="{StaticResource TitleText}" Tag="域名不可为空" Grid.Column="1" Grid.Row="1" Margin="3"></TextBox>
|
||||
<TextBlock Text="端口:443" Grid.Column="2" Grid.Row="1"></TextBlock>
|
||||
<TextBlock Text="用户名:" Grid.Column="0" Grid.Row="2"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockNaiveProxyTemplateExplanation}" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanServerDomain}" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNaiveHostDomain" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxDomainPrompt}" Grid.Column="1" Grid.Row="1" Margin="3"></TextBox>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanPort}" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockHostUser}" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNaiveUser" Grid.Column="1" Grid.Row="2" Margin="3"></TextBox>
|
||||
<Button x:Name="ButtonNaiveUser" Content="随机" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonNaiveUser_Click"></Button>
|
||||
<TextBlock Text="密码:" Grid.Column="0" Grid.Row="3"></TextBlock>
|
||||
<Button x:Name="ButtonNaiveUser" Content="{DynamicResource ButtonNaiveProxyChangeUser}" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonNaiveUser_Click"></Button>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanHostPassword}" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNaivePassword" Grid.Column="1" Grid.Row="3" Margin="3"></TextBox>
|
||||
<Button x:Name="ButtonNaivePassword" Content="更新" Grid.Column="2" Grid.Row="3" Margin="2" Click="ButtonNaivePassword_Click"></Button>
|
||||
<Button x:Name="ButtonNaivePassword" Content="{DynamicResource ButtonTrojanChangePassword}" Grid.Column="2" Grid.Row="3" Margin="2" Click="ButtonNaivePassword_Click"></Button>
|
||||
<TextBlock Text="伪装网站:" Grid.Column="0" Grid.Row="4" Visibility="Collapsed"></TextBlock>
|
||||
<TextBox x:Name="TextBoxNaiveSites" Style="{StaticResource TitleText}" Tag="可以增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="4" Margin="3" Visibility="Collapsed"></TextBox>
|
||||
|
||||
|
@ -261,8 +261,8 @@
|
|||
<!--<Button x:Name="ButtonNaiveTemplate" Content="Naive设置" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanTemplate_Click"/>
|
||||
<TextBlock Text="Naive参数设置" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||
|
||||
<Button x:Name="ButtonNavieSetUp" Content="NaiveProxy一键安装" Grid.ColumnSpan="1" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonNavieSetUp_Click"/>
|
||||
<Button x:Name="ButtonNaiveCancel" Content="取消" Grid.ColumnSpan="1" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
<Button x:Name="ButtonNavieSetUp" Content="{DynamicResource ButtonNavieSetUp}" Grid.ColumnSpan="1" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonNavieSetUp_Click"/>
|
||||
<Button x:Name="ButtonNaiveCancel" Content="{DynamicResource ButtonNaiveCancel}" Grid.ColumnSpan="1" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="三合一" Width="100" Height="30" Visibility="Collapsed">
|
||||
|
@ -334,8 +334,8 @@
|
|||
<Button x:Name="Button_canel3in1" Content="取消" Grid.ColumnSpan="1" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Header="系统工具" Width="100" Height="30">
|
||||
|
||||
<TabItem Header="{DynamicResource TabItemHeaderSysTools}" Width="100" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -348,9 +348,10 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Button x:Name="ButtonProofreadTime" Content="校对时间" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonProofreadTime_Click"/>
|
||||
<Button x:Name="ButtonClearOccupiedPorts" Content="释放80/443端口" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonClearOccupiedPorts_Click"></Button>
|
||||
<Button x:Name="ButtonTestAndEnableBBR" Content="检测/启用BBR" Grid.Column="2" Grid.Row="0" Margin="5" Click="ButtonTestAndEnableBBR_Click"></Button>
|
||||
<Button x:Name="ButtonProofreadTime" Content="{DynamicResource ButtonProofreadTime}" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonProofreadTime_Click"/>
|
||||
<Button x:Name="ButtonClearOccupiedPorts" Content="{DynamicResource ButtonClearOccupiedPorts}" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonClearOccupiedPorts_Click"></Button>
|
||||
<Button x:Name="ButtonTestAndEnableBBR" Content="{DynamicResource ButtonTestAndEnableBBR}" Grid.Column="2" Grid.Row="0" Margin="5" Click="ButtonTestAndEnableBBR_Click"></Button>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
|
||||
|
@ -377,7 +378,7 @@
|
|||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="资源工具" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderResourceTools}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -406,10 +407,10 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Button x:Name="ButtonWebBrowserHomePage" Content="主页" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonWebBrowserHomePage_Click"></Button>
|
||||
<Button x:Name="ButtonWebBrowserForward" Content="前进" Grid.Column="2" Grid.Row="0" Margin="5" Click="ButtonWebBrowserForward_Click"></Button>
|
||||
<Button x:Name="ButtonWebBrowserBack" Content="后退" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonWebBrowserBack_Click"/>
|
||||
<TextBlock Text="由于众所周知的原因,在某些时候,加载缓慢,请耐心等待一下" Grid.Column="4" Grid.Row="0" Grid.ColumnSpan="4" Margin="5"></TextBlock>
|
||||
<Button x:Name="ButtonWebBrowserHomePage" Content="{DynamicResource ButtonWebBrowserHomePage}" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonWebBrowserHomePage_Click"></Button>
|
||||
<Button x:Name="ButtonWebBrowserForward" Content="{DynamicResource ButtonWebBrowserForward}" Grid.Column="2" Grid.Row="0" Margin="5" Click="ButtonWebBrowserForward_Click"></Button>
|
||||
<Button x:Name="ButtonWebBrowserBack" Content="{DynamicResource ButtonWebBrowserBack}" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonWebBrowserBack_Click"/>
|
||||
<TextBlock Text="{DynamicResource TextBlockWebExplain}" TextWrapping="Wrap" Grid.Column="4" Grid.Row="0" Grid.ColumnSpan="4"></TextBlock>
|
||||
<!--<TextBox x:Name="TextBoxWebBrowserProxyUrl" Style="{StaticResource TitleText}" Tag="粘贴被墙的网址到这里点击 GO(下面被墙网址右击==复制快捷方式)" Grid.Column="3" Grid.Row="0" Grid.ColumnSpan="5" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonWebBrowserProxyGo" Content="Go" Grid.Column="8" Grid.Row="0" Margin="5" Click="ButtonWebBrowserProxyGo_Click"></Button>-->
|
||||
<WebBrowser x:Name="WebBrowserResourcesAndTools" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="9" Grid.RowSpan="13" Source="https://github.com/proxysu/windows/wiki/ResourcesAndTools" />
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -52,7 +52,7 @@ namespace ProxySU
|
|||
client.RunCommand("ln -s /usr/share/zoneinfo/UTC /etc/localtime");
|
||||
//获取远程主机的时间戳
|
||||
long timeStampVPS = Convert.ToInt64(client.RunCommand("date +%s").Result.ToString());
|
||||
//MessageBox.Show(timesStampVPS.ToString());
|
||||
|
||||
//获取本地时间戳
|
||||
TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||
long timeStampLocal = Convert.ToInt64(ts.TotalSeconds);
|
||||
|
@ -61,9 +61,7 @@ namespace ProxySU
|
|||
{
|
||||
|
||||
MessageBox.Show("本地时间与远程主机时间相差超过限制(90秒),V2ray无法建立连接");
|
||||
//currentStatus = "时间较对失败......";
|
||||
//textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||
//Thread.Sleep(1000);
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -107,11 +105,9 @@ namespace ProxySU
|
|||
//获取本地时间戳
|
||||
TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||
long timeStampLocal = Convert.ToInt64(ts.TotalSeconds);
|
||||
//string stampTime = timeStampLocal.ToString();
|
||||
|
||||
string sshCmd = $"date --set=\"$(date \"+%Y-%m-%d %H:%M:%S\" -d @{timeStampLocal.ToString()})\"";
|
||||
//MessageBox.Show(sshCmd);
|
||||
//string sshCmd = $"date --set=\"$(date \"+%Y-%m-%d %H:%M:%S\" -d @1489739011)\"";
|
||||
//MessageBox.Show(sshCmd);
|
||||
|
||||
client.RunCommand(sshCmd);
|
||||
MessageBox.Show("同步本地时间校时完毕");
|
||||
|
||||
|
@ -124,17 +120,12 @@ namespace ProxySU
|
|||
long timeStampVPS = Convert.ToInt64(utcTS.TotalSeconds);
|
||||
if (timeStampVPS!=0)
|
||||
{
|
||||
//MessageBox.Show(timeStampVPS.ToString());
|
||||
|
||||
string sshCmd = $"date --set=\"$(date \"+%Y-%m-%d %H:%M:%S\" -d @{timeStampVPS.ToString()})\"";
|
||||
//MessageBox.Show(sshCmd);
|
||||
|
||||
client.RunCommand(sshCmd);
|
||||
MessageBox.Show("同步网络时间校时完毕");
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// MessageBox.Show(timeStampVPS.ToString());
|
||||
// MessageBox.Show("同步网络时间失败");
|
||||
//}
|
||||
|
||||
}
|
||||
client.Disconnect();
|
||||
|
|
|
@ -113,6 +113,14 @@
|
|||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Translations\ProxySU.zh-CN.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Translations\ProxySU.en-US.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="V2RayTemplateWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
@ -155,6 +163,7 @@
|
|||
<ItemGroup>
|
||||
<Resource Include="ProxySU.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>del "$(TargetDir)*.xml"
|
||||
|
|
|
@ -197,7 +197,7 @@
|
|||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.6*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock x:Name="TextBlockQrURLexplain" Text="二维码和URL链接可用于
v2rayN(windows)
Trojan-QT5(windows)
Qv2ray(windows)
Shadowrocket(ios)
v2rayNG(Android)
导入v2ray节点
注意:Vless协议需要手动输入配置参数,二维码和URL无效" TextWrapping="Wrap" Grid.Column="0"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockQrURLexplain" Text="二维码和URL链接可用于
v2rayN(windows)
Trojan-QT5(windows)
Qv2ray(windows)
Shadowrocket(ios)
v2rayNG(Android)
导入v2ray节点

注意:Vless协议需要手动输入配置参数,二维码和URL无效" TextWrapping="Wrap" Grid.Column="0"></TextBlock>
|
||||
<Image x:Name="ImageShareQRcode" Grid.Column="1"></Image>
|
||||
<TextBox x:Name="TextBoxURL" TextWrapping="Wrap" Grid.Column="2"></TextBox>
|
||||
</Grid>
|
||||
|
|
|
@ -109,6 +109,8 @@ namespace ProxySU
|
|||
HideAlterId();
|
||||
HidePath();
|
||||
HideQuicKey();
|
||||
ImageShareQRcode.Visibility = Visibility.Collapsed;
|
||||
TextBoxURL.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "webSocket"))
|
||||
{
|
||||
|
@ -444,15 +446,21 @@ namespace ProxySU
|
|||
num++;
|
||||
}
|
||||
CheckDir(@"v2ray_config\" + saveFileFolder);
|
||||
//MessageBox.Show(v2rayNjsonObject.ToString());
|
||||
//生成二维码与URL,跳过VlessTcpTlsWeb暂时未有URL标准
|
||||
string vmessUrl = "vmess://" + ToBase64Encode(v2rayNjsonObject.ToString());
|
||||
TextBoxURL.Text = vmessUrl;
|
||||
using (StreamWriter sw = new StreamWriter($"v2ray_config\\{saveFileFolder}\\url.txt"))
|
||||
{
|
||||
sw.WriteLine(vmessUrl);
|
||||
|
||||
if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "VlessTcpTlsWeb") == false)
|
||||
{
|
||||
sw.WriteLine(vmessUrl);
|
||||
}
|
||||
}
|
||||
CreateQRCode(vmessUrl,"v2ray_config");
|
||||
if (String.Equals(MainWindow.ReceiveConfigurationParameters[0], "VlessTcpTlsWeb") == false)
|
||||
{
|
||||
CreateQRCode(vmessUrl, "v2ray_config");
|
||||
}
|
||||
|
||||
|
||||
if (File.Exists(@"v2ray_config\config.json"))
|
||||
{
|
||||
|
|
136
ProxySU/Translations/ProxySU.en-US.xaml
Normal file
136
ProxySU/Translations/ProxySU.en-US.xaml
Normal file
|
@ -0,0 +1,136 @@
|
|||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ProxySU.Translations"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
||||
<sys:String x:Key="TabItemHeaderAppDeployment">Deployment</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderResourceTools">Resource Tools</sys:String>
|
||||
<sys:String x:Key="TextBlockHostName">Host:</sys:String>
|
||||
<sys:String x:Key="TextBoxHostNamePrompt">IP or Domain (Not empty)</sys:String>
|
||||
<sys:String x:Key="TextBlockHostPart">Port:</sys:String>
|
||||
<sys:String x:Key="TextBlockHostUser">User:</sys:String>
|
||||
<sys:String x:Key="TextBlockHostPassword">Password:</sys:String>
|
||||
<sys:String x:Key="TextBlockSetUpProcessing">Waiting for Deployment</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderSysTools">Tools</sys:String>
|
||||
<sys:String x:Key="ButtonV2RayTemplateConfiguration">V2Ray Templates</sys:String>
|
||||
<sys:String x:Key="ButtonV2RayOneKeyInstall">Install V2ray</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateV2ray">Upgrade V2Ray</sys:String>
|
||||
<sys:String x:Key="Button_canel">Canel</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplate">Trojan-Go Templates</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoSetUp">Install Trojan-Go</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateTrojanGo">Upgrade Trojan-Go</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoCancel">Canel</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterTrojan">Parameter</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanTemplateExplanation">Plan: Trojan+TLS+Caddy</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanServerDomain">Server Domain:</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanPort">Port: 443</sys:String>
|
||||
<sys:String x:Key="TextBoxDomainPrompt">Domain name cannot be empty</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanHostPassword">Password:</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanChangePassword">Change</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanSetUp">Install Trojan</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateTrojan">Upgrade Trojan</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanCancel">Cancel</sys:String>
|
||||
<sys:String x:Key="TextBlockNaiveProxyTemplateExplanation">Plan: NaiveProxy+TLS+Caddy</sys:String>
|
||||
<sys:String x:Key="ButtonNaiveProxyChangeUser">Change</sys:String>
|
||||
<sys:String x:Key="ButtonNavieSetUp">Install NaiveProxy</sys:String>
|
||||
<sys:String x:Key="ButtonNaiveCancel">Cancel</sys:String>
|
||||
<sys:String x:Key="ButtonProofreadTime">Proofread Time</sys:String>
|
||||
<sys:String x:Key="ButtonClearOccupiedPorts">Release Port 80/443</sys:String>
|
||||
<sys:String x:Key="ButtonTestAndEnableBBR">Turn on BBR</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserHomePage">Home</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserForward">Forward</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserBack">Back</sys:String>
|
||||
<sys:String x:Key="TextBlockWebExplain">Due to well-known reasons, loading is slow at certain times, please be patient</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderTrojanGoTemplates">Trojan-go Templates</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoTLSwebPlan">HTTP/2 transmission, Caddy2 camouflage website, anti-identification, does not support CloudFlare CDN temporarily</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoWebSocketTLSwebPlan">Use WebSocket transmission, Caddy2 camouflage website, anti-identification, support CloudFlare CDN</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterTrojanGo">Parameter</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoDomain">Domain:</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPort">Port: 443</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPassword">Password: </sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPasswordExplain">Use the existing password and paste it directly into the box</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoWebSocketPath">WebSocket Path: </sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplateOK">OK</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplateCancel">Cancel</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderV2RayTemplates">V2Ray Templates</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayHotPlan">Hot Plan</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayTcpProtocol">TCP</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayWebSocketProtocol">WebSocket</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayHttp2Protocol">Http/2</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayMkcpProtocol">mKCP</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayQuicProtocol">QUIC</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterV2Ray">Parameter</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayServerPort">Port: </sys:String>
|
||||
<sys:String x:Key="ButtonV2RayServerPortChange">Change</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayServerPortExplain">TLS encryption, keep port 443</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayUUIDExplain">Use the existing UUID and paste it directly into the box</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicUUID">mKCP/QUIC Key</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpExplain">Enable mKCP key to enhance anti-recognition, Blank to disabled, 4.24.2+ required, V2rayN not support</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayPath">Path: </sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayDomain">Domain: </sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMaskSites">Shield Websites: </sys:String>
|
||||
<sys:String x:Key="TextBoxV2RayMaskSitesTag">Increase the concealment of the agent (can be empty)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsWebExplain">Strong stability, Caddy2 is front-facing, hidden proxy features, it is recognized as https traffic visiting the website, the strongest anti-blocking recognition, domain name is required, CDN support</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2TlsWebExplain">Based on HTTP/2 transmission. Completely implemented in accordance with the HTTP/2 standard, with Caddy2 as the front end, hidden proxy features, H2C protocol forwarding to V2Ray, domain name is required, and CloudFlare CDN is not supported temporarily</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpExplain">Encrypted data transmission will be recognized as unknown tcp traffic</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayTcpHttp">TCP+Http(Disguise)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpHttpExplain">Encrypted transmission of data and http disguise will be recognized as http traffic, but not real http access</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpTlsExplain">Encrypted data transmission, the transmission protocol uses TLS, it will be recognized as TLS traffic, not equivalent to https traffic characteristics (domain name required)</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayTcpTlsSelfSigned">TCP+TLS(Self-signed)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpTlsSelfSignedExplain">Encrypted data transmission, the transmission protocol uses TLS, it will be recognized as TLS traffic, not equivalent to https traffic characteristics (no domain name required)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RaySelfSignedShadowrocketExplain">Shadowrocket (ios) needs to manually turn on the "Allow Insecure" option</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayVlessTcpTlsWebExplain">Lightweight protocol VLESS, occupies less host resources, data TLS encrypted transmission, and Caddy2 is used as a disguised website on the node. Suitable for low-configuration VPS, or multiple people sharing nodes, the server client version requires 4.27+ (domain name required)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketExplain">Data is encrypted for transmission. The transmission protocol uses WebSocket. If TLS is not enabled, it will be recognized as WebSocket traffic.</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsExplain">Data is encrypted for transmission, the transmission protocol uses WebSocket, and TLS is enabled, it will be recognized as TLS traffic. (Domain name required)</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayWebSocketTlsSelfSigned">WebSocket+TLS (Self-signed)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsSelfSignedExplain">Data is encrypted for transmission, the transmission protocol uses WebSocket, and TLS is enabled, it will be recognized as TLS traffic. (No domain name required)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2Explain">Transmission method based on HTTP/2. It is fully implemented in accordance with the HTTP/2 standard and requires a domain name</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayHttp2SelfSigned">HTTP2 (Self-signed)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2SelfSignedExplain">Transmission method based on HTTP/2. It is fully implemented in accordance with the HTTP/2 standard, uses a self-signed certificate, and does not require a domain name</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayMkcpNone">mKCP(No disguise)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpNoneExplain">Data encrypted transmission to increase bandwidth usage and reduce delay, udp protocol, no camouflage, will be recognized as udp traffic</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpSRTPExplain">Same as mKCP (no camouflage), adding a packet disguised as SRTP will be recognized as video call data (such as FaceTime)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpuTPExplain">Same as mKCP (without camouflage), add disguised as uTP data packet, it will be recognized as BT download data</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpWeChatExplain">Same as mKCP (no camouflage), adding data packets disguised as WeChat video calls</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpDTLSExplain">Same as mKCP (no masquerading), adding masquerading as DTLS 1.2 packets</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpWireGuardExplain">Same as mKCP (without camouflage), adding a pretend to be a WireGuard packet. (Not a real WireGuard protocol)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicShadowrocketExplain">Reminder: Shadowrocket currently does not support QUIC transmission mode.</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayQuicNone">QUIC(No disguise)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicNoneExplain">Encrypted data transmission, no pretense will be recognized as udp traffic, produced by Google, advantages: reduced delay, multiplexing, connection migration</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicSRTPExplain">Same as QUIC (no camouflage), adding a packet disguised as SRTP will be recognized as video call data (such as FaceTime)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicuTPExplain">Same as QUIC (no camouflage), adding a packet disguised as uTP, it will be recognized as BT download data</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicWeChatExplain">Same as QUIC (no camouflage), adding data packets disguised as WeChat video calls</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicDTLSExplain">Same as QUIC (no masquerading), adding masquerading as DTLS 1.2 packets</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicWireGuardExplain">Same as QUIC (without camouflage), adding a packet disguised as WireGuard. (Not a real WireGuard protocol)</sys:String>
|
||||
<!--以下为程序内的-->
|
||||
<sys:String x:Key="MessageBoxShow_ErrorHostConnection">The remote host connection information is wrong, please check</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ChooseTemplate">Please select a configuration template first!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_Login">Logging in to the remote host......</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_LoginSuccessful">Host login is successful!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_DetectionRootPermission">Check whether it is running under root privileges...</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorRootPermission">Please log in to the host with an account with root privileges!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_DetectionRoot_OK">Test result: OK!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_TestExistV2Ray">Check whether the system has installed V2ray....</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ExistedV2Ray">V2ray has been installed on the remote host, do you force it to reinstall?</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_InstallationCanceledExit">Installation canceled, exit</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_ForceInstallV2Ray">You have chosen to install V2Ray forcefully!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_NoInstalledV2Ray">Test result: V2Ray is not installed!</sys:String>
|
||||
|
||||
|
||||
<!--<sys:String x:Key="BtnOK">OK</sys:String>
|
||||
<sys:String x:Key="HdNo">No.</sys:String>
|
||||
<sys:String x:Key="HdName">Name</sys:String>
|
||||
<sys:String x:Key="HdGender">Gender</sys:String>
|
||||
<sys:String x:Key="HdDept">Dept</sys:String>
|
||||
<sys:String x:Key="HdEmail">Email</sys:String>
|
||||
<sys:String x:Key="HdTel">Tel</sys:String>
|
||||
<sys:String x:Key="MsgShowTime">Now</sys:String>
|
||||
<sys:String x:Key="BtnOK1">OK</sys:String>
|
||||
<sys:String x:Key="HdNo1">No.</sys:String>
|
||||
<sys:String x:Key="HdName1">Name</sys:String>
|
||||
<sys:String x:Key="HdGender1">Gender</sys:String>
|
||||
<sys:String x:Key="HdDept1">Dept</sys:String>
|
||||
<sys:String x:Key="HdEmail1">Email</sys:String>
|
||||
<sys:String x:Key="HdTel1">Tel</sys:String>
|
||||
<sys:String x:Key="MsgShowTime1">Now</sys:String>-->
|
||||
|
||||
</ResourceDictionary>
|
141
ProxySU/Translations/ProxySU.zh-CN.xaml
Normal file
141
ProxySU/Translations/ProxySU.zh-CN.xaml
Normal file
|
@ -0,0 +1,141 @@
|
|||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ProxySU.Translations"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
||||
<sys:String x:Key="TabItemHeaderAppDeployment">应用布署</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderResourceTools">资源工具</sys:String>
|
||||
<sys:String x:Key="TextBlockHostName">主机:</sys:String>
|
||||
<sys:String x:Key="TextBoxHostNamePrompt">IP或域名(不可为空)</sys:String>
|
||||
<sys:String x:Key="TextBlockHostPart">端口:</sys:String>
|
||||
<sys:String x:Key="TextBlockHostUser">用户名:</sys:String>
|
||||
<sys:String x:Key="TextBlockHostPassword">密码:</sys:String>
|
||||
<sys:String x:Key="TextBlockSetUpProcessing">等待安装布署</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderSysTools">系统工具</sys:String>
|
||||
<sys:String x:Key="ButtonV2RayTemplateConfiguration">V2Ray模板库</sys:String>
|
||||
<sys:String x:Key="ButtonV2RayOneKeyInstall">V2ray一键安装</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateV2ray">升级V2Ray</sys:String>
|
||||
<sys:String x:Key="Button_canel">取消</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplate">Trojan-Go参数设置</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoSetUp">Trojan-Go一键安装</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateTrojanGo">升级Trojan-Go</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoCancel">取消</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterTrojan">参数设置</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanTemplateExplanation">模式:Trojan+TLS+Caddy</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanServerDomain">服务器地址(域名):</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanPort">端口:443</sys:String>
|
||||
<sys:String x:Key="TextBoxDomainPrompt">域名不可为空</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanHostPassword">密码:</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanChangePassword">更新</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanSetUp">Trojan一键安装</sys:String>
|
||||
<sys:String x:Key="ButtonUpdateTrojan">升级Trojan</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanCancel">取消</sys:String>
|
||||
<sys:String x:Key="TextBlockNaiveProxyTemplateExplanation">模式:NaiveProxy+TLS+Caddy</sys:String>
|
||||
<sys:String x:Key="ButtonNaiveProxyChangeUser">随机</sys:String>
|
||||
<sys:String x:Key="ButtonNavieSetUp">NaiveProxy一键安装</sys:String>
|
||||
<sys:String x:Key="ButtonNaiveCancel">取消</sys:String>
|
||||
<sys:String x:Key="ButtonProofreadTime">校对时间</sys:String>
|
||||
<sys:String x:Key="ButtonClearOccupiedPorts">释放80/443端口</sys:String>
|
||||
<sys:String x:Key="ButtonTestAndEnableBBR">启用BBR</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserHomePage">主页</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserForward">前进</sys:String>
|
||||
<sys:String x:Key="ButtonWebBrowserBack">后退</sys:String>
|
||||
<sys:String x:Key="TextBlockWebExplain">由于众所周知的原因,在某些时候,加载缓慢,请耐心等待一下</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderTrojanGoTemplates">Trojan-go 模板库</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoTLSwebPlan">http/2传输,Caddy2伪装网站,抗识别,暂不支持CloudFlare的CDN</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoWebSocketTLSwebPlan">使用WebSocket传输,Caddy2伪装网站,抗识别,支持CloudFlare的CDN</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterTrojanGo">参数设置</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoDomain">域名:</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPort">端口:443</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPassword">密码:</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoPasswordExplain">使用已有密码,直接粘贴到框中</sys:String>
|
||||
<sys:String x:Key="TextBlockTrojanGoWebSocketPath">WebSocket路径:</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplateOK">确定</sys:String>
|
||||
<sys:String x:Key="ButtonTrojanGoTemplateCancel">取消</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderV2RayTemplates">V2Ray 模板库</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayHotPlan">热门方案</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayTcpProtocol">TCP传输协议</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayWebSocketProtocol">WebSocket传输协议</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayHttp2Protocol">Http/2传输协议</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayMkcpProtocol">mKCP传输协议</sys:String>
|
||||
<sys:String x:Key="TabItemHeaderV2RayQuicProtocol">QUIC传输协议</sys:String>
|
||||
<sys:String x:Key="GroupBoxHeaderParameterV2Ray">参数设置</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayServerPort">服务器端口:</sys:String>
|
||||
<sys:String x:Key="ButtonV2RayServerPortChange">随机选择</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayServerPortExplain">若使用TLS加密,请保持默认的443端口</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayUUIDExplain">使用已有UUID,直接粘贴到框中</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicUUID">mKCP/QUIC密钥</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpExplain">启用mKCP密钥,可增强抗识别,留空则禁用,要求版本4.24.2以上,V2rayN暂不支持</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayPath">路径:</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayDomain">域名:</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMaskSites">伪装网站:</sys:String>
|
||||
<sys:String x:Key="TextBoxV2RayMaskSitesTag">设置此项可增加代理的隐蔽(可为空)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsWebExplain">稳定性强,Caddy2做前置,隐藏代理特征,被识别为访问网站的https流量,抗封锁识别最强,需要域名,支持CDN</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2TlsWebExplain">基于 HTTP/2 传输。完整按 HTTP/2 标准实现,Caddy2做前置,隐藏代理特征,H2C协议转发到V2Ray,需要域名,暂不支持CloudFlare的CDN</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpExplain">数据加密传输,会被识别为未知的tcp流量</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayTcpHttp">TCP+Http伪装</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpHttpExplain">数据加密传输,并做http伪装,会被识别为http流量,但并不是真正的http访问</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpTlsExplain">数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (需域名)</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayTcpTlsSelfSigned">TCP+TLS(自签证书)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayTcpTlsSelfSignedExplain">数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (无需域名)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RaySelfSignedShadowrocketExplain">Shadowrocket (ios)需要手动打开“允许不安全”选项</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayVlessTcpTlsWebExplain">轻量协议VLESS,占用更少主机资源,数据TLS加密传输,用Caddy2在节点上做伪装网站。适合配置低的VPS,或多人共用节点,服务端客户端版本要求4.27+ (需域名)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketExplain">数据加密传输,传输协议使用WebSocket,未启用TLS,将被识别为WebSocket流量。</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsExplain">数据加密传输,传输协议使用WebSocket,启用TLS,将被识别为TLS流量。(需要域名)</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayWebSocketTlsSelfSigned">WebSocket+TLS(自签证书)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayWebSocketTlsSelfSignedExplain">数据加密传输,传输协议使用WebSocket,启用TLS,将被识别为TLS流量。(无需域名)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2Explain">基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现,需要域名</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayHttp2SelfSigned">HTTP2(自签证书)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayHttp2SelfSignedExplain">基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现,使用自签名证书,不需要域名</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayMkcpNone">mKCP(无伪装)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpNoneExplain">数据加密传输,以增加带宽占用,减少延迟,udp协议,无伪装,会被识别为udp流量</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpSRTPExplain">同mKCP(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpuTPExplain">同mKCP(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpWeChatExplain">同mKCP(无伪装),增加伪装成微信视频通话的数据包</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpDTLSExplain">同mKCP(无伪装),增加伪装成 DTLS 1.2 数据包</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayMkcpWireGuardExplain">同mKCP(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicShadowrocketExplain">提醒:Shadowrocket目前暂不支持QUIC的传输模式。</sys:String>
|
||||
<sys:String x:Key="RadioButtonV2RayQuicNone">QUIC(无伪装)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicNoneExplain">数据加密传输,无伪装会被识别为udp流量,谷歌出品,优点:减少延迟、多路复用、连接迁移</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicSRTPExplain">同QUIC(无伪装),增加伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicuTPExplain">同QUIC(无伪装),增加伪装成 uTP 数据包,会被识别为 BT 下载数据</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicWeChatExplain">同QUIC(无伪装),增加伪装成微信视频通话的数据包</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicDTLSExplain">同QUIC(无伪装),增加伪装成 DTLS 1.2 数据包</sys:String>
|
||||
<sys:String x:Key="TextBlockV2RayQuicWireGuardExplain">同QUIC(无伪装),增加伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)</sys:String>
|
||||
<!--以下为程序内的-->
|
||||
<sys:String x:Key="MessageBoxShow_ErrorHostPortUserNotEmpty">主机地址、主机端口、用户名为必填项,不能为空!!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorHostPasswordNotEmpty">登录密码为必填项,不能为空!!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorHostKeyNotEmpty">密钥文件为必填项,不能为空!!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorProxyAddressPortNotEmpty">如果选择了代理,则代理地址与端口不能为空!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorProxyUserPasswordNotEmpty">如果代理需要登录,则代理登录的用户名与密码不能为空!</sys:String>
|
||||
|
||||
<sys:String x:Key="MessageBoxShow_ErrorHostConnection">远程主机连接信息有误,请检查!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ChooseTemplate">请先选择配置模板!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_Login">正在登录远程主机......</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_LoginSuccessful">主机登录成功!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_DetectionRootPermission">检测是否运行在root权限下...</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ErrorRootPermission">请使用具有root权限的账户登录主机!!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_DetectionRoot_OK">检测结果:OK!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_TestExistV2Ray">检测系统是否已经安装V2ray......</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_ExistedV2Ray">远程主机已安装V2ray,是否强制重新安装?</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_InstallationCanceledExit">安装取消,退出</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_ForceInstallV2Ray">已选择强制安装V2Ray!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_NoInstalledV2Ray">检测结果:未安装V2Ray!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_CheckSystemRequirements">检测系统是否符合安装要求......</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_CurrentKernelVersion">当前系统内核版本为</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_RequiredKernelVersionExplain">,V2ray要求内核为2.6.23及以上。请升级内核再安装!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_KernelVersionNotMatch">系统内核版本不符合要求,安装失败!!</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_MissingSystemComponents">系统缺乏必要的安装组件如:apt||dnf||yum||zypper||Syetemd,主机系统推荐使用:CentOS 7/8,Debian 8/9/10,Ubuntu 16.04及以上版本</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_MissingSystemComponents">系统环境不满足要求,安装失败!!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_SystemRequirementsOK">检测结果:OK!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_EnableSELinux">检测到系统启用SELinux,且工作在严格模式下,需改为宽松模式!修改中......</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_SELinuxModifyOK">修改完毕!</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_ProofreadingTime">校对时间......</sys:String>
|
||||
<sys:String x:Key="MessageBoxShow_TimeError">本地时间与远程主机时间相差超过限制(90秒),请先用 '系统工具-->时间校对' 校对时间后再设置</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_TimeError">时间较对失败......</sys:String>
|
||||
<sys:String x:Key="DisplayInstallInfo_TimeOK">时间差符合要求,OK!</sys:String>
|
||||
|
||||
|
||||
|
||||
<sys:String x:Key="HdTel1">Tel</sys:String>
|
||||
<sys:String x:Key="MsgShowTime1">Now</sys:String>
|
||||
</ResourceDictionary>
|
|
@ -39,7 +39,7 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Header="模板库" Grid.Row="0">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderTrojanGoTemplates}" Grid.Row="0">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.6*"></ColumnDefinition>
|
||||
|
@ -54,18 +54,18 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonTrojanGoTLS2Web" Content="Trojan-Go+TLS+Web" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTrojanTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="http/2传输,Caddy2伪装网站,抗识别,暂不支持CloudFlare的CDN" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanGoTLSwebPlan}" TextWrapping="Wrap" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTrojanGoWebSocketTLS2Web" Content="Trojan-Go+WebSocket+TLS+Web" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTrojanGoWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="使用WebSocket传输,Caddy2伪装网站,抗识别,支持CloudFlare的CDN" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="2"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanGoWebSocketTLSwebPlan}" TextWrapping="Wrap" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="2"></TextBlock>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="其他设置" Grid.Row="1">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderParameterTrojanGo}" Grid.Row="1">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.3*"></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.4*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.4*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.3*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.5*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
|
@ -76,22 +76,22 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock x:Name="TextBlockDomain" Text="域名:" Grid.Column="0" Grid.Row="0" Margin="5"></TextBlock>
|
||||
<TextBox x:Name="TextBoxDomain" Style="{StaticResource TitleText}" Tag="不可为空" Grid.Column="1" Grid.Row="0" Margin="5"></TextBox>
|
||||
<TextBlock Text="端口:443" Grid.Column="2" Grid.Row="0" Margin="5"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockDomain" Text="{DynamicResource TextBlockTrojanGoDomain}" Grid.Column="0" Grid.Row="0" Margin="5" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxDomain" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxDomainPrompt}" Grid.Column="1" Grid.Row="0" Margin="5"></TextBox>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanGoPort}" Grid.Column="2" Grid.Row="0" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
|
||||
|
||||
<!--<Button x:Name="ButtonDomain" Content="检测" Visibility="Collapsed" Grid.Column="2" Grid.Row="0" Margin="2" Click="ButtonDomain_Click"></Button>-->
|
||||
<!--<TextBlock x:Name="TextBlockServerListenPort" Text="服务端口:" Grid.Column="0" Grid.Row="1"></TextBlock>
|
||||
<TextBox x:Name="TextBoxServerListenPort" Grid.Column="1" Grid.Row="1" Margin="3"></TextBox>
|
||||
<Button x:Name="ButtonServerListenPort" Content="随机选择" Grid.Column="2" Grid.Row="1" Margin="2" Click="ButtonServerListenPort_Click"></Button>-->
|
||||
|
||||
<TextBlock x:Name="TextBlockNewUUID" Text="密码:" Grid.Column="0" Grid.Row="1" ></TextBlock>
|
||||
<TextBlock x:Name="TextBlockNewUUID" Text="{DynamicResource TextBlockTrojanGoPassword}" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center" ></TextBlock>
|
||||
<TextBox x:Name="TextBoxNewUUID" Grid.Column="1" Grid.Row="1" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonNewUUID" Content="更新" Grid.Column="2" Grid.Row="1" Margin="3" Click="ButtonNewUUID_Click"></Button>
|
||||
<TextBlock Text="使用已有密码,直接粘贴到框中" TextWrapping="Wrap" Grid.Column="3" Grid.Row="1"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockPath" Text="WebSocket路径:" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2"></TextBlock>
|
||||
<Button x:Name="ButtonNewUUID" Content="{DynamicResource ButtonTrojanChangePassword}" Grid.Column="2" Grid.Row="1" Margin="3" Click="ButtonNewUUID_Click"></Button>
|
||||
<TextBlock Text="{DynamicResource TextBlockTrojanGoPasswordExplain}" TextWrapping="Wrap" Grid.Column="3" Grid.Row="1"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockPath" Text="{DynamicResource TextBlockTrojanGoWebSocketPath}" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxPath" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="1" Margin="5"></TextBox>
|
||||
<Button x:Name="ButtonPath" Content="随机" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonPath_Click"></Button>
|
||||
<Button x:Name="ButtonPath" Content="{DynamicResource ButtonNaiveProxyChangeUser}" Grid.Column="2" Grid.Row="2" Margin="2" Click="ButtonPath_Click"></Button>
|
||||
|
||||
<TextBlock x:Name="TextBlockMaskSites" Text="伪装网站:" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Visibility="Hidden"></TextBlock>
|
||||
<TextBox x:Name="TextBoxMaskSites" Style="{StaticResource TitleText}" Tag="设置此项可增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="3" Margin="5" Visibility="Hidden"></TextBox>
|
||||
|
@ -103,8 +103,8 @@
|
|||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button x:Name="ButtondDecide" Content="确定" Grid.Column="1" Grid.Row="6" Margin="3" Click="ButtondDecide_Click"></Button>
|
||||
<Button x:Name="ButtondCancel" Content="取消" Grid.Column="3" Grid.Row="6" Margin="3" Click="ButtondCancel_Click"></Button>
|
||||
<Button x:Name="ButtondDecide" Content="{DynamicResource ButtonTrojanGoTemplateOK}" Grid.Column="1" Grid.Row="6" Margin="3" Click="ButtondDecide_Click"></Button>
|
||||
<Button x:Name="ButtondCancel" Content="{DynamicResource ButtonTrojanGoTemplateCancel}" Grid.Column="3" Grid.Row="6" Margin="3" Click="ButtondCancel_Click"></Button>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
|
|
@ -39,35 +39,35 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="模板库" Grid.Row="0" Grid.RowSpan="3">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderV2RayTemplates}" Grid.Row="0" Grid.RowSpan="3">
|
||||
<Grid>
|
||||
<TabControl x:Name="TabControlTemplate">
|
||||
<TabItem Header="热门方案" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayHotPlan}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.8*"></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.3*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="1.2*"></RowDefinition>
|
||||
<RowDefinition Height="1.2*"></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2WebHot" Content="WebSocket+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="稳定性强,Caddy2做前置,隐藏代理特征,被识别为访问网站的https流量,抗封锁识别最强,需要域名,支持CDN" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2WebHot" Content="HTTP2+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 传输。完整按 HTTP/2 标准实现,Caddy2做前置,隐藏代理特征,H2C协议转发到V2Ray,需要域名,暂不支持CloudFlare的CDN" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2WebHot" Content="WebSocket+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonWebSocketTLS2Web_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayWebSocketTlsWebExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2WebHot" Content="HTTP2+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonWebSocketTLS2Web_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayHttp2TlsWebExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="TCP传输协议" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayTcpProtocol}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -81,28 +81,28 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="1.3*"></RowDefinition>
|
||||
<RowDefinition Height="1.7*"></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonTCP" Content="TCP" GroupName="TemplateGroup" 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伪装" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCP2TLS_Checked" />
|
||||
<TextBlock Text="数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (需域名)" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTcpTLS2SelfSigned" Content="TCP+TLS((自签证书)" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCP2TLSnoDomain_Checked" />
|
||||
<TextBlock Text="数据加密传输,传输协议使用TLS,会被识别为TLS流量,不等同于https流量特征 (无需域名)" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
<TextBlock Text="Shadowrocket (ios)需要手动打开“允许不安全”选项" TextWrapping="Wrap" Grid.Column="4" Grid.Row="4" ></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonVlessTcpTlsWeb" Content="VLESS+TCP+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP2TLS_Checked" ></RadioButton>
|
||||
<TextBlock Text="轻量协议VLESS,占用更少主机资源,数据TLS加密传输,用Caddy2在节点上做伪装网站。适合配置低的VPS,或多人共用节点,服务端客户端版本要求4.27+ (需域名)," TextWrapping="Wrap" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCP" Content="TCP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked" VerticalAlignment="Center" HorizontalAlignment="Left"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayTcpExplain}" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCPhttp" Content="{DynamicResource RadioButtonV2RayTcpHttp}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonTCPhttp_Checked" VerticalAlignment="Center" HorizontalAlignment="Left" ></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayTcpHttpExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTCP2TLS" Content="TCP+TLS" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonTCP2TLS_Checked" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayTcpTlsExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonTcpTLS2SelfSigned" Content="{DynamicResource RadioButtonV2RayTcpTlsSelfSigned}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonTCP2TLSnoDomain_Checked" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayTcpTlsSelfSignedExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RaySelfSignedShadowrocketExplain}" TextWrapping="Wrap" Grid.Column="4" Grid.Row="4" HorizontalAlignment="Left" VerticalAlignment="Center" ></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonVlessTcpTlsWeb" Content="VLESS+TCP+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonTCP2TLS_Checked" VerticalAlignment="Center" HorizontalAlignment="Left" ></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayVlessTcpTlsWebExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="WebSocket传输协议" Width="150" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayWebSocketProtocol}" Width="150" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1.2*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="1.5*"></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -112,27 +112,27 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="1.3*"></RowDefinition>
|
||||
<RowDefinition Height="1.3*"></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonWebSocket" Content="WebSocket" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked"/>
|
||||
<TextBlock Text="数据加密传输,传输协议使用WebSocket,未启用TLS,将被识别为WebSocket流量。" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS" Content="WebSocket+TLS" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonHTTP2_Checked"/>
|
||||
<TextBlock Text="数据加密传输,传输协议使用WebSocket,启用TLS,将被识别为TLS流量。(需要域名)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="稳定性强,Caddy2做前置,隐藏代理特征,被识别为访问网站的https流量,抗封锁识别最强,需要域名,支持CDN" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLSselfSigned" Content="WebSocket+TLS(自签证书)" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonWebSocketTLSselfSigned_Checked"></RadioButton>
|
||||
<TextBlock Text="数据加密传输,传输协议使用WebSocket,启用TLS,将被识别为TLS流量。(无需域名)" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3"></TextBlock>
|
||||
<TextBlock Text="Shadowrocket (ios)需要手动打开“允许不安全”选项" TextWrapping="Wrap" Grid.Column="4" Grid.Row="4" ></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocket" Content="WebSocket" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonTCP_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayWebSocketExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS" Content="WebSocket+TLS" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonHTTP2_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayWebSocketTlsExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLS2Web" Content="WebSocket+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonWebSocketTLS2Web_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayWebSocketTlsWebExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonWebSocketTLSselfSigned" Content="{DynamicResource RadioButtonV2RayWebSocketTlsSelfSigned}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonWebSocketTLSselfSigned_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayWebSocketTlsSelfSignedExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RaySelfSignedShadowrocketExplain}" TextWrapping="Wrap" Grid.Column="4" Grid.Row="4" HorizontalAlignment="Left" VerticalAlignment="Center" ></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Http/2传输协议" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayHttp2Protocol}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition Width="1*"></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -141,24 +141,24 @@
|
|||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="1.8*"></RowDefinition>
|
||||
<RowDefinition Height="1.5*"></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonHTTP2_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现,需要域名" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2Web" Content="HTTP2+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonWebSocketTLS2Web_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 传输。完整按 HTTP/2 标准实现,Caddy2做前置,隐藏代理特征,H2C协议转发到V2Ray,需要域名,暂不支持CloudFlare的CDN" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2selfSigned" Content="HTTP2(自签证书)" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonWebSocketTLSselfSigned_Checked"></RadioButton>
|
||||
<TextBlock Text="基于 HTTP/2 的传输方式。它完整按照 HTTP/2 标准实现,使用自签名证书,不需要域名" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3"></TextBlock>
|
||||
<TextBlock Text="Shadowrocket (ios)需要手动打开“允许不安全”选项" TextWrapping="Wrap" Grid.Column="4" Grid.Row="3" ></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2" Content="HTTP2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonHTTP2_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayHttp2Explain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2Web" Content="HTTP2+TLS+Web" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonWebSocketTLS2Web_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayHttp2TlsWebExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonHTTP2selfSigned" Content="{DynamicResource RadioButtonV2RayHttp2SelfSigned}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonWebSocketTLSselfSigned_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayHttp2SelfSignedExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RaySelfSignedShadowrocketExplain}" TextWrapping="Wrap" Grid.Column="4" Grid.Row="3" ></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Header="mKCP传输协议" Width="110" Height="30">
|
||||
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayMkcpProtocol}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -177,22 +177,22 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<RadioButton x:Name="RadioButtonMkcpNone" Content="{DynamicResource RadioButtonV2RayMkcpNone}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpNoneExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2SRTP" Content="mKCP+SRTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpSRTPExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCPuTP" Content="mKCP+uTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpuTPExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WechatVideo" Content="mKCP+WechatVideo" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpWeChatExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2DTLS" Content="mKCP+DTLS 1.2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpDTLSExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButton2mKCP2WireGuard" Content="mKCP+WireGuard" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="6" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayMkcpWireGuardExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="QUIC传输协议" Width="110" Height="30">
|
||||
<TabItem Header="{DynamicResource TabItemHeaderV2RayQuicProtocol}" Width="110" Height="30">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -211,26 +211,26 @@
|
|||
<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(无伪装)" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" 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" GroupName="TemplateGroup" 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>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicShadowrocketExplain}" Foreground="Red" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="5" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicNone" Content="{DynamicResource RadioButtonV2RayQuicNone}" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="1" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicNoneExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicSRTP" Content="QUIC+SRTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="2" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicSRTPExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuic2uTP" Content="QUIC+uTP" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="3" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicuTPExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWechatVideo" Content="QUIC+WechatVideo" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="4" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicWeChatExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicDTLS" Content="QUIC+DTLS 1.2" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="5" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicDTLSExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
<RadioButton x:Name="RadioButtonQuicWireGuard" Content="QUIC+WireGuard" GroupName="TemplateGroup" Grid.Column="0" Grid.Row="6" Checked="RadioButtonQuicNone_Checked" HorizontalAlignment="Left" VerticalAlignment="Center"></RadioButton>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayQuicWireGuardExplain}" TextWrapping="Wrap" Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="其他设置" Grid.Row="3" Grid.RowSpan="2">
|
||||
<GroupBox Header="{DynamicResource GroupBoxHeaderParameterV2Ray}" Grid.Row="3" Grid.RowSpan="2">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
|
@ -251,31 +251,31 @@
|
|||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock x:Name="TextBlockServerListenPort" Text="服务端口:" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="1"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockServerListenPort" Text="{DynamicResource TextBlockV2RayServerPort}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<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>
|
||||
<TextBlock Text="若使用TLS加密,请保持默认的443端口" Grid.Column="5" Grid.ColumnSpan="2" Grid.Row="0" Margin="3"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockNewUUID" Text="UUID:" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="1"></TextBlock>
|
||||
<Button x:Name="ButtonServerListenPort" Content="{DynamicResource ButtonV2RayServerPortChange}" Grid.Column="4" Grid.Row="0" Margin="2" Click="ButtonServerListenPort_Click"></Button>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayServerPortExplain}" Grid.Column="5" Grid.ColumnSpan="2" Grid.Row="0" Margin="3"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockNewUUID" Text="UUID:" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<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>
|
||||
<TextBlock Text="使用已有UUID,直接粘贴到框中" TextWrapping="Wrap" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2" Margin="0"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockQuicUUID" Text="mKCP/QUIC密钥" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="1"></TextBlock>
|
||||
<Button x:Name="ButtonNewUUID" Content="{DynamicResource ButtonTrojanChangePassword}" Grid.Column="4" Grid.Row="1" Margin="2" Click="ButtonNewUUID_Click"></Button>
|
||||
<TextBlock Text="{DynamicResource TextBlockV2RayUUIDExplain}" TextWrapping="Wrap" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2" Margin="0"></TextBlock>
|
||||
<TextBlock x:Name="TextBlockQuicUUID" Text="{DynamicResource TextBlockV2RayQuicUUID}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<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>
|
||||
<TextBlock x:Name="TextBlockMkcpUUID" Text="启用mKCP密钥,可增强抗识别,留空则禁用,要求版本4.24.2以上,V2rayN暂不支持" TextWrapping="Wrap" Grid.Column="5" Grid.Row="2" Grid.ColumnSpan="2"></TextBlock>
|
||||
<Button x:Name="ButtonQuicUUID" Content="{DynamicResource ButtonTrojanChangePassword}" Grid.Column="4" Grid.Row="2" Margin="2" Click="ButtonQuicUUID_Click"></Button>
|
||||
<TextBlock x:Name="TextBlockMkcpUUID" Text="{DynamicResource TextBlockV2RayMkcpExplain}" 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>
|
||||
<TextBlock x:Name="TextBlockPath" Text="{DynamicResource TextBlockV2RayPath}" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<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>
|
||||
<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>
|
||||
<Button x:Name="ButtonPath" Content="{DynamicResource ButtonNaiveProxyChangeUser}" Grid.Column="4" Grid.Row="3" Margin="2" Click="ButtonPath_Click"></Button>
|
||||
<TextBlock x:Name="TextBlockDomain" Text="{DynamicResource TextBlockV2RayDomain}" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="1" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox x:Name="TextBoxDomain" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxDomainPrompt}" 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>
|
||||
<TextBlock x:Name="TextBlockMaskSites" Text="伪装网站:" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="1" Visibility="Hidden"></TextBlock>
|
||||
<TextBox x:Name="TextBoxMaskSites" Style="{StaticResource TitleText}" Tag="设置此项可增加代理的隐蔽(可为空)" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" Margin="3" Visibility="Hidden"></TextBox>
|
||||
<TextBlock x:Name="TextBlockMaskSites" Text="{DynamicResource TextBlockV2RayMaskSites}" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="1" Visibility="Hidden"></TextBlock>
|
||||
<TextBox x:Name="TextBoxMaskSites" Style="{StaticResource TitleText}" Tag="{DynamicResource TextBoxV2RayMaskSitesTag}" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="3" Margin="3" Visibility="Hidden"></TextBox>
|
||||
|
||||
|
||||
<Button x:Name="ButtondDecide" Content="确定" Grid.Column="1" Grid.Row="6" Margin="0" Click="ButtondDecide_Click"></Button>
|
||||
<Button x:Name="ButtondCancel" Content="取消" Grid.Column="3" Grid.Row="6" Margin="0" Click="ButtondCancel_Click"></Button>
|
||||
<Button x:Name="ButtondDecide" Content="{DynamicResource ButtonTrojanGoTemplateOK}" Grid.Column="1" Grid.Row="6" Margin="0" Click="ButtondDecide_Click"></Button>
|
||||
<Button x:Name="ButtondCancel" Content="{DynamicResource ButtonTrojanGoTemplateCancel}" Grid.Column="3" Grid.Row="6" Margin="0" Click="ButtondCancel_Click"></Button>
|
||||
<!--<Button x:Name="ButtonTestChecked" Content="测试选中状态" Grid.Column="5" Grid.Row="6" Click="ButtonTestChecked_Click"></Button>-->
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
|
Binary file not shown.
Loading…
Add table
Reference in a new issue