success write tokens to config with toml (not finish)

This commit is contained in:
2023-09-15 19:09:20 +08:00
parent 7e09934024
commit 856bb3e27b
8 changed files with 39 additions and 33 deletions

View File

@@ -422,6 +422,9 @@ var loadUserList = (function ($) {
*/
function add(data, index) {
var loading = layui.layer.load();
data.ports = data.ports.split(',')
data.domains = data.domains.split(',')
data.subdomains = data.subdomains.split(',')
$.ajax({
url: '/add',
type: 'post',

View File

@@ -111,15 +111,9 @@ func parseConfigFile(configFile, tokensFile string) (controller.HandleController
}
}
tokens := make(map[string]controller.TokenInfo)
for _, token := range config.Tokens {
tokens[token.User] = token
}
return controller.HandleController{
CommonInfo: config.Common,
Tokens: tokens,
Tokens: config.Tokens.Tokens,
Version: version,
ConfigFile: configFile,
TokensFile: tokensFile,

View File

@@ -3,8 +3,8 @@
# frps panel config info
plugin_addr = "127.0.0.1" #aadr
plugin_port = 7200
admin_user = "admin"
admin_pwd = "admin"
#admin_user = "admin"
#admin_pwd = "admin"
# specified login state keep time
admin_keep_time = 0

View File

@@ -1,18 +1,17 @@
# token info
[[tokens]]
[tokens]
[tokens.user1]
user = "user1"
token = "token1"
comment = "张三"
ports = ["1", "2", "3", "10-100"]
domains = ["aaa.com", "bbb.com"]
subdomains = ["a.com", "b.com"]
subdomains = ["a", "b"]
status = true
[[tokens]]
[tokens.user2]
user = "user2"
token = "token2"
comment = "李四"
ports = ["11", "22", "33", "110-200"]
domains = ["ccc.com", "ddd.com"]
subdomains = ["c.com", "d.com"]
subdomains = ["c", "d"]
status = true

3
go.mod
View File

@@ -8,9 +8,9 @@ require (
github.com/gin-contrib/i18n v1.0.0
github.com/gin-contrib/sessions v0.0.5
github.com/gin-gonic/gin v1.9.1
github.com/pelletier/go-toml/v2 v2.0.9
github.com/spf13/cobra v0.0.3
golang.org/x/text v0.11.0
gopkg.in/ini.v1 v1.67.0
)
require (
@@ -36,7 +36,6 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/nicksnyder/go-i18n/v2 v2.2.1 // indirect
github.com/pelletier/go-toml/v2 v2.0.9 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect

2
go.sum
View File

@@ -301,8 +301,6 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogR
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

View File

@@ -355,11 +355,14 @@ func (c *HandleController) MakeAddTokenFunc() func(context *gin.Context) {
return
}
c.Tokens[info.User] = info
tokenFile, err := os.Create(c.TokensFile)
if err != nil {
log.Printf("error to crate file %v: %v", c.TokensFile, err)
}
if err = toml.NewEncoder(tokenFile).Encode(c.Tokens); err != nil {
if err = toml.NewEncoder(tokenFile).Encode(c.TokensList()); err != nil {
log.Printf("error to encode tokens: %v", err)
}
if err = tokenFile.Close(); err != nil {

View File

@@ -39,7 +39,7 @@ type HTTPError struct {
type Config struct {
Common CommonInfo
Tokens []TokenInfo
Tokens
}
type CommonInfo struct {
@@ -58,6 +58,10 @@ type CommonInfo struct {
DashboardTls bool
}
type Tokens struct {
Tokens map[string]TokenInfo `toml:"tokens"`
}
type TokenInfo struct {
User string `toml:"user" json:"user" form:"user"`
Token string `toml:"token" json:"token" form:"token"`
@@ -112,3 +116,9 @@ type TokenEnable struct {
func (e *HTTPError) Error() string {
return e.Err.Error()
}
func (c *HandleController) TokensList() Tokens {
return Tokens{
c.Tokens,
}
}