using Newtonsoft.Json; using ProxySU_Core.Common; using ProxySU_Core.Models.Developers; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace ProxySU_Core.Models { public class XraySettings : IParameters { public XraySettings() { var guid = Guid.NewGuid().ToString(); Port = 443; VLESS_KCP_Port = 2001; VLESS_gRPC_Port = 2002; VMESS_KCP_Port = 3001; ShadowSocksPort = 4001; UUID = guid; Types = new List(); VLESS_WS_Path = "/vlessws"; VLESS_H2_Path = "/vlessh2"; VLESS_KCP_Type = "none"; VLESS_KCP_Seed = guid; VLESS_gRPC_ServiceName = "xray_gRPC"; VMESS_WS_Path = "/vmessws"; VMESS_TCP_Path = "/vmesstcp"; VMESS_H2_Path = "/vmessh2"; VMESS_KCP_Seed = guid; VMESS_KCP_Type = "none"; TrojanPassword = guid; Trojan_WS_Path = "/trojanws"; ShadowsocksPassword = guid; ShadowsocksMethod = "aes-128-gcm"; } /// /// 访问端口 /// public int Port { get; set; } /// /// UUID /// public string UUID { get; set; } #region vless /// /// vless ws路径 /// public string VLESS_WS_Path { get; set; } /// /// 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; } /// /// vless kcp端口 /// public int VLESS_KCP_Port { get; set; } /// /// grpc service name /// public string VLESS_gRPC_ServiceName { get; set; } /// /// grpc port /// public int VLESS_gRPC_Port { get; set; } #endregion #region vmess /// /// vmess ws路径 /// public string VMESS_WS_Path { get; set; } /// /// vmess tcp路径 /// public string VMESS_TCP_Path { get; set; } /// /// vmess http2 path /// public string VMESS_H2_Path { get; set; } /// /// vmess kcp seed /// public string VMESS_KCP_Seed { get; set; } /// /// vmess kcp type /// public string VMESS_KCP_Type { get; set; } /// /// vmess kcp端口 /// public int VMESS_KCP_Port { get; set; } #endregion #region Trojan /// /// trojan密码 /// public string TrojanPassword { get; set; } /// /// trojan ws path /// public string Trojan_WS_Path { get; set; } #endregion #region ShadowsocksAEAD /// /// ss password /// public string ShadowsocksPassword { get; set; } /// /// ss method /// public string ShadowsocksMethod { get; set; } /// /// ss端口 /// public int ShadowSocksPort { get; set; } #endregion /// /// 域名 /// public string Domain { get; set; } /// /// 伪装域名 /// public string MaskDomain { get; set; } /// /// 安装类型 /// public List Types { get; set; } public string GetPath(XrayType type) { switch (type) { case XrayType.VLESS_WS: return VLESS_WS_Path; case XrayType.VLESS_H2: return VLESS_H2_Path; case XrayType.VMESS_TCP: return VMESS_TCP_Path; case XrayType.VMESS_WS: return VMESS_WS_Path; case XrayType.Trojan_WS: return Trojan_WS_Path; // no path case XrayType.VLESS_TCP_XTLS: case XrayType.VLESS_TCP: case XrayType.VLESS_KCP: case XrayType.VMESS_KCP: case XrayType.Trojan_TCP: return string.Empty; default: return string.Empty; } } } public enum XrayType { // 入口 VLESS_TCP_XTLS = 100, // vless 101开头 VLESS_TCP = 101, VLESS_WS = 102, VLESS_H2 = 103, VLESS_KCP = 104, VLESS_gRPC = 110, // vmess 201开头 VMESS_TCP = 201, VMESS_WS = 202, VMESS_H2 = 203, VMESS_KCP = 204, // trojan 301开头 Trojan_TCP = 301, Trojan_WS = 302, // ss ShadowsocksAEAD = 401 } }