mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-28 08:06:07 +03:00
Compare commits
2 Commits
89649d136f
...
db6a399ca9
Author | SHA1 | Date | |
---|---|---|---|
|
db6a399ca9 | ||
|
1110f8291e |
@ -9,6 +9,10 @@ namespace ProxySuper.Core.Models.Projects
|
|||||||
{
|
{
|
||||||
public class XraySettings : V2raySettings
|
public class XraySettings : V2raySettings
|
||||||
{
|
{
|
||||||
|
public static List<string> UTLSList = new List<string> { "", "chrome", "firefox", "safari", "randomized" };
|
||||||
|
|
||||||
|
public string UTLS { get; set; } = UTLSList[1];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// vless xtls shareLink
|
/// vless xtls shareLink
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -87,6 +87,19 @@ namespace ProxySuper.Core.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<string> UTLSList { get => XraySettings.UTLSList; }
|
||||||
|
|
||||||
|
public string UTLS
|
||||||
|
{
|
||||||
|
get => Settings.UTLS;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Settings.UTLS = value;
|
||||||
|
RaisePropertyChanged(nameof(UTLS));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public int VLESS_KCP_Port
|
public int VLESS_KCP_Port
|
||||||
{
|
{
|
||||||
get => Settings.VLESS_KCP_Port;
|
get => Settings.VLESS_KCP_Port;
|
||||||
|
@ -11,331 +11,332 @@
|
|||||||
<convert:VisibleConverter x:Key="VisibleConverter" />
|
<convert:VisibleConverter x:Key="VisibleConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
|
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Vertical" Margin="10,0,20,20">
|
||||||
<StackPanel Width="220">
|
<!--节点类型-->
|
||||||
<!--XTLS-->
|
<GroupBox Padding="10" Header="{DynamicResource EditorProxyType}">
|
||||||
<CheckBox Margin="0,10,0,0"
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<WrapPanel Orientation="Vertical">
|
||||||
|
<!--XTLS-->
|
||||||
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_VLESS_TCP_XTLS}">
|
IsChecked="{Binding Path=Checked_VLESS_TCP_XTLS}">
|
||||||
<Label Content="{DynamicResource VlessXtlsDesc}" FontSize="13" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessXtlsDesc}" FontSize="12" Foreground="LimeGreen" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--TCP-->
|
<!--TCP-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_VLESS_TCP}">
|
IsChecked="{Binding Path=Checked_VLESS_TCP}">
|
||||||
<Label Content="{DynamicResource VlessTcpDesc}" FontSize="13" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessTcpDesc}" FontSize="12" Foreground="LimeGreen" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--WebSocket-->
|
<!--WebSocket-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_VLESS_WS}">
|
IsChecked="{Binding Path=Checked_VLESS_WS}">
|
||||||
<Label Content="{DynamicResource VlessWsDesc}" FontSize="13" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessWsDesc}" FontSize="12" Foreground="LimeGreen" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--mKCP-->
|
<!--mKCP-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
Foreground="LimeGreen"
|
Foreground="LimeGreen"
|
||||||
IsChecked="{Binding Path=Checked_VLESS_KCP}">
|
IsChecked="{Binding Path=Checked_VLESS_KCP}">
|
||||||
<Label Content="{DynamicResource VlessKcpDesc}" FontSize="13" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessKcpDesc}" FontSize="12" Foreground="LimeGreen" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--gRPC-->
|
<!--gRPC-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
Foreground="LimeGreen"
|
Foreground="LimeGreen"
|
||||||
IsChecked="{Binding Path=Checked_VLESS_gRPC}">
|
IsChecked="{Binding Path=Checked_VLESS_gRPC}">
|
||||||
<Label Content="{DynamicResource VlessRpcDesc}" FontSize="13" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessRpcDesc}" FontSize="12" Foreground="LimeGreen" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
</WrapPanel>
|
||||||
|
|
||||||
<!--TCP-->
|
<WrapPanel Orientation="Vertical">
|
||||||
<!--<CheckBox Content="VMESS over TCP with TLS
不推荐"
|
<!--WebSocket-->
|
||||||
Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
FontSize="13"
|
|
||||||
Style="{StaticResource MahApps.Styles.CheckBox}"
|
|
||||||
IsChecked="{Binding Path=Checked_VMESS_TCP}" />-->
|
|
||||||
|
|
||||||
<!--WebSocket-->
|
|
||||||
<CheckBox Margin="0,15,0,0"
|
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_VMESS_WS}">
|
IsChecked="{Binding Path=Checked_VMESS_WS}">
|
||||||
<Label Content="{DynamicResource VmessWsDesc}" FontSize="13" Foreground="Blue" />
|
<Label Content="{DynamicResource VmessWsDesc}" FontSize="12" Foreground="Blue" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--mKCP-->
|
<!--mKCP-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_VMESS_KCP}">
|
IsChecked="{Binding Path=Checked_VMESS_KCP}">
|
||||||
<Label Foreground="Blue" FontSize="13" Content="{DynamicResource VmessKcpDesc}" />
|
<Label Foreground="Blue" FontSize="12" Content="{DynamicResource VmessKcpDesc}" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
</WrapPanel>
|
||||||
|
|
||||||
<!--ss-->
|
<WrapPanel Orientation="Vertical">
|
||||||
<CheckBox Margin="0,15,0,0"
|
<!--ss-->
|
||||||
|
<CheckBox Width="150"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=CheckedShadowSocks}">
|
IsChecked="{Binding Path=CheckedShadowSocks}">
|
||||||
<Label Content="{DynamicResource SSDesc}" FontSize="13" Foreground="Fuchsia" />
|
<Label Content="{DynamicResource SSDesc}" FontSize="12" Foreground="Fuchsia" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
<!--Trojan-->
|
<!--Trojan-->
|
||||||
<CheckBox Margin="0,15,0,0"
|
<CheckBox Width="150"
|
||||||
Foreground="CadetBlue"
|
Foreground="CadetBlue"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
IsChecked="{Binding Path=Checked_Trojan_TCP}">
|
IsChecked="{Binding Path=Checked_Trojan_TCP}">
|
||||||
<Label Content="{DynamicResource TrojanDesc}" FontSize="13" Foreground="CadetBlue" />
|
<Label Content="{DynamicResource TrojanDesc}" FontSize="12" Foreground="CadetBlue" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
|
|
||||||
</StackPanel>
|
</WrapPanel>
|
||||||
|
</StackPanel>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
<!--************************** 参数 **************************-->
|
<!--参数设置-->
|
||||||
|
<GroupBox Padding="10" Margin="0,10,0,0" Header="{DynamicResource EditorProxyParams}">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
|
<!--Domain-->
|
||||||
<!--Domain-->
|
<StackPanel Margin="0,15,0,0"
|
||||||
<StackPanel Margin="30,15,0,0"
|
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource XrayDomain}" Width="120" />
|
<Label Content="{DynamicResource XrayDomain}" Width="120" />
|
||||||
<TextBox Text="{Binding Path=Domain}" Width="200" />
|
<TextBox Text="{Binding Path=Domain}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--UUID-->
|
<!--UUID-->
|
||||||
<StackPanel Margin="30,10,0,0" Orientation="Horizontal">
|
<StackPanel Margin="0,10,0,0" Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource XrayUUID}" Width="120" />
|
<Label Content="{DynamicResource XrayUUID}" Width="120" />
|
||||||
|
|
||||||
<TextBox Text="{Binding Path=UUID}"
|
<TextBox Text="{Binding Path=UUID}"
|
||||||
Width="200" />
|
Width="260" />
|
||||||
|
|
||||||
<Button Margin="5,0,0,0"
|
<Button Margin="5,0,0,0"
|
||||||
Padding="12,3"
|
Padding="12,3"
|
||||||
Command="{Binding Path=RandomUuid}"
|
Command="{Binding Path=RandomUuid}"
|
||||||
Content="{DynamicResource Random}" />
|
Content="{DynamicResource Random}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--xray prot-->
|
<!--xray prot-->
|
||||||
<StackPanel Margin="30,15,0,0" Orientation="Horizontal">
|
<StackPanel Margin="0,15,0,0" Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource XrayPort}" Foreground="Gray" Width="120" />
|
<Label Content="{DynamicResource XrayPort}" Width="120" />
|
||||||
<TextBox Text="{Binding Path=Port}" Width="120" />
|
<TextBox Text="{Binding Path=Port}" Width="120" />
|
||||||
<Label Content="{DynamicResource XrayPortDefault}" Foreground="Red" />
|
<Label Content="{DynamicResource XrayPortDefault}" Foreground="Red" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<Expander ExpandDirection="Down" Margin="30,10,0,0">
|
<!--xray utls-->
|
||||||
<Expander.Header>
|
<StackPanel Margin="0,15,0,0"
|
||||||
<TextBlock Text="更多参数" FontWeight="Bold" />
|
Orientation="Horizontal">
|
||||||
</Expander.Header>
|
<Label Content="uTLS" Width="120" VerticalAlignment="Bottom"/>
|
||||||
<Expander.Content>
|
<ComboBox Width="260"
|
||||||
<StackPanel>
|
VerticalAlignment="Bottom"
|
||||||
<StackPanel Margin="0,15,0,0" Orientation="Horizontal">
|
ItemsSource="{Binding Path=UTLSList}"
|
||||||
<Label Content="{DynamicResource XrayWithTLS}" Width="120" />
|
SelectedValue="{Binding UTLS,Mode=TwoWay}">
|
||||||
<CheckBox IsChecked="{Binding Path=WithTLS}"
|
</ComboBox>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!--more params-->
|
||||||
|
<Expander ExpandDirection="Down" Margin="0,10,0,0">
|
||||||
|
<Expander.Header>
|
||||||
|
<TextBlock Text="更多参数" FontWeight="Bold" />
|
||||||
|
</Expander.Header>
|
||||||
|
|
||||||
|
<Expander.Content>
|
||||||
|
<StackPanel>
|
||||||
|
<StackPanel Margin="0,15,0,0" Orientation="Horizontal">
|
||||||
|
<Label Content="{DynamicResource XrayWithTLS}" Width="120" />
|
||||||
|
<CheckBox IsChecked="{Binding Path=WithTLS}"
|
||||||
Content="{DynamicResource XrayWithTLSDesc}"
|
Content="{DynamicResource XrayWithTLSDesc}"
|
||||||
VerticalContentAlignment="Center"
|
VerticalContentAlignment="Center"
|
||||||
VerticalAlignment="Center" />
|
VerticalAlignment="Center" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--Mask Domain-->
|
<!--Mask Domain-->
|
||||||
<StackPanel Margin="0,15,0,0" Orientation="Horizontal">
|
<StackPanel Margin="0,15,0,0" Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource XrayMarkDomain}" Width="120" />
|
<Label Content="{DynamicResource XrayMarkDomain}" Width="120" />
|
||||||
<TextBox Text="{Binding Path=MaskDomain}" Width="200" />
|
<TextBox Text="{Binding Path=MaskDomain}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--WebSocket Path-->
|
<!--WebSocket Path-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_WS,
|
Binding Path=Checked_VLESS_WS,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VlessWsPath}" Foreground="LimeGreen" Width="120" />
|
<Label Content="{DynamicResource VlessWsPath}" Foreground="LimeGreen" Width="120" />
|
||||||
<TextBox Text="{Binding Path=VLESS_WS_Path}" Width="200" />
|
<TextBox Text="{Binding Path=VLESS_WS_Path}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--seed-->
|
<!--seed-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_KCP,
|
Binding Path=Checked_VLESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VlessKcpSeed}" Foreground="LimeGreen" Width="120" />
|
<Label Content="{DynamicResource VlessKcpSeed}" Foreground="LimeGreen" Width="120" />
|
||||||
<TextBox Text="{Binding Path=VLESS_KCP_Seed}" Width="200" />
|
<TextBox Text="{Binding Path=VLESS_KCP_Seed}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--kcp type-->
|
<!--kcp type-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_KCP,
|
Binding Path=Checked_VLESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}" Orientation="Horizontal">
|
}"
|
||||||
|
Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource VlessKcpType}" Foreground="LimeGreen" Width="120" />
|
<Label Content="{DynamicResource VlessKcpType}" Foreground="LimeGreen" Width="120" />
|
||||||
<ComboBox Width="200"
|
<ComboBox Width="260"
|
||||||
ItemsSource="{Binding Path=KcpTypes}"
|
ItemsSource="{Binding Path=KcpTypes}"
|
||||||
SelectedValue="{Binding VLESS_KCP_Type,Mode=TwoWay}">
|
SelectedValue="{Binding VLESS_KCP_Type,Mode=TwoWay}">
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--kcp port-->
|
<!--kcp port-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_KCP,
|
Binding Path=Checked_VLESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}"
|
}"
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource VlessKcpPort}" Width="120" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessKcpPort}" Width="120" Foreground="LimeGreen" />
|
||||||
<TextBox Text="{Binding Path=VLESS_KCP_Port}" Width="200" />
|
<TextBox Text="{Binding Path=VLESS_KCP_Port}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--gRPC Port-->
|
<!--gRPC Port-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_gRPC,
|
Binding Path=Checked_VLESS_gRPC,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VlessRPCPort}" Width="120" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessRPCPort}" Width="120" Foreground="LimeGreen" />
|
||||||
<TextBox Text="{Binding Path=VLESS_gRPC_Port}" Width="200" />
|
<TextBox Text="{Binding Path=VLESS_gRPC_Port}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VLESS_gRPC,
|
Binding Path=Checked_VLESS_gRPC,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VlessRPCName}" Width="120" Foreground="LimeGreen" />
|
<Label Content="{DynamicResource VlessRPCName}" Width="120" Foreground="LimeGreen" />
|
||||||
<TextBox Text="{Binding Path=VLESS_gRPC_ServiceName}" Width="200" />
|
<TextBox Text="{Binding Path=VLESS_gRPC_ServiceName}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--Tcp Path
|
<!--WebSocket Path-->
|
||||||
<StackPanel Margin="30,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VMESS_TCP,
|
Binding Path=Checked_VMESS_WS,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="VMESS WS路径" Foreground="Blue" Width="120" />
|
<Label Content="{DynamicResource VmessWsPath}" Foreground="Blue" Width="120" />
|
||||||
<TextBox Text="{Binding Path=VMESS_TCP_Path}"
|
<TextBox Text="{Binding Path=VMESS_WS_Path}"
|
||||||
VerticalAlignment="Bottom"
|
VerticalAlignment="Bottom"
|
||||||
Width="200" />
|
Width="260" />
|
||||||
</StackPanel>-->
|
</StackPanel>
|
||||||
|
|
||||||
<!--WebSocket Path-->
|
<!--seed-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VMESS_WS,
|
Binding Path=Checked_VMESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VmessWsPath}" Foreground="Blue" Width="120" />
|
<Label Content="{DynamicResource VmessKcpSeed}" Foreground="Blue" Width="120" />
|
||||||
<TextBox Text="{Binding Path=VMESS_WS_Path}"
|
<TextBox Text="{Binding Path=VMESS_KCP_Seed}" Width="260" />
|
||||||
VerticalAlignment="Bottom"
|
</StackPanel>
|
||||||
Width="200" />
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
<!--seed-->
|
<!--kcp type-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VMESS_KCP,
|
Binding Path=Checked_VMESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VmessKcpSeed}" Foreground="Blue" Width="120" />
|
<Label Content="{DynamicResource VmessKcpType}" Foreground="Blue" Width="120" VerticalAlignment="Bottom"/>
|
||||||
<TextBox Text="{Binding Path=VMESS_KCP_Seed}" Width="200" />
|
<ComboBox Width="260"
|
||||||
</StackPanel>
|
VerticalAlignment="Bottom"
|
||||||
|
ItemsSource="{Binding Path=KcpTypes}"
|
||||||
|
SelectedValue="{Binding VMESS_KCP_Type,Mode=TwoWay}">
|
||||||
|
</ComboBox>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
<!--kcp type-->
|
<!--kcp port-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VMESS_KCP,
|
Binding Path=Checked_VMESS_KCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VmessKcpType}" Foreground="Blue" Width="120" VerticalAlignment="Bottom"/>
|
<Label Content="{DynamicResource VmessKcpPort}" Foreground="Blue" Width="120" />
|
||||||
<ComboBox Width="200"
|
<TextBox Text="{Binding Path=VMESS_KCP_Port}" Width="260" />
|
||||||
VerticalAlignment="Bottom"
|
</StackPanel>
|
||||||
ItemsSource="{Binding Path=KcpTypes}"
|
|
||||||
SelectedValue="{Binding VMESS_KCP_Type,Mode=TwoWay}">
|
|
||||||
</ComboBox>
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
<!--kcp port-->
|
<!--ss密码-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_VMESS_KCP,
|
Binding Path=CheckedShadowSocks,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource VmessKcpPort}" Foreground="Blue" Width="120" />
|
<Label Content="{DynamicResource SSPassword}" Foreground="Fuchsia" Width="120" />
|
||||||
<TextBox Text="{Binding Path=VMESS_KCP_Port}" Width="200" />
|
<TextBox Text="{Binding Path=ShadowSocksPassword}" Width="260"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--ss密码-->
|
<!--ss加密方式-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=CheckedShadowSocks,
|
Binding Path=CheckedShadowSocks,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource SSPassword}" Foreground="Fuchsia" Width="120" />
|
<Label Content="{DynamicResource SSMethods}" Foreground="Fuchsia" Width="120" />
|
||||||
<TextBox Text="{Binding Path=ShadowSocksPassword}"
|
<ComboBox Width="260"
|
||||||
Width="200"/>
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
<!--ss加密方式-->
|
|
||||||
<StackPanel Margin="0,15,0,0"
|
|
||||||
Orientation="Horizontal"
|
|
||||||
Visibility="{
|
|
||||||
Binding Path=CheckedShadowSocks,
|
|
||||||
Converter={StaticResource VisibleConverter}
|
|
||||||
}">
|
|
||||||
<Label Content="{DynamicResource SSMethods}" Foreground="Fuchsia" Width="120" />
|
|
||||||
<ComboBox Width="200"
|
|
||||||
ItemsSource="{Binding ShadowSocksMethods}"
|
ItemsSource="{Binding ShadowSocksMethods}"
|
||||||
SelectedValue="{Binding ShadowSocksMethod}">
|
SelectedValue="{Binding ShadowSocksMethod}">
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--ss端口-->
|
<!--ss端口-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=CheckedShadowSocks,
|
Binding Path=CheckedShadowSocks,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource SSPort}" Foreground="Fuchsia" Width="120" />
|
<Label Content="{DynamicResource SSPort}" Foreground="Fuchsia" Width="120" />
|
||||||
<TextBox Text="{Binding Path=ShadowSocksPort}" Width="200"/>
|
<TextBox Text="{Binding Path=ShadowSocksPort}" Width="260"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--Trojan密码-->
|
<!--Trojan密码-->
|
||||||
<StackPanel Margin="0,15,0,0"
|
<StackPanel Margin="0,15,0,0"
|
||||||
Orientation="Horizontal"
|
Orientation="Horizontal"
|
||||||
Visibility="{
|
Visibility="{
|
||||||
Binding Path=Checked_Trojan_TCP,
|
Binding Path=Checked_Trojan_TCP,
|
||||||
Converter={StaticResource VisibleConverter}
|
Converter={StaticResource VisibleConverter}
|
||||||
}">
|
}">
|
||||||
<Label Content="{DynamicResource TrojanPassword}" Foreground="CadetBlue" Width="120" />
|
<Label Content="{DynamicResource TrojanPassword}" Foreground="CadetBlue" Width="120" />
|
||||||
<TextBox Text="{Binding Path=TrojanPassword}" Width="200" />
|
<TextBox Text="{Binding Path=TrojanPassword}" Width="260" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!--多用户-->
|
<!--多用户-->
|
||||||
<StackPanel Margin="0,10,0,0" Orientation="Vertical">
|
<StackPanel Margin="0,10,0,0" Orientation="Vertical">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<Label Content="{DynamicResource MultiUser}" Width="120" />
|
<Label Content="{DynamicResource MultiUser}" Width="120" />
|
||||||
|
|
||||||
<TextBox Text="{Binding Path=MultiUUID}"
|
<TextBox Text="{Binding Path=MultiUUID}"
|
||||||
Height="60"
|
Height="60"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
Width="200" />
|
Width="260" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Margin="120,3,0,0" Text="{DynamicResource MultiUserHelp}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel>
|
|
||||||
<TextBlock Margin="120,3,0,0" Text="{DynamicResource MultiUserHelp}" />
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</Expander.Content>
|
||||||
</Expander.Content>
|
</Expander>
|
||||||
</Expander>
|
</StackPanel>
|
||||||
</StackPanel>
|
</GroupBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
@ -65,17 +65,20 @@
|
|||||||
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
||||||
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
||||||
|
|
||||||
|
<!--editor-->
|
||||||
|
<sys:String x:Key="EditorProxyType" xml:space="preserve">Proxy Type</sys:String>
|
||||||
|
<sys:String x:Key="EditorProxyParams" xml:space="preserve">Params</sys:String>
|
||||||
|
|
||||||
<!--Xray-->
|
<!--Xray-->
|
||||||
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS over TCP With XTLS
</sys:String>
|
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS XTLS</sys:String>
|
||||||
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS over TCP with TLS
</sys:String>
|
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS TCP</sys:String>
|
||||||
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS over WS with TLS
Support CDN</sys:String>
|
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS WS</sys:String>
|
||||||
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC
http2,multiplexing。</sys:String>
|
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC</sys:String>
|
||||||
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP
low delay,without Domain</sys:String>
|
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP</sys:String>
|
||||||
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS over WS with TLS
Support CDN</sys:String>
|
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS WS</sys:String>
|
||||||
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP
low delay,without Domian</sys:String>
|
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP</sys:String>
|
||||||
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks
Support UDP,without Domain</sys:String>
|
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks</sys:String>
|
||||||
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan over TCP with TLS
Trojan</sys:String>
|
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan</sys:String>
|
||||||
|
|
||||||
<sys:String x:Key="XrayDomain">Domain/IP</sys:String>
|
<sys:String x:Key="XrayDomain">Domain/IP</sys:String>
|
||||||
<sys:String x:Key="XrayMarkDomain">Redir Url</sys:String>
|
<sys:String x:Key="XrayMarkDomain">Redir Url</sys:String>
|
||||||
|
@ -64,16 +64,20 @@
|
|||||||
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
||||||
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
||||||
|
|
||||||
|
<!--editor-->
|
||||||
|
<sys:String x:Key="EditorProxyType" xml:space="preserve">節點類型</sys:String>
|
||||||
|
<sys:String x:Key="EditorProxyParams" xml:space="preserve">節點參數</sys:String>
|
||||||
|
|
||||||
<!--Xray-->
|
<!--Xray-->
|
||||||
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS Over TCP With XTLS
安全隱患,謹慎。</sys:String>
|
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS TCP XTLS</sys:String>
|
||||||
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS over TCP with TLS
</sys:String>
|
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS TCP</sys:String>
|
||||||
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS over WS with TLS
推薦,支持CDN。</sys:String>
|
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS WS</sys:String>
|
||||||
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC
基於http2,多路複用。</sys:String>
|
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC</sys:String>
|
||||||
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP
遊戲推薦,延遲低,免域名。</sys:String>
|
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP</sys:String>
|
||||||
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS over WS with TLS
推薦,支持CDN。</sys:String>
|
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS WS</sys:String>
|
||||||
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP
遊戲推薦,延遲低,免域名。</sys:String>
|
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP</sys:String>
|
||||||
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks
SS,支持udp,免域名。</sys:String>
|
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks</sys:String>
|
||||||
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan over TCP with TLS
Trojan。</sys:String>
|
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan</sys:String>
|
||||||
|
|
||||||
|
|
||||||
<sys:String x:Key="XrayDomain">域名/IP</sys:String>
|
<sys:String x:Key="XrayDomain">域名/IP</sys:String>
|
||||||
|
@ -65,16 +65,20 @@
|
|||||||
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
<sys:String x:Key="ProxyTypeHttp">Http</sys:String>
|
||||||
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
<sys:String x:Key="ProxyTypeSocks5">Socks5</sys:String>
|
||||||
|
|
||||||
|
<!--editor-->
|
||||||
|
<sys:String x:Key="EditorProxyType" xml:space="preserve">节点类型</sys:String>
|
||||||
|
<sys:String x:Key="EditorProxyParams" xml:space="preserve">节点参数</sys:String>
|
||||||
|
|
||||||
<!--Xray-->
|
<!--Xray-->
|
||||||
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS Over TCP With XTLS
安全隐患,谨慎。</sys:String>
|
<sys:String x:Key="VlessXtlsDesc" xml:space="preserve">VLESS TCP XTLS</sys:String>
|
||||||
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS over TCP with TLS
推荐,主流。</sys:String>
|
<sys:String x:Key="VlessTcpDesc" xml:space="preserve">VLESS TCP</sys:String>
|
||||||
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS over WS with TLS
推荐,支持CDN。</sys:String>
|
<sys:String x:Key="VlessWsDesc" xml:space="preserve">VLESS WS</sys:String>
|
||||||
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC
基于http2,多路复用。</sys:String>
|
<sys:String x:Key="VlessRpcDesc" xml:space="preserve">VLESS gRPC</sys:String>
|
||||||
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP
游戏推荐,延迟低,免域名。</sys:String>
|
<sys:String x:Key="VlessKcpDesc" xml:space="preserve">VLESS mKCP</sys:String>
|
||||||
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS over WS with TLS
推荐,支持CDN。</sys:String>
|
<sys:String x:Key="VmessWsDesc" xml:space="preserve">VMESS WS</sys:String>
|
||||||
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP
游戏推荐,延迟低,免域名。</sys:String>
|
<sys:String x:Key="VmessKcpDesc" xml:space="preserve">VMESS mKCP</sys:String>
|
||||||
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks
SS,支持udp,免域名。</sys:String>
|
<sys:String x:Key="SSDesc" xml:space="preserve">ShadowSocks</sys:String>
|
||||||
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan over TCP with TLS
Trojan。</sys:String>
|
<sys:String x:Key="TrojanDesc" xml:space="preserve">Trojan</sys:String>
|
||||||
|
|
||||||
|
|
||||||
<sys:String x:Key="XrayDomain">域名/IP</sys:String>
|
<sys:String x:Key="XrayDomain">域名/IP</sys:String>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
Icon="/Resources/ProxySU.ico"
|
Icon="/Resources/ProxySU.ico"
|
||||||
BorderThickness="0,1,0,0"
|
BorderThickness="0,1,0,0"
|
||||||
BorderBrush="#EEE"
|
BorderBrush="#EEE"
|
||||||
Title="Xray编辑配置" Height="610" Width="1015">
|
Title="Xray编辑配置" Height="640" Width="1015">
|
||||||
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@ -26,41 +26,40 @@
|
|||||||
|
|
||||||
<StackPanel Grid.Column="1" Background="#EEE"></StackPanel>
|
<StackPanel Grid.Column="1" Background="#EEE"></StackPanel>
|
||||||
|
|
||||||
<StackPanel Grid.Column="2">
|
<Grid Grid.Column="2">
|
||||||
<Grid>
|
<Grid.RowDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<RowDefinition Height="*" />
|
||||||
<RowDefinition Height="500" />
|
<RowDefinition Height="50" />
|
||||||
<RowDefinition Height="80" />
|
</Grid.RowDefinitions>
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<ScrollViewer Name="scroll"
|
<ScrollViewer Name="scroll"
|
||||||
Padding="10"
|
Padding="10"
|
||||||
Height="500"
|
Grid.Row="0"
|
||||||
Grid.Row="0"
|
Height="auto"
|
||||||
HorizontalScrollBarVisibility="Auto"
|
HorizontalScrollBarVisibility="Auto"
|
||||||
VerticalScrollBarVisibility="Auto" >
|
VerticalScrollBarVisibility="Auto" >
|
||||||
<ctrl:XraySettingsControl />
|
<ctrl:XraySettingsControl />
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
|
|
||||||
<Border Grid.Row="1"
|
<Border Grid.Row="1"
|
||||||
BorderBrush="#eee"
|
BorderBrush="#eee"
|
||||||
BorderThickness="0,1,0,0">
|
BorderThickness="0,1,0,0">
|
||||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Height="50">
|
||||||
<Button Content="{DynamicResource Save}"
|
<Button Content="{DynamicResource Save}"
|
||||||
Command="{Binding SaveCommand}"
|
Command="{Binding SaveCommand}"
|
||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Padding="10,5" />
|
Padding="10,5" />
|
||||||
|
|
||||||
<Button Content="{DynamicResource SaveAndInstall}"
|
<Button Content="{DynamicResource SaveAndInstall}"
|
||||||
Command="{Binding SaveAndInstallCommand}"
|
Command="{Binding SaveAndInstallCommand}"
|
||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Padding="10,5"
|
Padding="10,5"
|
||||||
Margin="20,0,40,0" />
|
Margin="20,0,40,0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
|
||||||
</StackPanel>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</views:MvxWindow>
|
</views:MvxWindow>
|
||||||
|
Loading…
Reference in New Issue
Block a user