Bug修复+流量限制+带宽限制

This commit is contained in:
刘河
2019-01-28 14:45:55 +08:00
parent 2af7b3d737
commit eccf1dbfb8
22 changed files with 316 additions and 125 deletions

View File

@@ -40,6 +40,16 @@ func (s *ClientController) Add() {
Crypt: s.GetBoolNoErr("crypt"),
Mux: s.GetBoolNoErr("mux"),
},
RateLimit: s.GetIntNoErr("rate_limit"),
Flow: &utils.Flow{
ExportFlow: 0,
InletFlow: 0,
FlowLimit: int64(s.GetIntNoErr("flow_limit")),
},
}
if t.RateLimit > 0 {
t.Rate = utils.NewRate(int64(t.RateLimit * 1024))
t.Rate.Start()
}
server.CsvDb.NewClient(t)
s.AjaxOk("添加成功")
@@ -69,6 +79,17 @@ func (s *ClientController) Edit() {
c.Cnf.Compress = s.GetString("compress")
c.Cnf.Crypt = s.GetBoolNoErr("crypt")
c.Cnf.Mux = s.GetBoolNoErr("mux")
c.Flow.FlowLimit = int64(s.GetIntNoErr("flow_limit"))
c.RateLimit = s.GetIntNoErr("rate_limit")
if c.Rate != nil {
c.Rate.Stop()
}
if c.RateLimit > 0 {
c.Rate = utils.NewRate(int64(c.RateLimit * 1024))
c.Rate.Start()
} else {
c.Rate = nil
}
server.CsvDb.UpdateClient(c)
}
s.AjaxOk("修改成功")

View File

@@ -87,6 +87,7 @@ func (s *IndexController) Add() {
UseClientCnf: s.GetBoolNoErr("use_client"),
Status: true,
Remark: s.GetString("remark"),
Flow: &utils.Flow{},
}
var err error
if t.Client, err = server.CsvDb.GetClient(s.GetIntNoErr("client_id")); err != nil {
@@ -127,6 +128,9 @@ func (s *IndexController) Edit() {
t.Config.Mux = s.GetBoolNoErr("mux")
t.UseClientCnf = s.GetBoolNoErr("use_client")
t.Remark = s.GetString("remark")
if t.Client, err = server.CsvDb.GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("修改失败")
}
server.CsvDb.UpdateTask(t)
}
s.AjaxOk("修改成功")
@@ -187,14 +191,16 @@ func (s *IndexController) AddHost() {
s.display("index/hadd")
} else {
h := &utils.Host{
Client: &utils.Client{
Id: s.GetIntNoErr("client_id"),
},
Host: s.GetString("host"),
Target: s.GetString("target"),
HeaderChange: s.GetString("header"),
HostChange: s.GetString("hostchange"),
Remark: s.GetString("remark"),
Flow: &utils.Flow{},
}
var err error
if h.Client, err = server.CsvDb.GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("添加失败")
}
server.CsvDb.NewHost(h)
s.AjaxOk("添加成功")
@@ -216,13 +222,16 @@ func (s *IndexController) EditHost() {
if h, err := server.GetInfoByHost(host); err != nil {
s.error()
} else {
h.Client.Id = s.GetIntNoErr("client_id")
h.Host = s.GetString("nhost")
h.Target = s.GetString("target")
h.HeaderChange = s.GetString("header")
h.HostChange = s.GetString("hostchange")
h.Remark = s.GetString("remark")
server.CsvDb.UpdateHost(h)
var err error
if h.Client, err = server.CsvDb.GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("修改失败")
}
}
s.AjaxOk("修改成功")
}

View File

@@ -8,6 +8,14 @@
<label class="control-label">备注</label>
<input class="form-control" type="text" name="Remark" placeholder="客户端备注">
</div>
<div class="form-group" id="flow_limit">
<label class="control-label">流量限制(单位M为空不限制)</label>
<input class="form-control" type="text" name="flow_limit" placeholder="为空不限制">
</div>
<div class="form-group" id="rate_limit">
<label class="control-label">速度限制(单位KB为空不限制)</label>
<input class="form-control" type="text" name="rate_limit" placeholder="为空不限制">
</div>
<div class="form-group" id="u">
<label class="control-label">验证用户名(仅socks5,web穿透支持)</label>
<input class="form-control" type="text" name="u" placeholder="不填则无需验证">

View File

@@ -9,6 +9,16 @@
<label class="control-label">备注</label>
<input class="form-control" value="{{.c.Remark}}" type="text" name="Remark" placeholder="客户端备注">
</div>
<div class="form-group" id="flow_limit">
<label class="control-label">流量限制(单位M为空不限制)</label>
<input class="form-control" value="{{.c.Flow.FlowLimit}}" type="text" name="flow_limit"
placeholder="为空不限制">
</div>
<div class="form-group" id="rate_limit">
<label class="control-label">速度限制(单位KB为空不限制)</label>
<input class="form-control" value="{{.c.RateLimit}}" type="text" name="rate_limit"
placeholder="为空不限制">
</div>
<div class="form-group" id="u">
<label class="control-label">验证用户名(仅socks5,web穿透支持)</label>
<input class="form-control" value="{{.c.Cnf.U}}" type="text" name="u"

View File

@@ -99,7 +99,7 @@
}
},
{
targets: 1,
targets: 0,
render: function (data, type, row, meta) {
return row.Client.Id
}