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);
+ }
}
///
/// 踢号