From 240df7e66e9df369ce35099d61f3513f048e6d61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cwanyongkang=E2=80=9D?= <“937888580@qq.com”> Date: Sat, 14 Aug 2021 09:38:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E9=94=8B=E5=AE=9E=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Host/Views.Mobile/LineList/Index.cshtml | 4 +- Host/Views/LineList/Index.cshtml | 4 +- .../Service/AgentClient3Service.cs | 118 +++++++------- .../Service/AgentClient5Service.cs | 147 ++++++++++++++---- 4 files changed, 172 insertions(+), 101 deletions(-) diff --git a/Host/Views.Mobile/LineList/Index.cshtml b/Host/Views.Mobile/LineList/Index.cshtml index a64214e..5a0b54e 100644 --- a/Host/Views.Mobile/LineList/Index.cshtml +++ b/Host/Views.Mobile/LineList/Index.cshtml @@ -184,9 +184,9 @@ this.sstp = '4438'; break; case 5: - this.l2tp = '000'; + this.l2tp = '123'; this.search_field = '老鹰IP'; - this.sstp = '4430'; + this.sstp = '1443'; break; case 6: this.l2tp = '123'; diff --git a/Host/Views/LineList/Index.cshtml b/Host/Views/LineList/Index.cshtml index c7ae4bb..c5963d5 100644 --- a/Host/Views/LineList/Index.cshtml +++ b/Host/Views/LineList/Index.cshtml @@ -178,9 +178,9 @@ this.sstp = '4438'; break; case 5: - this.l2tp = '000'; + this.l2tp = '123'; this.search_field = '老鹰IP'; - this.sstp = '4430'; + this.sstp = '1443'; break; case 6: this.l2tp = '123'; diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient3Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient3Service.cs index 329ec42..8113bb1 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentClient3Service.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentClient3Service.cs @@ -79,13 +79,15 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task NewAccount(string packageKey, string account, string pwd, int connCount = 1, int accountType = 1, int payCount = 1) { + if (packageKey == "free") + return await NewTestAccount(account, pwd); var client = CreateHttpClient(); Random rd = new Random(Guid.NewGuid().GetHashCode()); int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/memberAdd.html?username="+account+"&password="+pwd+"&tel=13073735878&realName=万勇强&idCard=410325199407079912&taocanName="+packageKey+"&maxonline="+connCount+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try @@ -94,9 +96,6 @@ namespace Hncore.Pass.Vpn.Service var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); - Console.WriteLine("====================================================================================="); - Console.WriteLine(content); - Console.WriteLine("====================================================================================="); if (status == "1") { return new ApiResult(ResultCode.C_SUCCESS); @@ -121,8 +120,8 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); - var url = "/gapi/addtestuser.html?username="+account+"&password="+pwd+"&phone=13073735878&realName=万勇强&idCard=410325199407079912&maxonline=1&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; + var sign = MD5(nonce+"pptpm8dr8kj3"); + var url = "/gapi/addtestuser.html?username="+account+"&password="+pwd+"&tel=13073735878&realName=万勇强&idCard=410325199407079912&maxonline=1&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { @@ -130,9 +129,6 @@ namespace Hncore.Pass.Vpn.Service var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); - Console.WriteLine("====================================================================================="); - Console.WriteLine(content); - Console.WriteLine("====================================================================================="); if (status == "1") { return new ApiResult(ResultCode.C_SUCCESS); @@ -208,7 +204,7 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/taocanBuy.html?username="+account+"&taocanName="+packageKey+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try @@ -217,7 +213,7 @@ namespace Hncore.Pass.Vpn.Service var content = await resp.Content.ReadAsStringAsync(); JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("=====================================续费================================================"); Console.WriteLine(content); Console.WriteLine("====================================================================================="); if (status == "1") @@ -282,14 +278,14 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/getUserinfo.html?username="+account+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { var resp = await client.GetAsync(url); var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("=======================================信息=============================================="); Console.WriteLine(content); Console.WriteLine("====================================================================================="); JObject jo = (JObject)JsonConvert.DeserializeObject(content); @@ -336,14 +332,14 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/updatePW.html?username="+account+"&newpwd="+pwd+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { var resp = await client.GetAsync(url); var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("=====================================修改密码================================================"); Console.WriteLine(content); Console.WriteLine("====================================================================================="); JObject jo = (JObject)JsonConvert.DeserializeObject(content); @@ -377,14 +373,14 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/refundAct.html?username="+account+"&refundReason=api&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { var resp = await client.GetAsync(url); var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("=======================================退款=============================================="); Console.WriteLine(content); Console.WriteLine("====================================================================================="); JObject jo = (JObject)JsonConvert.DeserializeObject(content); @@ -418,14 +414,14 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); - var url = "/gapi/userOnline.html?username="+account+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; + var sign = MD5(nonce+"pptpm8dr8kj3"); + var url = "/gapi/radiusOnline.html?username="+account+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { var resp = await client.GetAsync(url); var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("====================================在线================================================="); Console.WriteLine(content); Console.WriteLine("====================================================================================="); JObject jo = (JObject)JsonConvert.DeserializeObject(content); @@ -434,29 +430,43 @@ namespace Hncore.Pass.Vpn.Service if (status == "1") { - foreach (var tr in jo["data"]) - { - JObject jsondata = (JObject)JsonConvert.DeserializeObject(tr.ToJson()); - Console.WriteLine("=========================================================="); - Console.WriteLine(jsondata["callingstationid"].ToString()); - Console.WriteLine("=========================================================="); - - var trData = new OriginAccountOnlineModel + var trData = new OriginAccountOnlineModel { Account = account, OnLine = 1, - LoginIP = jsondata["callingstationid"].ToString(), - ServerIP=jsondata["nasipaddress"].ToString(), - LoginTime=jsondata["acctstarttime"].ToString(), - OnlineTime=jsondata["acctsessiontime"].ToString(), - Id = jsondata["radacctid"].ToString() + LoginIP = jo["callingstationid"].ToString(), + ServerIP=jo["nasipaddress"].ToString(), + LoginTime=jo["acctstarttime"].ToString(), + OnlineTime=jo["acctsessiontime"].ToString(), + Id = jo["radacctid"].ToString() }; retData.Add(trData); - } + return new ApiResult>(retData); + + // foreach (var tr in jo["data"]) + // { + // JObject jsondata = (JObject)JsonConvert.DeserializeObject(tr.ToJson()); + // Console.WriteLine("=========================================================="); + // Console.WriteLine(jsondata["callingstationid"].ToString()); + // Console.WriteLine("=========================================================="); + + // var trData = new OriginAccountOnlineModel + // { + // Account = account, + // OnLine = 1, + // LoginIP = jsondata["callingstationid"].ToString(), + // ServerIP=jsondata["nasipaddress"].ToString(), + // LoginTime=jsondata["acctstarttime"].ToString(), + // OnlineTime=jsondata["acctsessiontime"].ToString(), + // Id = jsondata["radacctid"].ToString() + // }; + + // retData.Add(trData); + // } - return new ApiResult>(retData); + // return new ApiResult>(retData); } else { @@ -483,14 +493,14 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); + var sign = MD5(nonce+"pptpm8dr8kj3"); var url = "/gapi/disConnect.html?radacctid="+id+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; try { var resp = await client.GetAsync(url); var content = await resp.Content.ReadAsStringAsync(); - Console.WriteLine("====================================================================================="); + Console.WriteLine("=================================踢号===================================================="); Console.WriteLine(content); Console.WriteLine("====================================================================================="); JObject jo = (JObject)JsonConvert.DeserializeObject(content); @@ -525,39 +535,19 @@ namespace Hncore.Pass.Vpn.Service int i = rd.Next(); var time_s = DateTime.Now.GetUnixTimeStamp(); var nonce = MD5(time_s.ToString()) + i.ToString(); - var sign = MD5(nonce+"admin1123456"); - var url = "/gapi/getuserlenNum.html?username="+account+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; + var sign = MD5(nonce+"pptpm8dr8kj3"); + var url = "/gapi/userExist.html?username="+account+"&agentOrigin=admin1&nonce="+nonce+"&sign="+sign; 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["code"].ToString(); - if (status == "1") - { - return false; - } - else + if (content == "1") { return true; } - - // return false; - // var client = CreateHttpClient(); - // var map = new Dictionary(){ - // {"groupname",account } - // }; - // var title = GetOpTitle("Exist", account); - // LogHelper.Info(title, map.ToJson()); - - // var ret = await this.NewAccount("w", account, "123"); - // if (ret.Code == ResultCode.C_SUCCESS) - // { - // await this.Refund(account, "w", 1); - // return false; - // } + else + { + return false; + } } } } diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs index 25303d4..c51d450 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs @@ -51,6 +51,10 @@ namespace Hncore.Pass.Vpn.Service public override async Task NewAccount(string packageKey, string account, string pwd, int connCount = 1, int accountType = 1, int payCount = 1) { + if(packageKey == "free"){ + return await NewTestAccount(packageKey, account, pwd, 1, accountType, 1); + } + var secretId = "626B6170693231"; var secretKey = "6b3fdfc206841f44c6609bf19c182a6a"; @@ -74,6 +78,47 @@ namespace Hncore.Pass.Vpn.Service } + /// + /// 新开 + /// + /// + /// + /// + /// + public async Task NewTestAccount(string packageKey, string account, string pwd, int connCount = 1, int accountType = 1, int payCount = 1) + { + var client = CreateHttpClient(); + var map = new Dictionary(){ + {"taocanName",packageKey }, + {"username",account }, + {"password",pwd }, + {"maxonline",connCount.ToString()}, + {"type",accountType.ToString()}, + {"tel","17719092232"} + }; + var title = GetOpTitle("NewAccount", account); + LogHelper.Info(title, map.ToJson()); + try + { + var resp = await client.PostAsForm(this.SingleAddUrl, map); + var content = await resp.Content.ReadAsStringAsync(); + if (content.Has() && content.IndexOf("{alert(\"成功\")") != -1) + { + return new ApiResult(ResultCode.C_SUCCESS); + } + else + { + LogHelper.Error(title, content); + return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败"); + } + } + catch (Exception ex) + { + LogHelper.Error(title, ex.Message); + return new ApiResult(ResultCode.C_INVALID_ERROR, "开户失败"); + } + } + /// /// 续费 /// @@ -141,6 +186,53 @@ namespace Hncore.Pass.Vpn.Service return false; } } +/// + /// 得到账号信息 + /// + /// + /// + /// + public override async Task> GetAccountInfo(string account,bool isTest=false) + { + + var secretId = "626B6170693231"; + var secretKey = "6b3fdfc206841f44c6609bf19c182a6a"; + + var url = "http://bkapi.pptp.biz/userapi/?secretId="+secretId+"&secretKey="+secretKey+"&type=getuserinfo&user="+account; + + var client = CreateHttpClient(); + + var resp = await client.GetAsync(url); + var content = await resp.Content.ReadAsStringAsync(); + JObject jo = (JObject)JsonConvert.DeserializeObject(content); + var status = jo["code"].ToString(); + + Console.WriteLine("---------------------------------------------------------------"); + Console.WriteLine(jo); + Console.WriteLine("---------------------------------------------------------------"); + + + if (status =="1") + { + var trData = new OriginAccountModel + { + Account = account, + Pwd = "", + AccountType = "", + Package = "", + RegistTime = "", + EndTime = jo["expiretime"].ToString(), + RestTime = "", + ConnectCount = jo["logincount"].ToString(), + Amount = "", + IsActive = "", + Remark = "", + }; + return new ApiResult(trData); + } + + return new ApiResult(ResultCode.C_INVALID_ERROR, "没有查询到信息"); + } /// /// 修改账号密码 @@ -151,42 +243,26 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task UpdateAccountPwd(string account, string pwd) { - var ret = await this.GetAccountInfo(account); - if (ret.Code != ResultCode.C_SUCCESS) - { - return false; - } - var accountModel = ret.Data; - if (accountModel == null) - { - return false; - } + + var secretId = "626B6170693231"; + var secretKey = "6b3fdfc206841f44c6609bf19c182a6a"; + + var url = "http://bkapi.pptp.biz/userapi/?secretId="+secretId+"&secretKey="+secretKey+"&type=setuser&user="+account+"&&new_pwd="+pwd; + var client = CreateHttpClient(); - var map = new Dictionary(){ - {"username",account }, - {"password",pwd }, - {"maxOnline",ret.Data.ConnectCount }, - }; - LogHelper.Info(GetOpTitle("UpdateAccountPwd", account), map.ToJson()); - try + + var resp = await client.GetAsync(url); + var content = await resp.Content.ReadAsStringAsync(); + JObject jo = (JObject)JsonConvert.DeserializeObject(content); + var status = jo["code"].ToString(); + + if (status =="1") { - var url = string.Format(this.UpdateUrl, accountModel.Id); - var resp = await client.PostAsForm(url, map); - var content = await resp.Content.ReadAsStringAsync(); - if (content.Has() && content.IndexOf("更新成功") != -1) - { - return true; - } - else - { - LogHelper.Error(GetOpTitle("UpdateAccountPwd", account), content); - } + return true; + } else { + return false; } - catch (Exception ex) - { - LogHelper.Error(GetOpTitle("UpdateAccountPwd", account), ex); - } - return false; + } /// /// 退款 @@ -400,6 +476,11 @@ namespace Hncore.Pass.Vpn.Service JObject jo = (JObject)JsonConvert.DeserializeObject(content); var status = jo["code"].ToString(); + + Console.WriteLine("====================================在线================================================="); + Console.WriteLine(content); + Console.WriteLine("====================================================================================="); + if (status =="1")