using System.Collections.Generic; using Netch.Models; namespace Netch.ServerEx.VMess { public class VMess : Server { public VMess() { Type = "VMess"; } /// /// 用户 ID /// public string UserID { get; set; } /// /// 额外 ID /// public int AlterID { get; set; } /// /// 加密方式 /// public string EncryptMethod { get; set; } = VMessGlobal.EncryptMethods[0]; /// /// 传输协议 /// public string TransferProtocol { get; set; } = VMessGlobal.TransferProtocols[0]; /// /// 伪装类型 /// public string FakeType { get; set; } = VMessGlobal.FakeTypes[0]; /// /// QUIC /// public string QUIC { get; set; } = VMessGlobal.QUIC[0]; /// /// 伪装域名 /// public string Host { get; set; } /// /// 传输路径 /// public string Path { get; set; } /// /// QUIC 加密方式 /// public string QUICSecure { get; set; } = VMessGlobal.QUIC[0]; /// /// QUIC 加密密钥 /// public string QUICSecret { get; set; } = string.Empty; /// /// TLS 底层传输安全 /// public bool TLSSecure { get; set; } = false; /// /// Mux 多路复用 /// public bool UseMux { get; set; } = true; } public class VMessGlobal { public static readonly List EncryptMethods = new List { "auto", "none", "aes-128-gcm", "chacha20-poly1305" }; public static readonly List QUIC = new List { "none", "aes-128-gcm", "chacha20-poly1305" }; /// /// V2Ray 传输协议 /// public static readonly List TransferProtocols = new List { "tcp", "kcp", "ws", "h2", "quic" }; /// /// V2Ray 伪装类型 /// public static readonly List FakeTypes = new List { "none", "http", "srtp", "utp", "wechat-video", "dtls", "wireguard" }; } }