diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs index 3359891..cd025d5 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs @@ -324,9 +324,10 @@ namespace Hncore.Pass.Vpn.Service type = arrStr[1]; } Dictionary map = new Dictionary(){ + {"t_id","121" }, {"passwd",pwd }, - {"account",account }, - {"type",type }, + {"account",account_r }, + {"type",type }, }; map = signAct(map); @@ -336,7 +337,6 @@ namespace Hncore.Pass.Vpn.Service var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); - if (status == "200") { return true; @@ -387,33 +387,31 @@ namespace Hncore.Pass.Vpn.Service var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); - + var retData = new List(); if (status == "200") { if(jo.ContainsKey("data")){ - foreach (var tr in jo["data"]) - { - JObject jsondata = (JObject)JsonConvert.DeserializeObject(tr.ToJson()); - if (jsondata["is_online"].ToString() == "1") { - var trData = new OriginAccountOnlineModel - { - Account = acc, - ServerIP = "", - LoginTime = "", - OnlineTime = "", - LoginIP = "", - UpStream = "", - DownStream = "", - Id= "{account:\""+acc+"\",type:\""+type.ToString()+"\"}", - - }; - - retData.Add(trData); - } + JObject jsondata1 = (JObject)JsonConvert.DeserializeObject(jo["data"].ToJson()); + JObject jsondata = (JObject)JsonConvert.DeserializeObject(jsondata1[acc].ToJson()); + if (jsondata["is_online"].ToString() == "1") { + var trData = new OriginAccountOnlineModel + { + Account = acc, + ServerIP = "", + LoginTime = "", + OnlineTime = "", + LoginIP = "", + UpStream = "", + DownStream = "", + Id= "{account:\""+acc+"\",type:\""+type.ToString()+"\"}", + + }; + + retData.Add(trData); } } return new ApiResult>(retData); @@ -464,30 +462,18 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task Exist(string account) { - Random rd = new Random(Guid.NewGuid().GetHashCode()); - int i = rd.Next(); - - var time_s = DateTime.Now.GetUnixTimeStamp(); - var agentid = "admin1"; - var nonce = MD5(time_s.ToString()) + i.ToString(); - - var apikey = "0c4641686764e0ee56ef54b16fddc966"; - var sign = MD5(time_s+nonce+apikey); - - var url = "/api/raduserExist?agentid="+agentid+"&ti="+time_s+"&nonce="+nonce+"&sign="+sign+"&username="+account; - - var client = CreateHttpClient(); - - var resp = await client.GetAsync(url); - var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("========================================================================="); - Console.WriteLine(content); - Console.WriteLine("========================================================================="); - JObject jo = (JObject)JsonConvert.DeserializeObject(content); - var status = jo["errcode"].ToString(); + Dictionary map = new Dictionary(); + map.Add("user", account); + map.Add("type", "0"); + map = signAct(map); - if (status =="0") - { + var client = CreateHttpClient(); + var resp = await client.PostAsForm("https://jyip.net/open-api//check-vpn-account-exists", map); + var content = await resp.Content.ReadAsStringAsync(); + JObject jo = (JObject)JsonConvert.DeserializeObject(content); + + + if (jo["code"].ToString() == "404") { return false; } return true; @@ -498,7 +484,7 @@ namespace Hncore.Pass.Vpn.Service { var authStr=""; body.Add("st",DateTime.Now.GetUnixTimeStamp().ToString()); - body.Add("appid","49330ae23dad78f9"); + body.Add("app_id","49330ae23dad78f9"); body = body.OrderBy(kv => kv.Key).ToDictionary(kv => kv.Key, p => p.Value);