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")