diff --git a/ProxySU_Core/Models/Developers/ConfigBuilder.cs b/ProxySU_Core/Models/Developers/ConfigBuilder.cs index 8786fdf..9088f36 100644 --- a/ProxySU_Core/Models/Developers/ConfigBuilder.cs +++ b/ProxySU_Core/Models/Developers/ConfigBuilder.cs @@ -175,7 +175,7 @@ namespace ProxySU_Core.Models.Developers if (parameters.Types.Contains(XrayType.VMESS_KCP)) { var kcpBound = GetBound("VMESS_KCP.json"); - kcpBound.port = parameters.KcpPort; + kcpBound.port = parameters.VMESS_KCP_Port; kcpBound.settings.clients[0].id = parameters.UUID; kcpBound.streamSettings.kcpSettings.header.type = parameters.VMESS_KCP_Type; kcpBound.streamSettings.kcpSettings.seed = parameters.VMESS_KCP_Seed; diff --git a/ProxySU_Core/Models/Developers/IParameters.cs b/ProxySU_Core/Models/Developers/IParameters.cs index 56ec5e0..eec2196 100644 --- a/ProxySU_Core/Models/Developers/IParameters.cs +++ b/ProxySU_Core/Models/Developers/IParameters.cs @@ -8,7 +8,7 @@ namespace ProxySU_Core.Models.Developers { int Port { get; set; } - int KcpPort { get; set; } + int VMESS_KCP_Port { get; set; } int ShadowSocksPort { get; set; } diff --git a/ProxySU_Core/Models/Developers/Project.cs b/ProxySU_Core/Models/Developers/Project.cs index 69a2f7b..9d695d6 100644 --- a/ProxySU_Core/Models/Developers/Project.cs +++ b/ProxySU_Core/Models/Developers/Project.cs @@ -313,7 +313,7 @@ namespace ProxySU_Core.Models.Developers if (Parameters.Types.Contains(XrayType.VMESS_KCP)) { - portList.Add(Parameters.KcpPort); + portList.Add(Parameters.VMESS_KCP_Port); } OpenPort(portList.ToArray()); @@ -481,7 +481,7 @@ namespace ProxySU_Core.Models.Developers SetPortFree(80); SetPortFree(443); SetPortFree(Parameters.Port); - SetPortFree(Parameters.KcpPort); + SetPortFree(Parameters.VMESS_KCP_Port); SetPortFree(Parameters.ShadowSocksPort); } } diff --git a/ProxySU_Core/Models/Developers/XrayProject.cs b/ProxySU_Core/Models/Developers/XrayProject.cs index 3690790..1a160b2 100644 --- a/ProxySU_Core/Models/Developers/XrayProject.cs +++ b/ProxySU_Core/Models/Developers/XrayProject.cs @@ -111,7 +111,7 @@ namespace ProxySU_Core.Models.Developers WriteOutput("卸载证书"); UninstallAcme(); WriteOutput("关闭端口"); - ClosePort(Parameters.ShadowSocksPort, Parameters.KcpPort); + ClosePort(Parameters.ShadowSocksPort, Parameters.VMESS_KCP_Port); WriteOutput("************ 卸载完成 ************"); } diff --git a/ProxySU_Core/Models/ShareLink.cs b/ProxySU_Core/Models/ShareLink.cs index 94d4608..60a6bc0 100644 --- a/ProxySU_Core/Models/ShareLink.cs +++ b/ProxySU_Core/Models/ShareLink.cs @@ -20,6 +20,7 @@ namespace ProxySU_Core.Models case XrayType.VLESS_TCP: case XrayType.VLESS_TCP_XTLS: case XrayType.VLESS_WS: + case XrayType.VLESS_KCP: case XrayType.Trojan_TCP: return BuildVlessShareLink(xrayType, settings); case XrayType.VMESS_TCP: @@ -77,7 +78,7 @@ namespace ProxySU_Core.Models break; case XrayType.VMESS_KCP: vmess.ps = "vmess-mKCP"; - vmess.port = settings.KcpPort.ToString(); + vmess.port = settings.VMESS_KCP_Port.ToString(); vmess.net = "kcp"; vmess.type = settings.VMESS_KCP_Type; vmess.path = settings.VMESS_KCP_Seed; @@ -103,6 +104,8 @@ namespace ProxySU_Core.Models var _path = "/"; var _host = settings.Domain; var _descriptiveText = string.Empty; + var _headerType = "none"; + var _seed = string.Empty; switch (xrayType) { @@ -126,19 +129,12 @@ namespace ProxySU_Core.Models _encryption = "none"; _descriptiveText = "vless-ws-tls"; break; - case XrayType.VMESS_TCP: - _protocol = "vmess"; - _type = "tcp"; - _path = settings.VMESS_TCP_Path; - _encryption = "auto"; - _descriptiveText = "vmess-tcp-tls"; - break; - case XrayType.VMESS_WS: - _protocol = "vmess"; - _type = "ws"; - _path = settings.VMESS_WS_Path; - _encryption = "auto"; - _descriptiveText = "vmess-ws-tls"; + case XrayType.VLESS_KCP: + _protocol = "vless"; + _type = "kcp"; + _headerType = settings.VLESS_KCP_Type; + _seed = settings.VLESS_KCP_Seed; + _port = settings.VLESS_KCP_Port; break; case XrayType.Trojan_TCP: _protocol = "trojan"; @@ -154,11 +150,13 @@ namespace ProxySU_Core.Models if (xrayType != XrayType.Trojan_TCP) { // 4.3 传输层相关段 - parametersURL = $"?type={_type}&encryption={_encryption}&security={_security}&host={_host}&path={HttpUtility.UrlEncode(_path)}"; + parametersURL = $"?type={_type}&encryption={_encryption}&security={_security}&host={_host}&path={HttpUtility.UrlEncode(_path)}&headerType={_headerType}"; - - // if mKCP - // if QUIC + // kcp + if (xrayType == XrayType.VLESS_KCP) + { + parametersURL += $"&seed={_seed}"; + } // 4.4 TLS 相关段 if (xrayType == XrayType.VLESS_TCP_XTLS) diff --git a/ProxySU_Core/Models/XraySettings.cs b/ProxySU_Core/Models/XraySettings.cs index 2d10b1c..153a978 100644 --- a/ProxySU_Core/Models/XraySettings.cs +++ b/ProxySU_Core/Models/XraySettings.cs @@ -17,7 +17,8 @@ namespace ProxySU_Core.Models { var guid = Guid.NewGuid().ToString(); Port = 443; - KcpPort = 10443; + VLESS_KCP_Port = 10445; + VMESS_KCP_Port = 10443; ShadowSocksPort = 11443; UUID = guid; @@ -45,9 +46,14 @@ namespace ProxySU_Core.Models public int Port { get; set; } /// - /// kcp端口 + /// vless kcp端口 /// - public int KcpPort { get; set; } + public int VLESS_KCP_Port { get; set; } + + /// + /// vmess kcp端口 + /// + public int VMESS_KCP_Port { get; set; } // ss端口 public int ShadowSocksPort { get; set; } @@ -67,6 +73,16 @@ namespace ProxySU_Core.Models /// vless http2 path /// public string VLESS_H2_Path { get; set; } + + /// + /// vless kcp seed + /// + public string VLESS_KCP_Seed { get; set; } + + /// + /// vless kcp type + /// + public string VLESS_KCP_Type { get; set; } #endregion #region vmess diff --git a/ProxySU_Core/ProxySU_Core.csproj b/ProxySU_Core/ProxySU_Core.csproj index 5d6064e..0ba925f 100644 --- a/ProxySU_Core/ProxySU_Core.csproj +++ b/ProxySU_Core/ProxySU_Core.csproj @@ -144,15 +144,48 @@ - + ClientInfoWindow.xaml + + ShadowSocksControl.xaml + + + Trojan_TCP_Control.xaml + + + VLESS_KCP_Control.xaml + + + VLESS_TCP_TLS_Control.xaml + + + VLESS_WS_TLS_Control.xaml + + + VLESS_XTLS_Control.xaml + + + VMESS_KCP_Control.xaml + + + VMESS_TCP_TLS_Control.xaml + + + VMESS_WS_TLS_Control.xaml + MainWindow.xaml - + RecordEditorWindow.xaml + + ServerInfoControl.xaml + + + VlessEditorControl.xaml + TerminalWindow.xaml @@ -306,7 +339,43 @@ MSBuild:Compile Designer - + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + Designer MSBuild:Compile @@ -314,7 +383,15 @@ MSBuild:Compile Designer - + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + Designer MSBuild:Compile diff --git a/ProxySU_Core/ViewModels/XraySettingsViewModel.cs b/ProxySU_Core/ViewModels/XraySettingsViewModel.cs index 6b71a4c..b3fec33 100644 --- a/ProxySU_Core/ViewModels/XraySettingsViewModel.cs +++ b/ProxySU_Core/ViewModels/XraySettingsViewModel.cs @@ -10,19 +10,31 @@ using System.Threading.Tasks; using System.Web; using System.Windows; using System.Windows.Controls; +using System.Windows.Input; namespace ProxySU_Core.ViewModels { public partial class XraySettingsViewModel : BaseViewModel { public XraySettings settings; + private readonly ICommand _randomUuid; public XraySettingsViewModel(XraySettings parameters) { + _randomUuid = new BaseCommand((obj) => GetUuid()); this.settings = parameters; Notify("VMESS_KCP_Type"); } + public ICommand RandomUuid + { + get + { + return _randomUuid; + } + } + + public int Port { get => settings.Port; @@ -33,13 +45,23 @@ namespace ProxySU_Core.ViewModels } } - public int KcpPort + public int VLESS_KCP_Port { - get => settings.KcpPort; + get => settings.VLESS_KCP_Port; set { - settings.KcpPort = value; - Notify("KcpPort"); + settings.VLESS_KCP_Port = value; + Notify("VLESS_KCP_Port"); + } + } + + public int VMESS_KCP_Port + { + get => settings.VMESS_KCP_Port; + set + { + settings.VMESS_KCP_Port = value; + Notify("VMESS_KCP_Port"); } } @@ -48,7 +70,7 @@ namespace ProxySU_Core.ViewModels get => settings.ShadowSocksPort; set { - settings.KcpPort = value; + settings.VMESS_KCP_Port = value; Notify("ShadowSocksPort"); } } @@ -156,6 +178,14 @@ namespace ProxySU_Core.ViewModels } } + + + private void GetUuid() + { + UUID = Guid.NewGuid().ToString(); + Notify("UUID"); + } + } public partial class XraySettingsViewModel @@ -256,7 +286,6 @@ namespace ProxySU_Core.ViewModels get => ShareLink.Build(XrayType.VLESS_TCP_XTLS, settings); } - // vless tcp public bool Checked_VLESS_TCP { @@ -296,6 +325,37 @@ namespace ProxySU_Core.ViewModels get => ShareLink.Build(XrayType.VLESS_WS, settings); } + // vless kcp + public string VLESS_KCP_Seed + { + get => settings.VLESS_KCP_Seed; + set => settings.VLESS_KCP_Seed = value; + } + public string VLESS_KCP_Type + { + get => settings.VLESS_KCP_Type; + set + { + var namespaceStr = typeof(ComboBoxItem).FullName + ":"; + var trimValue = value.Replace(namespaceStr, ""); + trimValue = trimValue.Trim(); + settings.VLESS_KCP_Type = trimValue; + Notify("VLESS_KCP_Type"); + } + } + public bool Checked_VLESS_KCP + { + get => settings.Types.Contains(XrayType.VMESS_KCP); + set + { + CheckBoxChanged(value, XrayType.VMESS_KCP); + Notify("Checked_VLESS_KCP"); + } + } + public string VLESS_KCP_ShareLink + { + get => ShareLink.Build(XrayType.VLESS_KCP, settings); + } } } diff --git a/ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml b/ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml new file mode 100644 index 0000000..be2228a --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfoWindow.xaml.cs b/ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml.cs similarity index 95% rename from ProxySU_Core/Views/ClientInfoWindow.xaml.cs rename to ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml.cs index a0cf9b7..e1361ba 100644 --- a/ProxySU_Core/Views/ClientInfoWindow.xaml.cs +++ b/ProxySU_Core/Views/ClientInfo/ClientInfoWindow.xaml.cs @@ -14,7 +14,7 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; -namespace ProxySU_Core.Views +namespace ProxySU_Core.Views.ClientInfo { /// /// ClientInfoWindow.xaml 的交互逻辑 diff --git a/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml b/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml new file mode 100644 index 0000000..17202bc --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml.cs b/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml.cs new file mode 100644 index 0000000..e4455d1 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/ShadowSocksControl.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// ShadowSocksClientInfoControl.xaml 的交互逻辑 + /// + public partial class ShadowSocksControl : UserControl + { + public ShadowSocksControl() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml b/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml new file mode 100644 index 0000000..3094279 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml.cs new file mode 100644 index 0000000..9bfd136 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/Trojan_TCP_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// Trojan_TCP_Control.xaml 的交互逻辑 + /// + public partial class Trojan_TCP_Control : UserControl + { + public Trojan_TCP_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml b/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml new file mode 100644 index 0000000..9201d45 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml.cs new file mode 100644 index 0000000..efa174b --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_KCP_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VLESS_KCP_Control.xaml 的交互逻辑 + /// + public partial class VLESS_KCP_Control : UserControl + { + public VLESS_KCP_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml b/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml new file mode 100644 index 0000000..4e5f5d5 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml.cs new file mode 100644 index 0000000..f0c4070 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_TCP_TLS_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VLESS_TCP_TLS_Control.xaml 的交互逻辑 + /// + public partial class VLESS_TCP_TLS_Control : UserControl + { + public VLESS_TCP_TLS_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml b/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml new file mode 100644 index 0000000..529d1d8 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml.cs new file mode 100644 index 0000000..71f3cd2 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_WS_TLS_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VLESS_WS_TLS_Control.xaml 的交互逻辑 + /// + public partial class VLESS_WS_TLS_Control : UserControl + { + public VLESS_WS_TLS_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml b/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml new file mode 100644 index 0000000..f870668 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml.cs new file mode 100644 index 0000000..5358a86 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VLESS_XTLS_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VLESS_XTLS_Control.xaml 的交互逻辑 + /// + public partial class VLESS_XTLS_Control : UserControl + { + public VLESS_XTLS_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml b/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml new file mode 100644 index 0000000..2f39d47 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml.cs new file mode 100644 index 0000000..4045983 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_KCP_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VMESS_KCP_Control.xaml 的交互逻辑 + /// + public partial class VMESS_KCP_Control : UserControl + { + public VMESS_KCP_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml b/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml new file mode 100644 index 0000000..de3238a --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml.cs new file mode 100644 index 0000000..735e7cf --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_TCP_TLS_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VMESS_TCP_TLS_Control.xaml 的交互逻辑 + /// + public partial class VMESS_TCP_TLS_Control : UserControl + { + public VMESS_TCP_TLS_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml b/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml new file mode 100644 index 0000000..f40bfc0 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml.cs b/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml.cs new file mode 100644 index 0000000..435ca80 --- /dev/null +++ b/ProxySU_Core/Views/ClientInfo/VMESS_WS_TLS_Control.xaml.cs @@ -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 ProxySU_Core.Views.ClientInfo +{ + /// + /// VMESS_WS_TLS_Control.xaml 的交互逻辑 + /// + public partial class VMESS_WS_TLS_Control : UserControl + { + public VMESS_WS_TLS_Control() + { + InitializeComponent(); + } + } +} diff --git a/ProxySU_Core/Views/ClientInfoWindow.xaml b/ProxySU_Core/Views/ClientInfoWindow.xaml deleted file mode 100644 index c1cbeb0..0000000 --- a/ProxySU_Core/Views/ClientInfoWindow.xaml +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ProxySU_Core/Views/MainWindow.xaml.cs b/ProxySU_Core/Views/MainWindow.xaml.cs index b33c227..179c625 100644 --- a/ProxySU_Core/Views/MainWindow.xaml.cs +++ b/ProxySU_Core/Views/MainWindow.xaml.cs @@ -5,6 +5,8 @@ using ProxySU_Core.Common; using ProxySU_Core.Models; using ProxySU_Core.ViewModels; using ProxySU_Core.Views; +using ProxySU_Core.Views.ClientInfo; +using ProxySU_Core.Views.RecordEditor; using System; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/ProxySU_Core/Views/RecordEditor/RecordEditorWindow.xaml b/ProxySU_Core/Views/RecordEditor/RecordEditorWindow.xaml new file mode 100644 index 0000000..9f2ef97 --- /dev/null +++ b/ProxySU_Core/Views/RecordEditor/RecordEditorWindow.xaml @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +