mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-21 20:56:08 +03:00
update quic
This commit is contained in:
parent
e86db631c5
commit
433883c3bf
@ -38,14 +38,16 @@ namespace ProxySuper.Core.Models.Projects
|
|||||||
VLESS_WS_Path = "/" + Utils.RandomString(6);
|
VLESS_WS_Path = "/" + Utils.RandomString(6);
|
||||||
VLESS_KCP_Type = "none";
|
VLESS_KCP_Type = "none";
|
||||||
VLESS_KCP_Seed = guid;
|
VLESS_KCP_Seed = guid;
|
||||||
|
VLESS_QUIC_Key = "";
|
||||||
VLESS_QUIC_Type = "none";
|
VLESS_QUIC_Type = "none";
|
||||||
VLESS_QUIC_Security = "none";
|
VLESS_QUIC_Security = "none";
|
||||||
VLESS_QUIC_Type = "none";
|
VLESS_QUIC_Type = "none";
|
||||||
VLESS_gRPC_ServiceName = "/" + Utils.RandomString(7);
|
VLESS_gRPC_ServiceName = Utils.RandomString(7);
|
||||||
|
|
||||||
VMESS_WS_Path = "/" + Utils.RandomString(8);
|
VMESS_WS_Path = "/" + Utils.RandomString(8);
|
||||||
VMESS_TCP_Path = "/" + Utils.RandomString(9);
|
VMESS_TCP_Path = "/" + Utils.RandomString(9);
|
||||||
VMESS_KCP_Seed = guid;
|
VMESS_KCP_Seed = guid;
|
||||||
|
VMESS_QUIC_Key = "";
|
||||||
VMESS_KCP_Type = "none";
|
VMESS_KCP_Type = "none";
|
||||||
VMESS_QUIC_Security = "none";
|
VMESS_QUIC_Security = "none";
|
||||||
VMESS_QUIC_Type = "none";
|
VMESS_QUIC_Type = "none";
|
||||||
@ -98,8 +100,6 @@ namespace ProxySuper.Core.Models.Projects
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//public ProjectType Type { get; set; } = ProjectType.Xray;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否安装证书,
|
/// 是否安装证书,
|
||||||
/// 上传自有证书时选False,则不会自动安装证书。
|
/// 上传自有证书时选False,则不会自动安装证书。
|
||||||
|
@ -78,12 +78,14 @@ namespace ProxySuper.Core.Services
|
|||||||
case RayType.VLESS_TCP_XTLS:
|
case RayType.VLESS_TCP_XTLS:
|
||||||
case RayType.VLESS_WS:
|
case RayType.VLESS_WS:
|
||||||
case RayType.VLESS_KCP:
|
case RayType.VLESS_KCP:
|
||||||
|
case RayType.VLESS_QUIC:
|
||||||
case RayType.VLESS_gRPC:
|
case RayType.VLESS_gRPC:
|
||||||
case RayType.Trojan_TCP:
|
case RayType.Trojan_TCP:
|
||||||
return BuildVlessShareLink(xrayType, settings);
|
return BuildVlessShareLink(xrayType, settings);
|
||||||
case RayType.VMESS_TCP:
|
case RayType.VMESS_TCP:
|
||||||
case RayType.VMESS_WS:
|
case RayType.VMESS_WS:
|
||||||
case RayType.VMESS_KCP:
|
case RayType.VMESS_KCP:
|
||||||
|
case RayType.VMESS_QUIC:
|
||||||
return BuildVmessShareLink(xrayType, settings);
|
return BuildVmessShareLink(xrayType, settings);
|
||||||
case RayType.ShadowsocksAEAD:
|
case RayType.ShadowsocksAEAD:
|
||||||
return BuildShadowSocksShareLink(settings);
|
return BuildShadowSocksShareLink(settings);
|
||||||
@ -142,6 +144,15 @@ namespace ProxySuper.Core.Services
|
|||||||
vmess.path = settings.VMESS_KCP_Seed;
|
vmess.path = settings.VMESS_KCP_Seed;
|
||||||
vmess.tls = "";
|
vmess.tls = "";
|
||||||
break;
|
break;
|
||||||
|
case RayType.VMESS_QUIC:
|
||||||
|
vmess.ps = "vmess-quic";
|
||||||
|
vmess.port = settings.VMESS_QUIC_Port.ToString();
|
||||||
|
vmess.net = "quic";
|
||||||
|
vmess.type = settings.VMESS_QUIC_Type;
|
||||||
|
vmess.path = settings.VMESS_QUIC_Key;
|
||||||
|
vmess.host = settings.VMESS_QUIC_Security;
|
||||||
|
vmess.tls = "tls";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
@ -162,8 +173,6 @@ namespace ProxySuper.Core.Services
|
|||||||
var _path = "/";
|
var _path = "/";
|
||||||
var _host = settings.Domain;
|
var _host = settings.Domain;
|
||||||
var _descriptiveText = string.Empty;
|
var _descriptiveText = string.Empty;
|
||||||
var _headerType = "none";
|
|
||||||
var _seed = string.Empty;
|
|
||||||
|
|
||||||
switch (xrayType)
|
switch (xrayType)
|
||||||
{
|
{
|
||||||
@ -187,12 +196,17 @@ namespace ProxySuper.Core.Services
|
|||||||
case RayType.VLESS_KCP:
|
case RayType.VLESS_KCP:
|
||||||
_protocol = "vless";
|
_protocol = "vless";
|
||||||
_type = "kcp";
|
_type = "kcp";
|
||||||
_headerType = settings.VLESS_KCP_Type;
|
|
||||||
_seed = settings.VLESS_KCP_Seed;
|
|
||||||
_port = settings.VLESS_KCP_Port;
|
_port = settings.VLESS_KCP_Port;
|
||||||
_security = "none";
|
_security = "none";
|
||||||
_descriptiveText = "vless-mKCP";
|
_descriptiveText = "vless-mKCP";
|
||||||
break;
|
break;
|
||||||
|
case RayType.VLESS_QUIC:
|
||||||
|
_protocol = "vless";
|
||||||
|
_port = settings.VLESS_QUIC_Port;
|
||||||
|
_type = "quic";
|
||||||
|
_security = "tls";
|
||||||
|
_descriptiveText = "vless-quic";
|
||||||
|
break;
|
||||||
case RayType.VLESS_gRPC:
|
case RayType.VLESS_gRPC:
|
||||||
_protocol = "vless";
|
_protocol = "vless";
|
||||||
_type = "grpc";
|
_type = "grpc";
|
||||||
@ -213,19 +227,32 @@ namespace ProxySuper.Core.Services
|
|||||||
if (xrayType != RayType.Trojan_TCP)
|
if (xrayType != RayType.Trojan_TCP)
|
||||||
{
|
{
|
||||||
// 4.3 传输层相关段
|
// 4.3 传输层相关段
|
||||||
parametersURL = $"?type={_type}&encryption={_encryption}&security={_security}&path={HttpUtility.UrlEncode(_path)}&headerType={_headerType}";
|
parametersURL = $"?type={_type}&encryption={_encryption}&security={_security}&path={HttpUtility.UrlEncode(_path)}";
|
||||||
|
|
||||||
// kcp
|
// kcp
|
||||||
if (xrayType == RayType.VLESS_KCP)
|
if (xrayType == RayType.VLESS_KCP)
|
||||||
{
|
{
|
||||||
parametersURL += $"&seed={_seed}";
|
parametersURL += $"&seed={settings.VLESS_KCP_Seed}&headerType={settings.VLESS_KCP_Type}";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (xrayType == RayType.VLESS_QUIC)
|
||||||
|
{
|
||||||
|
parametersURL += $"&quicSecurity={settings.VLESS_QUIC_Security}";
|
||||||
|
if (settings.VLESS_QUIC_Security != "none")
|
||||||
|
{
|
||||||
|
parametersURL += $"&key={HttpUtility.UrlEncode(settings.VLESS_QUIC_Key)}";
|
||||||
|
}
|
||||||
|
parametersURL += $"&headerType={settings.VLESS_QUIC_Type}";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4.4 TLS 相关段
|
// 4.4 TLS 相关段
|
||||||
if (settings is XraySettings)
|
if (settings is XraySettings)
|
||||||
{
|
{
|
||||||
var xraySettings = settings as XraySettings;
|
if (xrayType == RayType.VLESS_TCP_XTLS)
|
||||||
parametersURL += $"&flow={xraySettings.Flow}";
|
{
|
||||||
|
var xraySettings = settings as XraySettings;
|
||||||
|
parametersURL += $"&flow={xraySettings.Flow}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -187,6 +187,7 @@ namespace ProxySuper.Core.Services
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS GRPC
|
||||||
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
||||||
{
|
{
|
||||||
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
||||||
@ -196,7 +197,9 @@ namespace ProxySuper.Core.Services
|
|||||||
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS KCP
|
||||||
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
||||||
{
|
{
|
||||||
var kcpBound = GetBound("VLESS_KCP.json");
|
var kcpBound = GetBound("VLESS_KCP.json");
|
||||||
@ -206,7 +209,22 @@ namespace ProxySuper.Core.Services
|
|||||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS QUIC
|
||||||
|
if (parameters.Types.Contains(RayType.VLESS_QUIC))
|
||||||
|
{
|
||||||
|
var quicBound = GetBound("VLESS_QUIC.json");
|
||||||
|
quicBound.port = parameters.VLESS_QUIC_Port;
|
||||||
|
SetClients(quicBound, uuidList);
|
||||||
|
quicBound.streamSettings.quicSettings.security = parameters.VLESS_QUIC_Security;
|
||||||
|
quicBound.streamSettings.quicSettings.key = parameters.VLESS_QUIC_Key;
|
||||||
|
quicBound.streamSettings.quicSettings.header.type = parameters.VLESS_QUIC_Type;
|
||||||
|
xrayConfig.inbounds.Add(JToken.FromObject(quicBound));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VMESS KCP
|
||||||
if (parameters.Types.Contains(RayType.VMESS_KCP))
|
if (parameters.Types.Contains(RayType.VMESS_KCP))
|
||||||
{
|
{
|
||||||
var kcpBound = GetBound("VMESS_KCP.json");
|
var kcpBound = GetBound("VMESS_KCP.json");
|
||||||
@ -216,7 +234,22 @@ namespace ProxySuper.Core.Services
|
|||||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VMESS QUIC
|
||||||
|
if (parameters.Types.Contains(RayType.VMESS_QUIC))
|
||||||
|
{
|
||||||
|
var quicBound = GetBound("VMESS_QUIC.json");
|
||||||
|
quicBound.port = parameters.VMESS_QUIC_Port;
|
||||||
|
SetClients(quicBound, uuidList);
|
||||||
|
quicBound.streamSettings.quicSettings.security = parameters.VMESS_QUIC_Security;
|
||||||
|
quicBound.streamSettings.quicSettings.key = parameters.VMESS_QUIC_Key;
|
||||||
|
quicBound.streamSettings.quicSettings.header.type = parameters.VMESS_QUIC_Type;
|
||||||
|
xrayConfig.inbounds.Add(JToken.FromObject(quicBound));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Shadowsocks
|
||||||
if (parameters.Types.Contains(RayType.ShadowsocksAEAD))
|
if (parameters.Types.Contains(RayType.ShadowsocksAEAD))
|
||||||
{
|
{
|
||||||
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
||||||
@ -225,6 +258,7 @@ namespace ProxySuper.Core.Services
|
|||||||
ssBound.settings.method = parameters.ShadowSocksMethod;
|
ssBound.settings.method = parameters.ShadowSocksMethod;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
return JsonConvert.SerializeObject(
|
return JsonConvert.SerializeObject(
|
||||||
xrayConfig,
|
xrayConfig,
|
||||||
|
@ -110,7 +110,6 @@ namespace ProxySuper.Core.Services
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static string BuildXrayConfig(XraySettings parameters)
|
public static string BuildXrayConfig(XraySettings parameters)
|
||||||
{
|
{
|
||||||
var uuidList = new List<string>();
|
var uuidList = new List<string>();
|
||||||
@ -190,6 +189,7 @@ namespace ProxySuper.Core.Services
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS GRPC
|
||||||
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
||||||
{
|
{
|
||||||
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
||||||
@ -199,7 +199,9 @@ namespace ProxySuper.Core.Services
|
|||||||
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS KCP
|
||||||
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
||||||
{
|
{
|
||||||
var kcpBound = GetBound("VLESS_KCP.json");
|
var kcpBound = GetBound("VLESS_KCP.json");
|
||||||
@ -209,7 +211,22 @@ namespace ProxySuper.Core.Services
|
|||||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VLESS QUIC
|
||||||
|
if (parameters.Types.Contains(RayType.VLESS_QUIC))
|
||||||
|
{
|
||||||
|
var quicBound = GetBound("VLESS_QUIC.json");
|
||||||
|
quicBound.port = parameters.VLESS_QUIC_Port;
|
||||||
|
SetClients(quicBound, uuidList);
|
||||||
|
quicBound.streamSettings.quicSettings.security = parameters.VLESS_QUIC_Security;
|
||||||
|
quicBound.streamSettings.quicSettings.key = parameters.VLESS_QUIC_Key;
|
||||||
|
quicBound.streamSettings.quicSettings.header.type = parameters.VLESS_QUIC_Type;
|
||||||
|
xrayConfig.inbounds.Add(JToken.FromObject(quicBound));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VMESS KCP
|
||||||
if (parameters.Types.Contains(RayType.VMESS_KCP))
|
if (parameters.Types.Contains(RayType.VMESS_KCP))
|
||||||
{
|
{
|
||||||
var kcpBound = GetBound("VMESS_KCP.json");
|
var kcpBound = GetBound("VMESS_KCP.json");
|
||||||
@ -219,7 +236,22 @@ namespace ProxySuper.Core.Services
|
|||||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(kcpBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region VMESS QUIC
|
||||||
|
if (parameters.Types.Contains(RayType.VMESS_QUIC))
|
||||||
|
{
|
||||||
|
var quicBound = GetBound("VMESS_QUIC.json");
|
||||||
|
quicBound.port = parameters.VMESS_QUIC_Port;
|
||||||
|
SetClients(quicBound, uuidList);
|
||||||
|
quicBound.streamSettings.quicSettings.security = parameters.VMESS_QUIC_Security;
|
||||||
|
quicBound.streamSettings.quicSettings.key = parameters.VMESS_QUIC_Key;
|
||||||
|
quicBound.streamSettings.quicSettings.header.type = parameters.VMESS_QUIC_Type;
|
||||||
|
xrayConfig.inbounds.Add(JToken.FromObject(quicBound));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Shadowsocks
|
||||||
if (parameters.Types.Contains(RayType.ShadowsocksAEAD))
|
if (parameters.Types.Contains(RayType.ShadowsocksAEAD))
|
||||||
{
|
{
|
||||||
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
||||||
@ -228,6 +260,7 @@ namespace ProxySuper.Core.Services
|
|||||||
ssBound.settings.method = parameters.ShadowSocksMethod;
|
ssBound.settings.method = parameters.ShadowSocksMethod;
|
||||||
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
return JsonConvert.SerializeObject(
|
return JsonConvert.SerializeObject(
|
||||||
xrayConfig,
|
xrayConfig,
|
||||||
|
@ -42,6 +42,14 @@ namespace ProxySuper.Core.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Checked_VLESS_QUIC
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Settings.Types.Contains(RayType.VLESS_QUIC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool Checked_VLESS_gRPC
|
public bool Checked_VLESS_gRPC
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -74,6 +82,14 @@ namespace ProxySuper.Core.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Checked_VMESS_QUIC
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Settings.Types.Contains(RayType.VMESS_QUIC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool Checked_Trojan_TCP
|
public bool Checked_Trojan_TCP
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -55,6 +55,14 @@ namespace ProxySuper.Core.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Checked_VLESS_QUIC
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Settings.Types.Contains(RayType.VLESS_QUIC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool Checked_VLESS_gRPC
|
public bool Checked_VLESS_gRPC
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -87,6 +95,14 @@ namespace ProxySuper.Core.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Checked_VMESS_QUIC
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Settings.Types.Contains(RayType.VMESS_QUIC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool Checked_Trojan_TCP
|
public bool Checked_Trojan_TCP
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
61
ProxySuper.WPF/Controls/VLESS_QUIC_Control.xaml
Normal file
61
ProxySuper.WPF/Controls/VLESS_QUIC_Control.xaml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<UserControl x:Class="ProxySuper.WPF.Controls.VLESS_QUIC_Control"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:ProxySuper.WPF.Controls"
|
||||||
|
mc:Ignorable="d">
|
||||||
|
<StackPanel Orientation="Vertical">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="地址(address)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.Domain}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="端口(port)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Path=Settings.VLESS_KCP_Port,Mode=OneTime}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="用户ID(id)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.UUID}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="加密(security)" Width="140" />
|
||||||
|
<TextBox Text="none" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="传输协议(network)" Width="140" />
|
||||||
|
<TextBox Text="quic" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="伪装类型(type)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VLESS_QUIC_Type}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="伪装域名(host)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VLESS_QUIC_Security}" IsReadOnly="True" Width="300" />
|
||||||
|
<Label Content="QUIC加密方式" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="路径(path)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VLESS_QUIC_Key}" IsReadOnly="True" Width="300" />
|
||||||
|
<Label Content="QUIC密钥" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="传输安全(tls)" Width="140" />
|
||||||
|
<TextBox Text="" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="分享链接(ShareLink)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VLESS_QUIC_ShareLink,Mode=OneTime}" Width="300" IsReadOnly="True" />
|
||||||
|
</StackPanel>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
28
ProxySuper.WPF/Controls/VLESS_QUIC_Control.xaml.cs
Normal file
28
ProxySuper.WPF/Controls/VLESS_QUIC_Control.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace ProxySuper.WPF.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// VLESS_QUIC_Control.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class VLESS_QUIC_Control : UserControl
|
||||||
|
{
|
||||||
|
public VLESS_QUIC_Control()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
62
ProxySuper.WPF/Controls/VMESS_QUIC_Control.xaml
Normal file
62
ProxySuper.WPF/Controls/VMESS_QUIC_Control.xaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<UserControl x:Class="ProxySuper.WPF.Controls.VMESS_QUIC_Control"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:ProxySuper.WPF.Controls"
|
||||||
|
mc:Ignorable="d">
|
||||||
|
|
||||||
|
<StackPanel Orientation="Vertical">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="地址(address)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.Domain}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="端口(port)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Path=Settings.VMESS_KCP_Port,Mode=OneTime}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="用户ID(id)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.UUID}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="加密(security)" Width="140" />
|
||||||
|
<TextBox Text="none" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="传输协议(network)" Width="140" />
|
||||||
|
<TextBox Text="quic" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="伪装类型(type)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VMESS_QUIC_Type}" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="伪装域名(host)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VMESS_QUIC_Security}" IsReadOnly="True" Width="300" />
|
||||||
|
<Label Content="QUIC加密方式" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="路径(path)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VMESS_QUIC_Key}" IsReadOnly="True" Width="300" />
|
||||||
|
<Label Content="QUIC密钥" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="传输安全(tls)" Width="140" />
|
||||||
|
<TextBox Text="" IsReadOnly="True" Width="300" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
|
||||||
|
<Label Content="分享链接(ShareLink)" Width="140" />
|
||||||
|
<TextBox Text="{Binding Settings.VMESS_QUIC_ShareLink,Mode=OneTime}" Width="300" IsReadOnly="True" />
|
||||||
|
</StackPanel>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
28
ProxySuper.WPF/Controls/VMESS_QUIC_Control.xaml.cs
Normal file
28
ProxySuper.WPF/Controls/VMESS_QUIC_Control.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace ProxySuper.WPF.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// VMESS_QUIC_Control.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class VMESS_QUIC_Control : UserControl
|
||||||
|
{
|
||||||
|
public VMESS_QUIC_Control()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -49,5 +49,5 @@ using System.Windows;
|
|||||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
//通过使用 "*",如下所示:
|
//通过使用 "*",如下所示:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("4.0.4.0")]
|
[assembly: AssemblyVersion("4.1.6.0")]
|
||||||
[assembly: AssemblyFileVersion("4.0.4.0")]
|
[assembly: AssemblyFileVersion("4.1.6.0")]
|
||||||
|
@ -112,6 +112,9 @@
|
|||||||
<Compile Include="Controls\VLESS_KCP_Control.xaml.cs">
|
<Compile Include="Controls\VLESS_KCP_Control.xaml.cs">
|
||||||
<DependentUpon>VLESS_KCP_Control.xaml</DependentUpon>
|
<DependentUpon>VLESS_KCP_Control.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Controls\VLESS_QUIC_Control.xaml.cs">
|
||||||
|
<DependentUpon>VLESS_QUIC_Control.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Controls\VLESS_TCP_TLS_Control.xaml.cs">
|
<Compile Include="Controls\VLESS_TCP_TLS_Control.xaml.cs">
|
||||||
<DependentUpon>VLESS_TCP_TLS_Control.xaml</DependentUpon>
|
<DependentUpon>VLESS_TCP_TLS_Control.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -124,6 +127,9 @@
|
|||||||
<Compile Include="Controls\VMESS_KCP_Control.xaml.cs">
|
<Compile Include="Controls\VMESS_KCP_Control.xaml.cs">
|
||||||
<DependentUpon>VMESS_KCP_Control.xaml</DependentUpon>
|
<DependentUpon>VMESS_KCP_Control.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Controls\VMESS_QUIC_Control.xaml.cs">
|
||||||
|
<DependentUpon>VMESS_QUIC_Control.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Controls\VMESS_TCP_TLS_Control.xaml.cs">
|
<Compile Include="Controls\VMESS_TCP_TLS_Control.xaml.cs">
|
||||||
<DependentUpon>VMESS_TCP_TLS_Control.xaml</DependentUpon>
|
<DependentUpon>VMESS_TCP_TLS_Control.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -228,6 +234,10 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="Controls\VLESS_QUIC_Control.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
<Page Include="Controls\VLESS_TCP_TLS_Control.xaml">
|
<Page Include="Controls\VLESS_TCP_TLS_Control.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
@ -244,6 +254,10 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="Controls\VMESS_QUIC_Control.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
<Page Include="Controls\VMESS_TCP_TLS_Control.xaml">
|
<Page Include="Controls\VMESS_TCP_TLS_Control.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
@ -479,6 +493,9 @@
|
|||||||
<None Include="Templates\v2ray\server\05_inbounds\VLESS_KCP.json">
|
<None Include="Templates\v2ray\server\05_inbounds\VLESS_KCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Templates\v2ray\server\05_inbounds\VLESS_QUIC.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Include="Templates\v2ray\server\05_inbounds\VLESS_TCP_TLS.json">
|
<None Include="Templates\v2ray\server\05_inbounds\VLESS_TCP_TLS.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
@ -491,6 +508,9 @@
|
|||||||
<None Include="Templates\v2ray\server\05_inbounds\VMESS_KCP.json">
|
<None Include="Templates\v2ray\server\05_inbounds\VMESS_KCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Templates\v2ray\server\05_inbounds\VMESS_QUIC.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Include="Templates\v2ray\server\05_inbounds\VMESS_TCP.json">
|
<None Include="Templates\v2ray\server\05_inbounds\VMESS_TCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
@ -587,6 +607,9 @@
|
|||||||
<None Include="Templates\xray\server\05_inbounds\VLESS_KCP.json">
|
<None Include="Templates\xray\server\05_inbounds\VLESS_KCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Templates\xray\server\05_inbounds\VLESS_QUIC.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Include="Templates\xray\server\05_inbounds\VLESS_TCP_XTLS.json">
|
<None Include="Templates\xray\server\05_inbounds\VLESS_TCP_XTLS.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
@ -599,6 +622,9 @@
|
|||||||
<None Include="Templates\xray\server\05_inbounds\VMESS_KCP.json">
|
<None Include="Templates\xray\server\05_inbounds\VMESS_KCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Templates\xray\server\05_inbounds\VMESS_QUIC.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Include="Templates\xray\server\05_inbounds\VMESS_TCP.json">
|
<None Include="Templates\xray\server\05_inbounds\VMESS_TCP.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"port": 2000,
|
||||||
|
"protocol": "vless",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decryption": "none"
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "none",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/usr/local/etc/v2ray/ssl/v2ray_ssl.crt",
|
||||||
|
"keyFile": "/usr/local/etc/v2ray/ssl/v2ray_ssl.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"port": 3000,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decryption": "none"
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "none",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/usr/local/etc/v2ray/ssl/v2ray_ssl.crt",
|
||||||
|
"keyFile": "/usr/local/etc/v2ray/ssl/v2ray_ssl.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"port": 2000,
|
||||||
|
"protocol": "vless",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decryption": "none"
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "none",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/usr/local/etc/xray/ssl/xray_ssl.crt",
|
||||||
|
"keyFile": "/usr/local/etc/xray/ssl/xray_ssl.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"port": 3000,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decryption": "none"
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "none",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/usr/local/etc/xray/ssl/xray_ssl.crt",
|
||||||
|
"keyFile": "/usr/local/etc/xray/ssl/xray_ssl.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -52,6 +52,13 @@
|
|||||||
<ctrl:VLESS_KCP_Control />
|
<ctrl:VLESS_KCP_Control />
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem Width="200" Height="40"
|
||||||
|
Tag="{x:Static models:RayType.VLESS_QUIC}"
|
||||||
|
IsEnabled="{Binding Checked_VLESS_QUIC}"
|
||||||
|
Header="VLESS-Quic">
|
||||||
|
<ctrl:VLESS_QUIC_Control />
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
<TabItem Width="200" Height="40"
|
<TabItem Width="200" Height="40"
|
||||||
Tag="{x:Static models:RayType.VLESS_gRPC}"
|
Tag="{x:Static models:RayType.VLESS_gRPC}"
|
||||||
IsEnabled="{Binding Checked_VLESS_gRPC}"
|
IsEnabled="{Binding Checked_VLESS_gRPC}"
|
||||||
@ -73,6 +80,13 @@
|
|||||||
<ctrl:VMESS_KCP_Control />
|
<ctrl:VMESS_KCP_Control />
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
|
<TabItem Width="200" Height="40"
|
||||||
|
Tag="{x:Static models:RayType.VMESS_QUIC}"
|
||||||
|
IsEnabled="{Binding Checked_VLESS_QUIC}"
|
||||||
|
Header="VMESS-Quic">
|
||||||
|
<ctrl:VMESS_QUIC_Control />
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
<TabItem Width="200" Height="40"
|
<TabItem Width="200" Height="40"
|
||||||
Tag="{x:Static models:RayType.Trojan_TCP}"
|
Tag="{x:Static models:RayType.Trojan_TCP}"
|
||||||
IsEnabled="{Binding Checked_Trojan_TCP}"
|
IsEnabled="{Binding Checked_Trojan_TCP}"
|
||||||
|
@ -88,6 +88,9 @@ namespace ProxySuper.WPF.Views
|
|||||||
case RayType.VLESS_KCP:
|
case RayType.VLESS_KCP:
|
||||||
shareLink = Settings.VLESS_KCP_ShareLink;
|
shareLink = Settings.VLESS_KCP_ShareLink;
|
||||||
break;
|
break;
|
||||||
|
case RayType.VLESS_QUIC:
|
||||||
|
shareLink = Settings.VLESS_QUIC_ShareLink;
|
||||||
|
break;
|
||||||
case RayType.VLESS_gRPC:
|
case RayType.VLESS_gRPC:
|
||||||
shareLink = Settings.VLESS_gRPC_ShareLink;
|
shareLink = Settings.VLESS_gRPC_ShareLink;
|
||||||
break;
|
break;
|
||||||
@ -102,6 +105,9 @@ namespace ProxySuper.WPF.Views
|
|||||||
case RayType.VMESS_KCP:
|
case RayType.VMESS_KCP:
|
||||||
shareLink = Settings.VMESS_KCP_ShareLink;
|
shareLink = Settings.VMESS_KCP_ShareLink;
|
||||||
break;
|
break;
|
||||||
|
case RayType.VMESS_QUIC:
|
||||||
|
shareLink = Settings.VMESS_QUIC_ShareLink;
|
||||||
|
break;
|
||||||
case RayType.Trojan_TCP:
|
case RayType.Trojan_TCP:
|
||||||
shareLink = Settings.Trojan_TCP_ShareLink;
|
shareLink = Settings.Trojan_TCP_ShareLink;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user