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_KCP_Type = "none";
|
||||
VLESS_KCP_Seed = guid;
|
||||
VLESS_QUIC_Key = "";
|
||||
VLESS_QUIC_Type = "none";
|
||||
VLESS_QUIC_Security = "none";
|
||||
VLESS_QUIC_Type = "none";
|
||||
VLESS_gRPC_ServiceName = "/" + Utils.RandomString(7);
|
||||
VLESS_gRPC_ServiceName = Utils.RandomString(7);
|
||||
|
||||
VMESS_WS_Path = "/" + Utils.RandomString(8);
|
||||
VMESS_TCP_Path = "/" + Utils.RandomString(9);
|
||||
VMESS_KCP_Seed = guid;
|
||||
VMESS_QUIC_Key = "";
|
||||
VMESS_KCP_Type = "none";
|
||||
VMESS_QUIC_Security = "none";
|
||||
VMESS_QUIC_Type = "none";
|
||||
@ -98,8 +100,6 @@ namespace ProxySuper.Core.Models.Projects
|
||||
}
|
||||
}
|
||||
|
||||
//public ProjectType Type { get; set; } = ProjectType.Xray;
|
||||
|
||||
/// <summary>
|
||||
/// 是否安装证书,
|
||||
/// 上传自有证书时选False,则不会自动安装证书。
|
||||
|
@ -78,12 +78,14 @@ namespace ProxySuper.Core.Services
|
||||
case RayType.VLESS_TCP_XTLS:
|
||||
case RayType.VLESS_WS:
|
||||
case RayType.VLESS_KCP:
|
||||
case RayType.VLESS_QUIC:
|
||||
case RayType.VLESS_gRPC:
|
||||
case RayType.Trojan_TCP:
|
||||
return BuildVlessShareLink(xrayType, settings);
|
||||
case RayType.VMESS_TCP:
|
||||
case RayType.VMESS_WS:
|
||||
case RayType.VMESS_KCP:
|
||||
case RayType.VMESS_QUIC:
|
||||
return BuildVmessShareLink(xrayType, settings);
|
||||
case RayType.ShadowsocksAEAD:
|
||||
return BuildShadowSocksShareLink(settings);
|
||||
@ -142,6 +144,15 @@ namespace ProxySuper.Core.Services
|
||||
vmess.path = settings.VMESS_KCP_Seed;
|
||||
vmess.tls = "";
|
||||
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:
|
||||
return string.Empty;
|
||||
}
|
||||
@ -162,8 +173,6 @@ namespace ProxySuper.Core.Services
|
||||
var _path = "/";
|
||||
var _host = settings.Domain;
|
||||
var _descriptiveText = string.Empty;
|
||||
var _headerType = "none";
|
||||
var _seed = string.Empty;
|
||||
|
||||
switch (xrayType)
|
||||
{
|
||||
@ -187,12 +196,17 @@ namespace ProxySuper.Core.Services
|
||||
case RayType.VLESS_KCP:
|
||||
_protocol = "vless";
|
||||
_type = "kcp";
|
||||
_headerType = settings.VLESS_KCP_Type;
|
||||
_seed = settings.VLESS_KCP_Seed;
|
||||
_port = settings.VLESS_KCP_Port;
|
||||
_security = "none";
|
||||
_descriptiveText = "vless-mKCP";
|
||||
break;
|
||||
case RayType.VLESS_QUIC:
|
||||
_protocol = "vless";
|
||||
_port = settings.VLESS_QUIC_Port;
|
||||
_type = "quic";
|
||||
_security = "tls";
|
||||
_descriptiveText = "vless-quic";
|
||||
break;
|
||||
case RayType.VLESS_gRPC:
|
||||
_protocol = "vless";
|
||||
_type = "grpc";
|
||||
@ -213,19 +227,32 @@ namespace ProxySuper.Core.Services
|
||||
if (xrayType != RayType.Trojan_TCP)
|
||||
{
|
||||
// 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
|
||||
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 相关段
|
||||
if (settings is XraySettings)
|
||||
{
|
||||
var xraySettings = settings as XraySettings;
|
||||
parametersURL += $"&flow={xraySettings.Flow}";
|
||||
if (xrayType == RayType.VLESS_TCP_XTLS)
|
||||
{
|
||||
var xraySettings = settings as XraySettings;
|
||||
parametersURL += $"&flow={xraySettings.Flow}";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -187,6 +187,7 @@ namespace ProxySuper.Core.Services
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region VLESS GRPC
|
||||
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
||||
{
|
||||
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
||||
@ -196,7 +197,9 @@ namespace ProxySuper.Core.Services
|
||||
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
||||
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region VLESS KCP
|
||||
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
||||
{
|
||||
var kcpBound = GetBound("VLESS_KCP.json");
|
||||
@ -206,7 +209,22 @@ namespace ProxySuper.Core.Services
|
||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
||||
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))
|
||||
{
|
||||
var kcpBound = GetBound("VMESS_KCP.json");
|
||||
@ -216,7 +234,22 @@ namespace ProxySuper.Core.Services
|
||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
||||
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))
|
||||
{
|
||||
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
||||
@ -225,6 +258,7 @@ namespace ProxySuper.Core.Services
|
||||
ssBound.settings.method = parameters.ShadowSocksMethod;
|
||||
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
||||
}
|
||||
#endregion
|
||||
|
||||
return JsonConvert.SerializeObject(
|
||||
xrayConfig,
|
||||
|
@ -110,7 +110,6 @@ namespace ProxySuper.Core.Services
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public static string BuildXrayConfig(XraySettings parameters)
|
||||
{
|
||||
var uuidList = new List<string>();
|
||||
@ -190,6 +189,7 @@ namespace ProxySuper.Core.Services
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region VLESS GRPC
|
||||
if (parameters.Types.Contains(RayType.VLESS_gRPC))
|
||||
{
|
||||
var gRPCInBound = GetBound("VLESS_gRPC.json");
|
||||
@ -199,7 +199,9 @@ namespace ProxySuper.Core.Services
|
||||
gRPCInBound.streamSettings.tlsSettings.serverName = parameters.Domain;
|
||||
xrayConfig.inbounds.Add(JToken.FromObject(gRPCInBound));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region VLESS KCP
|
||||
if (parameters.Types.Contains(RayType.VLESS_KCP))
|
||||
{
|
||||
var kcpBound = GetBound("VLESS_KCP.json");
|
||||
@ -209,7 +211,22 @@ namespace ProxySuper.Core.Services
|
||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VLESS_KCP_Seed;
|
||||
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))
|
||||
{
|
||||
var kcpBound = GetBound("VMESS_KCP.json");
|
||||
@ -219,7 +236,22 @@ namespace ProxySuper.Core.Services
|
||||
kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed;
|
||||
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))
|
||||
{
|
||||
var ssBound = GetBound("Shadowsocks-AEAD.json");
|
||||
@ -228,6 +260,7 @@ namespace ProxySuper.Core.Services
|
||||
ssBound.settings.method = parameters.ShadowSocksMethod;
|
||||
xrayConfig.inbounds.Add(JToken.FromObject(ssBound));
|
||||
}
|
||||
#endregion
|
||||
|
||||
return JsonConvert.SerializeObject(
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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("4.0.4.0")]
|
||||
[assembly: AssemblyFileVersion("4.0.4.0")]
|
||||
[assembly: AssemblyVersion("4.1.6.0")]
|
||||
[assembly: AssemblyFileVersion("4.1.6.0")]
|
||||
|
@ -112,6 +112,9 @@
|
||||
<Compile Include="Controls\VLESS_KCP_Control.xaml.cs">
|
||||
<DependentUpon>VLESS_KCP_Control.xaml</DependentUpon>
|
||||
</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">
|
||||
<DependentUpon>VLESS_TCP_TLS_Control.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -124,6 +127,9 @@
|
||||
<Compile Include="Controls\VMESS_KCP_Control.xaml.cs">
|
||||
<DependentUpon>VMESS_KCP_Control.xaml</DependentUpon>
|
||||
</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">
|
||||
<DependentUpon>VMESS_TCP_TLS_Control.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -228,6 +234,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Controls\VLESS_QUIC_Control.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Controls\VLESS_TCP_TLS_Control.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@ -244,6 +254,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Controls\VMESS_QUIC_Control.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Controls\VMESS_TCP_TLS_Control.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@ -479,6 +493,9 @@
|
||||
<None Include="Templates\v2ray\server\05_inbounds\VLESS_KCP.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</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">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
@ -491,6 +508,9 @@
|
||||
<None Include="Templates\v2ray\server\05_inbounds\VMESS_KCP.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</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">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
@ -587,6 +607,9 @@
|
||||
<None Include="Templates\xray\server\05_inbounds\VLESS_KCP.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</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">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
@ -599,6 +622,9 @@
|
||||
<None Include="Templates\xray\server\05_inbounds\VMESS_KCP.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</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">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</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 />
|
||||
</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"
|
||||
Tag="{x:Static models:RayType.VLESS_gRPC}"
|
||||
IsEnabled="{Binding Checked_VLESS_gRPC}"
|
||||
@ -73,6 +80,13 @@
|
||||
<ctrl:VMESS_KCP_Control />
|
||||
</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"
|
||||
Tag="{x:Static models:RayType.Trojan_TCP}"
|
||||
IsEnabled="{Binding Checked_Trojan_TCP}"
|
||||
|
@ -88,6 +88,9 @@ namespace ProxySuper.WPF.Views
|
||||
case RayType.VLESS_KCP:
|
||||
shareLink = Settings.VLESS_KCP_ShareLink;
|
||||
break;
|
||||
case RayType.VLESS_QUIC:
|
||||
shareLink = Settings.VLESS_QUIC_ShareLink;
|
||||
break;
|
||||
case RayType.VLESS_gRPC:
|
||||
shareLink = Settings.VLESS_gRPC_ShareLink;
|
||||
break;
|
||||
@ -102,6 +105,9 @@ namespace ProxySuper.WPF.Views
|
||||
case RayType.VMESS_KCP:
|
||||
shareLink = Settings.VMESS_KCP_ShareLink;
|
||||
break;
|
||||
case RayType.VMESS_QUIC:
|
||||
shareLink = Settings.VMESS_QUIC_ShareLink;
|
||||
break;
|
||||
case RayType.Trojan_TCP:
|
||||
shareLink = Settings.Trojan_TCP_ShareLink;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user