Db file change

This commit is contained in:
刘河
2019-03-29 15:21:30 +08:00
parent cd7f99063c
commit 5fd335f330
17 changed files with 597 additions and 567 deletions

View File

@@ -156,13 +156,13 @@ func (s *BaseController) CheckUserAuth() {
if id := s.GetIntNoErr("id"); id != 0 {
belong := false
if strings.Contains(s.actionName, "h") {
if v, ok := file.GetCsvDb().Hosts.Load(id); ok {
if v, ok := file.GetDb().JsonDb.Hosts.Load(id); ok {
if v.(*file.Host).Client.Id == s.GetSession("clientId").(int) {
belong = true
}
}
} else {
if v, ok := file.GetCsvDb().Tasks.Load(id); ok {
if v, ok := file.GetDb().JsonDb.Tasks.Load(id); ok {
if v.(*file.Tunnel).Client.Id == s.GetSession("clientId").(int) {
belong = true
}

View File

@@ -40,7 +40,7 @@ func (s *ClientController) Add() {
} else {
t := &file.Client{
VerifyKey: s.GetString("vkey"),
Id: int(file.GetCsvDb().GetClientId()),
Id: int(file.GetDb().JsonDb.GetClientId()),
Status: true,
Remark: s.GetString("remark"),
Cnf: &file.Config{
@@ -64,7 +64,7 @@ func (s *ClientController) Add() {
t.Rate = rate.NewRate(int64(t.RateLimit * 1024))
t.Rate.Start()
}
if err := file.GetCsvDb().NewClient(t); err != nil {
if err := file.GetDb().NewClient(t); err != nil {
s.AjaxErr(err.Error())
}
s.AjaxOk("add success")
@@ -74,7 +74,7 @@ func (s *ClientController) GetClient() {
if s.Ctx.Request.Method == "POST" {
id := s.GetIntNoErr("id")
data := make(map[string]interface{})
if c, err := file.GetCsvDb().GetClient(id); err != nil {
if c, err := file.GetDb().GetClient(id); err != nil {
data["code"] = 0
} else {
data["code"] = 1
@@ -90,7 +90,7 @@ func (s *ClientController) Edit() {
id := s.GetIntNoErr("id")
if s.Ctx.Request.Method == "GET" {
s.Data["menu"] = "client"
if c, err := file.GetCsvDb().GetClient(id); err != nil {
if c, err := file.GetDb().GetClient(id); err != nil {
s.error()
} else {
s.Data["c"] = c
@@ -98,17 +98,17 @@ func (s *ClientController) Edit() {
s.SetInfo("edit client")
s.display()
} else {
if c, err := file.GetCsvDb().GetClient(id); err != nil {
if c, err := file.GetDb().GetClient(id); err != nil {
s.error()
} else {
if s.GetString("web_username") != "" {
if s.GetString("web_username") == beego.AppConfig.String("web_username") || !file.GetCsvDb().VerifyUserName(s.GetString("web_username"), c.Id) {
if s.GetString("web_username") == beego.AppConfig.String("web_username") || !file.GetDb().VerifyUserName(s.GetString("web_username"), c.Id) {
s.AjaxErr("web login username duplicate, please reset")
return
}
}
if s.GetSession("isAdmin").(bool) {
if !file.GetCsvDb().VerifyVkey(s.GetString("vkey"), c.Id) {
if !file.GetDb().VerifyVkey(s.GetString("vkey"), c.Id) {
s.AjaxErr("Vkey duplicate, please reset")
return
}
@@ -135,7 +135,7 @@ func (s *ClientController) Edit() {
c.Rate = rate.NewRate(int64(2 << 23))
c.Rate.Start()
}
file.GetCsvDb().StoreClientsToCsv()
file.GetDb().JsonDb.StoreClientsToJsonFile()
}
s.AjaxOk("save success")
}
@@ -144,7 +144,7 @@ func (s *ClientController) Edit() {
//更改状态
func (s *ClientController) ChangeStatus() {
id := s.GetIntNoErr("id")
if client, err := file.GetCsvDb().GetClient(id); err == nil {
if client, err := file.GetDb().GetClient(id); err == nil {
client.Status = s.GetBoolNoErr("status")
if client.Status == false {
server.DelClientConnect(client.Id)
@@ -157,7 +157,7 @@ func (s *ClientController) ChangeStatus() {
//删除客户端
func (s *ClientController) Del() {
id := s.GetIntNoErr("id")
if err := file.GetCsvDb().DelClient(id); err != nil {
if err := file.GetDb().DelClient(id); err != nil {
s.AjaxErr("delete error")
}
server.DelTunnelAndHostByClientId(id, false)

View File

@@ -94,7 +94,7 @@ func (s *IndexController) Add() {
ServerIp: s.GetString("server_ip"),
Mode: s.GetString("type"),
Target: &file.Target{TargetStr: s.GetString("target")},
Id: int(file.GetCsvDb().GetTaskId()),
Id: int(file.GetDb().JsonDb.GetTaskId()),
Status: true,
Remark: s.GetString("remark"),
Password: s.GetString("password"),
@@ -106,10 +106,10 @@ func (s *IndexController) Add() {
s.AjaxErr("The port cannot be opened because it may has been occupied or is no longer allowed.")
}
var err error
if t.Client, err = file.GetCsvDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
if t.Client, err = file.GetDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr(err.Error())
}
if err := file.GetCsvDb().NewTask(t); err != nil {
if err := file.GetDb().NewTask(t); err != nil {
s.AjaxErr(err.Error())
}
if err := server.AddTask(t); err != nil {
@@ -122,7 +122,7 @@ func (s *IndexController) Add() {
func (s *IndexController) GetOneTunnel() {
id := s.GetIntNoErr("id")
data := make(map[string]interface{})
if t, err := file.GetCsvDb().GetTask(id); err != nil {
if t, err := file.GetDb().GetTask(id); err != nil {
data["code"] = 0
} else {
data["code"] = 1
@@ -134,7 +134,7 @@ func (s *IndexController) GetOneTunnel() {
func (s *IndexController) Edit() {
id := s.GetIntNoErr("id")
if s.Ctx.Request.Method == "GET" {
if t, err := file.GetCsvDb().GetTask(id); err != nil {
if t, err := file.GetDb().GetTask(id); err != nil {
s.error()
} else {
s.Data["t"] = t
@@ -142,10 +142,10 @@ func (s *IndexController) Edit() {
s.SetInfo("edit tunnel")
s.display()
} else {
if t, err := file.GetCsvDb().GetTask(id); err != nil {
if t, err := file.GetDb().GetTask(id); err != nil {
s.error()
} else {
if client, err := file.GetCsvDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
if client, err := file.GetDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("modified error,the client is not exist")
return
} else {
@@ -166,7 +166,7 @@ func (s *IndexController) Edit() {
t.LocalPath = s.GetString("local_path")
t.StripPre = s.GetString("strip_pre")
t.Remark = s.GetString("remark")
file.GetCsvDb().UpdateTask(t)
file.GetDb().UpdateTask(t)
server.StopServer(t.Id)
server.StartTask(t.Id)
}
@@ -207,7 +207,7 @@ func (s *IndexController) HostList() {
} else {
start, length := s.GetAjaxParams()
clientId := s.GetIntNoErr("client_id")
list, cnt := file.GetCsvDb().GetHost(start, length, clientId, s.GetString("search"))
list, cnt := file.GetDb().GetHost(start, length, clientId, s.GetString("search"))
s.AjaxTable(list, cnt, cnt)
}
}
@@ -215,7 +215,7 @@ func (s *IndexController) HostList() {
func (s *IndexController) GetHost() {
if s.Ctx.Request.Method == "POST" {
data := make(map[string]interface{})
if h, err := file.GetCsvDb().GetHostById(s.GetIntNoErr("id")); err != nil {
if h, err := file.GetDb().GetHostById(s.GetIntNoErr("id")); err != nil {
data["code"] = 0
} else {
data["data"] = h
@@ -228,7 +228,7 @@ func (s *IndexController) GetHost() {
func (s *IndexController) DelHost() {
id := s.GetIntNoErr("id")
if err := file.GetCsvDb().DelHost(id); err != nil {
if err := file.GetDb().DelHost(id); err != nil {
s.AjaxErr("delete error")
}
s.AjaxOk("delete success")
@@ -242,7 +242,7 @@ func (s *IndexController) AddHost() {
s.display("index/hadd")
} else {
h := &file.Host{
Id: int(file.GetCsvDb().GetHostId()),
Id: int(file.GetDb().JsonDb.GetHostId()),
Host: s.GetString("host"),
Target: &file.Target{TargetStr: s.GetString("target")},
HeaderChange: s.GetString("header"),
@@ -253,10 +253,10 @@ func (s *IndexController) AddHost() {
Scheme: s.GetString("scheme"),
}
var err error
if h.Client, err = file.GetCsvDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
if h.Client, err = file.GetDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("add error")
}
if err := file.GetCsvDb().NewHost(h); err != nil {
if err := file.GetDb().NewHost(h); err != nil {
s.AjaxErr("add fail" + err.Error())
}
s.AjaxOk("add success")
@@ -267,7 +267,7 @@ func (s *IndexController) EditHost() {
id := s.GetIntNoErr("id")
if s.Ctx.Request.Method == "GET" {
s.Data["menu"] = "host"
if h, err := file.GetCsvDb().GetHostById(id); err != nil {
if h, err := file.GetDb().GetHostById(id); err != nil {
s.error()
} else {
s.Data["h"] = h
@@ -275,7 +275,7 @@ func (s *IndexController) EditHost() {
s.SetInfo("edit")
s.display("index/hedit")
} else {
if h, err := file.GetCsvDb().GetHostById(id); err != nil {
if h, err := file.GetDb().GetHostById(id); err != nil {
s.error()
} else {
if h.Host != s.GetString("host") {
@@ -283,12 +283,12 @@ func (s *IndexController) EditHost() {
tmpHost.Host = s.GetString("host")
tmpHost.Location = s.GetString("location")
tmpHost.Scheme = s.GetString("scheme")
if file.GetCsvDb().IsHostExist(tmpHost) {
if file.GetDb().IsHostExist(tmpHost) {
s.AjaxErr("host has exist")
return
}
}
if client, err := file.GetCsvDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
if client, err := file.GetDb().GetClient(s.GetIntNoErr("client_id")); err != nil {
s.AjaxErr("modified error,the client is not exist")
} else {
h.Client = client
@@ -300,7 +300,7 @@ func (s *IndexController) EditHost() {
h.Remark = s.GetString("remark")
h.Location = s.GetString("location")
h.Scheme = s.GetString("scheme")
file.GetCsvDb().StoreHostToCsv()
file.GetDb().JsonDb.StoreHostToJsonFile()
}
s.AjaxOk("modified success")
}

View File

@@ -24,7 +24,7 @@ func (self *LoginController) Verify() {
}
b, err := beego.AppConfig.Bool("allow_user_login")
if err == nil && b && !auth {
file.GetCsvDb().Clients.Range(func(key, value interface{}) bool {
file.GetDb().JsonDb.Clients.Range(func(key, value interface{}) bool {
v := value.(*file.Client)
if !v.Status || v.NoDisplay {
return true