diff --git a/Host/Views/User/Index.cshtml b/Host/Views/User/Index.cshtml index f471bba..f1e264d 100644 --- a/Host/Views/User/Index.cshtml +++ b/Host/Views/User/Index.cshtml @@ -481,7 +481,7 @@
账户信息 - @* 上传协议书 *@ + 上传协议书
diff --git a/Host/Views/User/upload.cshtml b/Host/Views/User/upload.cshtml index ac5c193..c1c1b7f 100644 --- a/Host/Views/User/upload.cshtml +++ b/Host/Views/User/upload.cshtml @@ -2,24 +2,77 @@ @{ Layout = "_UserLayout"; } -
+

上传使用协议

-
- - + +
+ + +
+
+ + +

上传签订的安全使用协议书 下载使用协议样板

+
+
+ + +

上传涉及我方产品的业务视频

+
+
+
+ +
+
\ No newline at end of file diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs index 357201b..3359891 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentClient13Service.cs @@ -369,46 +369,51 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task>> OnLine(string account) { + var acc = ""; + var type = ""; + string[] arrStr = account.Split('-'); + acc = arrStr[0]; + type = arrStr[1]; - Random rd = new Random(Guid.NewGuid().GetHashCode()); - int i = rd.Next(); + Dictionary map = new Dictionary(){ + {"type",type }, + {"account",acc }, + }; - 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/raduserAcct?agentid="+agentid+"&ti="+time_s+"&nonce="+nonce+"&sign="+sign+"&username="+account; - - var client = CreateHttpClient(); - - var resp = await client.GetAsync(url); + map = signAct(map); + + var client = CreateHttpClient(); + var resp = await client.PostAsForm("https://jyip.net/open-api/account-is-online", map); var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); - var status = jo["errcode"].ToString(); + var status = jo["code"].ToString(); + var retData = new List(); - if (status =="0") + + if (status == "200") { if(jo.ContainsKey("data")){ foreach (var tr in jo["data"]) { JObject jsondata = (JObject)JsonConvert.DeserializeObject(tr.ToJson()); - var trData = new OriginAccountOnlineModel - { - Account = account, - ServerIP = jsondata["serverip"].ToString(), - LoginTime = jsondata["starttime"].ToString(), - OnlineTime = "", - LoginIP = jsondata["framedip"].ToString(), - UpStream = "", - DownStream = "", - Id= "{account:\""+account+"\",radacctid:\""+jsondata["radacctid"].ToString()+"\"}", - - }; - - retData.Add(trData); + 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); @@ -427,41 +432,28 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task KillOut( string id) { - - 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); - JObject userinfo = (JObject)JsonConvert.DeserializeObject(id); - var url = "/api/raduserDisconnect?agentid="+agentid+"&ti="+time_s+"&nonce="+nonce+"&sign="+sign+"&username="+userinfo["account"]+"&radacctid="+userinfo["radacctid"]; - var client = CreateHttpClient(); - var title = GetOpTitle("KillOut", id); - var info = ""; + Dictionary map = new Dictionary(){ + {"type",userinfo["type"].ToString() }, + {"user",userinfo["account"].ToString() }, + }; + map = signAct(map); + + var client = CreateHttpClient(); + var resp = await client.PostAsForm("https://jyip.net/open-api/kick-off-line", map); + var content = await resp.Content.ReadAsStringAsync(); + JObject jo = (JObject)JsonConvert.DeserializeObject(content); + var status = jo["code"].ToString(); + - try + + if (status =="200") { - - var resp = await client.GetAsync(url); - var content = await resp.Content.ReadAsStringAsync(); - JObject jo = (JObject)JsonConvert.DeserializeObject(content); - var status = jo["errcode"].ToString(); - if (status =="0") - { - return true; - } - } - catch (Exception ex) - { - LogHelper.Error(title, ex.Message + "-->info:" + info); - } + return true; + } return false; } diff --git a/Services/Hncore.Pass.Vpn/Service/AgentService.cs b/Services/Hncore.Pass.Vpn/Service/AgentService.cs index e6807d8..8de16aa 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentService.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentService.cs @@ -363,7 +363,18 @@ namespace Hncore.Pass.Vpn.Service var product = await m_ProductService.GetById(productId); var agent = GetAgent(product); agent.Init(product.BaseUrl, product.Token); - return await agent.OnLine(account); + + if (productId == 28) + { + var accountInfo = await GetProductAccount(productId, account); + if (accountInfo.PackageName.Contains("静态")){ + return await agent.OnLine(account+"-0"); + } else { + return await agent.OnLine(account+"-1"); + } + } else { + return await agent.OnLine(account); + } } /// /// 踢号