Compare commits
59 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b8e04d421 | ||
|
|
6c1182b290 | ||
|
|
e66e020f36 | ||
|
|
be82c9c48f | ||
|
|
8a74248eaf | ||
|
|
aea75130bb | ||
|
|
2fd3150677 | ||
|
|
7247fff017 | ||
|
|
edb480e3d7 | ||
|
|
38320e04a3 | ||
|
|
b43f523a78 | ||
|
|
9b4d852d68 | ||
|
|
974e53445c | ||
|
|
d6ad7dbe45 | ||
|
|
6fc428a945 | ||
|
|
776b08653a | ||
|
|
2dcaad0e0e | ||
|
|
2aaef32156 | ||
|
|
2aa44a10b7 | ||
|
|
ded6bf3c16 | ||
|
|
4446963752 | ||
|
|
a1ce16b92c | ||
|
|
8245453c2e | ||
|
|
ab54e51ec6 | ||
|
|
cd957718c1 | ||
|
|
965784a164 | ||
|
|
3bcbde4ba0 | ||
|
|
c9ec1eed3a | ||
|
|
bb8a4813aa | ||
|
|
6d44745d18 | ||
|
|
12b9840b34 | ||
|
|
100a49f054 | ||
|
|
2a6245333f | ||
|
|
11496d7ffb | ||
|
|
a97dd9d07b | ||
|
|
a0559e3456 | ||
|
|
d1ef6da027 | ||
|
|
ac76839256 | ||
|
|
1783773c89 | ||
|
|
67c5d47e0c | ||
|
|
3d67217606 | ||
|
|
a13711db07 | ||
|
|
9ed47a3a9d | ||
|
|
cfb88e6bd6 | ||
|
|
1b28687bd6 | ||
|
|
9be6056108 | ||
|
|
87aa9c6fa0 | ||
|
|
9b5a092b0d | ||
|
|
e81e575ec1 | ||
|
|
0c6985d3f3 | ||
|
|
1af8816c1f | ||
|
|
f7004b3fb0 | ||
|
|
0c949918eb | ||
|
|
09e2433cb5 | ||
|
|
32b2b9923b | ||
|
|
073890c843 | ||
|
|
44765ed970 | ||
|
|
39bd6264e7 | ||
|
|
8a480d296f |
@@ -53,11 +53,5 @@
|
|||||||
* [API节点](https://github.com/TeaOSLab/EdgeAPI)
|
* [API节点](https://github.com/TeaOSLab/EdgeAPI)
|
||||||
* [管理平台](https://github.com/TeaOSLab/EdgeAdmin)
|
* [管理平台](https://github.com/TeaOSLab/EdgeAdmin)
|
||||||
|
|
||||||
## 联系我们
|
|
||||||
有什么问题和建议都可以加入 [Telegram群](https://t.me/+5kVCMGxQhZxiODY9)
|
|
||||||
|
|
||||||
## 企业版
|
|
||||||
* [GoEdge企业版](https://goedge.cn/commercial) - 功能更强大的CDN系统
|
|
||||||
|
|
||||||
## 感谢
|
## 感谢
|
||||||
* 感谢 [Gitee](https://gitee.com/) 提供国内源代码托管平台
|
* 感谢 [Gitee](https://gitee.com/) 提供国内源代码托管平台
|
||||||
@@ -9,8 +9,11 @@ import (
|
|||||||
teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
|
teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
|
||||||
"github.com/TeaOSLab/EdgeAdmin/internal/gen"
|
"github.com/TeaOSLab/EdgeAdmin/internal/gen"
|
||||||
"github.com/TeaOSLab/EdgeAdmin/internal/nodes"
|
"github.com/TeaOSLab/EdgeAdmin/internal/nodes"
|
||||||
|
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
|
||||||
"github.com/TeaOSLab/EdgeAdmin/internal/utils"
|
"github.com/TeaOSLab/EdgeAdmin/internal/utils"
|
||||||
|
executils "github.com/TeaOSLab/EdgeAdmin/internal/utils/exec"
|
||||||
_ "github.com/TeaOSLab/EdgeAdmin/internal/web"
|
_ "github.com/TeaOSLab/EdgeAdmin/internal/web"
|
||||||
|
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/updates/updateutils"
|
||||||
_ "github.com/TeaOSLab/EdgeCommon/pkg/langs/messages"
|
_ "github.com/TeaOSLab/EdgeCommon/pkg/langs/messages"
|
||||||
"github.com/iwind/TeaGo/Tea"
|
"github.com/iwind/TeaGo/Tea"
|
||||||
_ "github.com/iwind/TeaGo/bootstrap"
|
_ "github.com/iwind/TeaGo/bootstrap"
|
||||||
@@ -156,6 +159,9 @@ func main() {
|
|||||||
for range ticker.C {
|
for range ticker.C {
|
||||||
if manager.IsDownloading() {
|
if manager.IsDownloading() {
|
||||||
if !isStarted {
|
if !isStarted {
|
||||||
|
if len(manager.NewVersion()) == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
log.Println("start downloading v" + manager.NewVersion() + " ...")
|
log.Println("start downloading v" + manager.NewVersion() + " ...")
|
||||||
isStarted = true
|
isStarted = true
|
||||||
}
|
}
|
||||||
@@ -176,6 +182,18 @@ func main() {
|
|||||||
log.Println("upgrade failed: " + err.Error())
|
log.Println("upgrade failed: " + err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// try to exec local 'edge-api upgrade'
|
||||||
|
rpcClient, err := rpc.SharedRPC()
|
||||||
|
if err == nil {
|
||||||
|
exePath, ok := updateutils.CheckLocalAPINode(rpcClient, rpcClient.Context(0))
|
||||||
|
if ok && len(exePath) > 0 {
|
||||||
|
log.Println("upgrading database ...")
|
||||||
|
var cmd = executils.NewCmd(exePath, "upgrade")
|
||||||
|
_ = cmd.Run()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
log.Println("finished!")
|
log.Println("finished!")
|
||||||
log.Println("restarting ...")
|
log.Println("restarting ...")
|
||||||
app.RunRestart()
|
app.RunRestart()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM --platform=linux/amd64 alpine:latest
|
FROM --platform=linux/amd64 alpine:latest
|
||||||
LABEL maintainer="goedge.cdn@gmail.com"
|
LABEL maintainer="goedge.cdn@gmail.com"
|
||||||
ENV TZ "Asia/Shanghai"
|
ENV TZ "Asia/Shanghai"
|
||||||
ENV VERSION 1.3.7
|
ENV VERSION 1.3.8
|
||||||
ENV ROOT_DIR /usr/local/goedge
|
ENV ROOT_DIR /usr/local/goedge
|
||||||
ENV TAR_FILE edge-admin-linux-amd64-plus-v${VERSION}.zip
|
ENV TAR_FILE edge-admin-linux-amd64-plus-v${VERSION}.zip
|
||||||
|
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -14,6 +14,7 @@ require (
|
|||||||
github.com/quic-go/quic-go v0.42.0
|
github.com/quic-go/quic-go v0.42.0
|
||||||
github.com/shirou/gopsutil/v3 v3.22.5
|
github.com/shirou/gopsutil/v3 v3.22.5
|
||||||
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
||||||
|
github.com/tdewolff/minify/v2 v2.20.20
|
||||||
github.com/tealeg/xlsx/v3 v3.2.3
|
github.com/tealeg/xlsx/v3 v3.2.3
|
||||||
github.com/xlzd/gotp v0.1.0
|
github.com/xlzd/gotp v0.1.0
|
||||||
golang.org/x/crypto v0.22.0
|
golang.org/x/crypto v0.22.0
|
||||||
@@ -37,6 +38,7 @@ require (
|
|||||||
github.com/quic-go/qpack v0.4.0 // indirect
|
github.com/quic-go/qpack v0.4.0 // indirect
|
||||||
github.com/rogpeppe/fastuuid v1.2.0 // indirect
|
github.com/rogpeppe/fastuuid v1.2.0 // indirect
|
||||||
github.com/shabbyrobe/xmlwriter v0.0.0-20200208144257-9fca06d00ffa // indirect
|
github.com/shabbyrobe/xmlwriter v0.0.0-20200208144257-9fca06d00ffa // indirect
|
||||||
|
github.com/tdewolff/parse/v2 v2.7.13 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||||
go.uber.org/mock v0.4.0 // indirect
|
go.uber.org/mock v0.4.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect
|
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect
|
||||||
|
|||||||
13
go.sum
13
go.sum
@@ -28,8 +28,6 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
|||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f h1:f00RU+zOX+B3rLAmMMkzHUF2h1z4DeYR9tTCvEq2REY=
|
github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f h1:f00RU+zOX+B3rLAmMMkzHUF2h1z4DeYR9tTCvEq2REY=
|
||||||
github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
|
github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
|
||||||
github.com/iwind/TeaGo v0.0.0-20240312020455-6f20b5121caf h1:WA9qgiynESu/DDTnLH6npRI5AK6UL9qwJ2YZ5qhJX5E=
|
|
||||||
github.com/iwind/TeaGo v0.0.0-20240312020455-6f20b5121caf/go.mod h1:SfqVbWyIPdVflyA6lMgicZzsoGS8pyeLiTRe8/CIpGI=
|
|
||||||
github.com/iwind/TeaGo v0.0.0-20240429060313-31a7bc8e9cc9 h1:lqSd+OeAMzPlejoVtsmHJEeQ6/MWXCr+Ws2eX9/Rewg=
|
github.com/iwind/TeaGo v0.0.0-20240429060313-31a7bc8e9cc9 h1:lqSd+OeAMzPlejoVtsmHJEeQ6/MWXCr+Ws2eX9/Rewg=
|
||||||
github.com/iwind/TeaGo v0.0.0-20240429060313-31a7bc8e9cc9/go.mod h1:SfqVbWyIPdVflyA6lMgicZzsoGS8pyeLiTRe8/CIpGI=
|
github.com/iwind/TeaGo v0.0.0-20240429060313-31a7bc8e9cc9/go.mod h1:SfqVbWyIPdVflyA6lMgicZzsoGS8pyeLiTRe8/CIpGI=
|
||||||
github.com/iwind/gosock v0.0.0-20211103081026-ee4652210ca4 h1:VWGsCqTzObdlbf7UUE3oceIpcEKi4C/YBUszQXk118A=
|
github.com/iwind/gosock v0.0.0-20211103081026-ee4652210ca4 h1:VWGsCqTzObdlbf7UUE3oceIpcEKi4C/YBUszQXk118A=
|
||||||
@@ -72,12 +70,17 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
|
|||||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
|
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
|
||||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/tdewolff/minify/v2 v2.20.20 h1:vhULb+VsW2twkplgsawAoUY957efb+EdiZ7zu5fUhhk=
|
||||||
|
github.com/tdewolff/minify/v2 v2.20.20/go.mod h1:GYaLXFpIIwsX99apQHXfGdISUdlA98wmaoWxjT9C37k=
|
||||||
|
github.com/tdewolff/parse/v2 v2.7.13 h1:iSiwOUkCYLNfapHoqdLcqZVgvQ0jrsao8YYKP/UJYTI=
|
||||||
|
github.com/tdewolff/parse/v2 v2.7.13/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA=
|
||||||
|
github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
|
||||||
|
github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo=
|
||||||
|
github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
|
||||||
github.com/tealeg/xlsx/v3 v3.2.3 h1:MXnVh+9Y8cUglowItTy2HL3Kv6z+q/0aNjeKuTsVqZQ=
|
github.com/tealeg/xlsx/v3 v3.2.3 h1:MXnVh+9Y8cUglowItTy2HL3Kv6z+q/0aNjeKuTsVqZQ=
|
||||||
github.com/tealeg/xlsx/v3 v3.2.3/go.mod h1:0hGmAEoZ48SS1ZAE6eqZJkJVXgOMY+8a33vjXa8S8HA=
|
github.com/tealeg/xlsx/v3 v3.2.3/go.mod h1:0hGmAEoZ48SS1ZAE6eqZJkJVXgOMY+8a33vjXa8S8HA=
|
||||||
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
|
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
|
||||||
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
|
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
|
||||||
github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119 h1:YyPWX3jLOtYKulBR6AScGIs74lLrJcgeKRwcbAuQOG4=
|
|
||||||
github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119/go.mod h1:/nuTSlK+okRfR/vnIPqR89fFKonnWPiZymN5ydRJkX8=
|
|
||||||
github.com/xlzd/gotp v0.1.0 h1:37blvlKCh38s+fkem+fFh7sMnceltoIEBYTVXyoa5Po=
|
github.com/xlzd/gotp v0.1.0 h1:37blvlKCh38s+fkem+fFh7sMnceltoIEBYTVXyoa5Po=
|
||||||
github.com/xlzd/gotp v0.1.0/go.mod h1:ndLJ3JKzi3xLmUProq4LLxCuECL93dG9WASNLpHz8qg=
|
github.com/xlzd/gotp v0.1.0/go.mod h1:ndLJ3JKzi3xLmUProq4LLxCuECL93dG9WASNLpHz8qg=
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
|
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
|
||||||
@@ -88,8 +91,6 @@ golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
|
|||||||
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
|
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
|
||||||
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
|
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
|
||||||
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
|
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
|
||||||
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
|
|
||||||
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
|
||||||
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
|
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
|
||||||
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
|
|||||||
51
internal/configs/simple_db_config.go
Normal file
51
internal/configs/simple_db_config.go
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package configs
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/iwind/TeaGo/Tea"
|
||||||
|
"github.com/iwind/TeaGo/dbs"
|
||||||
|
"gopkg.in/yaml.v3"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SimpleDBConfig struct {
|
||||||
|
User string `yaml:"user"`
|
||||||
|
Password string `yaml:"password"`
|
||||||
|
Database string `yaml:"database"`
|
||||||
|
Host string `yaml:"host"`
|
||||||
|
BoolFields []string `yaml:"boolFields,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *SimpleDBConfig) GenerateOldConfig(targetFile string) error {
|
||||||
|
var dbConfig = &dbs.DBConfig{
|
||||||
|
Driver: "mysql",
|
||||||
|
Dsn: url.QueryEscape(this.User) + ":" + url.QueryEscape(this.Password) + "@tcp(" + this.Host + ")/" + url.PathEscape(this.Database) + "?charset=utf8mb4&timeout=30s&multiStatements=true",
|
||||||
|
Prefix: "edge",
|
||||||
|
}
|
||||||
|
dbConfig.Models.Package = "internal/db/models"
|
||||||
|
|
||||||
|
var config = &dbs.Config{
|
||||||
|
DBs: map[string]*dbs.DBConfig{
|
||||||
|
Tea.Env: dbConfig,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
config.Default.DB = Tea.Env
|
||||||
|
config.Fields = map[string][]string{
|
||||||
|
"bool": this.BoolFields,
|
||||||
|
}
|
||||||
|
|
||||||
|
oldConfigYAML, encodeErr := yaml.Marshal(config)
|
||||||
|
if encodeErr != nil {
|
||||||
|
return encodeErr
|
||||||
|
}
|
||||||
|
|
||||||
|
err := os.WriteFile(targetFile, oldConfigYAML, 0666)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("create database config file failed: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package teaconst
|
package teaconst
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package teaconst
|
package teaconst
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Version = "1.3.7"
|
Version = "1.3.9"
|
||||||
|
|
||||||
APINodeVersion = "1.3.7"
|
APINodeVersion = "1.3.9"
|
||||||
|
|
||||||
ProductName = "Edge Admin"
|
ProductName = "Edge Admin"
|
||||||
ProcessName = "edge-admin"
|
ProcessName = "edge-admin"
|
||||||
ProductNameZH = "Edge"
|
|
||||||
|
|
||||||
Role = "admin"
|
Role = "admin"
|
||||||
|
|
||||||
EncryptKey = "8f983f4d69b83aaa0d74b21a212f6967"
|
|
||||||
EncryptMethod = "aes-256-cfb"
|
EncryptMethod = "aes-256-cfb"
|
||||||
|
|
||||||
CookieSID = "geadsid"
|
CookieSID = "geadsid"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package teaconst
|
package teaconst
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package teaconst
|
package teaconst
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package gen
|
package gen
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ func generateComponentsJSFile() error {
|
|||||||
} else {
|
} else {
|
||||||
webRoot = Tea.Root + "/web/public/js/components/"
|
webRoot = Tea.Root + "/web/public/js/components/"
|
||||||
}
|
}
|
||||||
f := files.NewFile(webRoot)
|
var f = files.NewFile(webRoot)
|
||||||
|
|
||||||
f.Range(func(file *files.File) {
|
f.Range(func(file *files.File) {
|
||||||
if !file.IsFile() {
|
if !file.IsFile() {
|
||||||
@@ -53,6 +53,7 @@ func generateComponentsJSFile() error {
|
|||||||
logs.Error(err)
|
logs.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.Write(data)
|
buffer.Write(data)
|
||||||
buffer.Write([]byte{'\n', '\n'})
|
buffer.Write([]byte{'\n', '\n'})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package gen
|
package gen
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package goman
|
package goman
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package goman
|
package goman
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package goman
|
package goman
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package nodes
|
package nodes
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package nodes
|
package nodes
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ func (this *SessionManager) Read(sid string) map[string]string {
|
|||||||
|
|
||||||
func (this *SessionManager) WriteItem(sid string, key string, value string) bool {
|
func (this *SessionManager) WriteItem(sid string, key string, value string) bool {
|
||||||
// 删除缓存
|
// 删除缓存
|
||||||
defer ttlcache.DefaultCache.Delete( "SESSION@" + sid)
|
defer ttlcache.DefaultCache.Delete("SESSION@" + sid)
|
||||||
|
|
||||||
// 忽略OTP
|
// 忽略OTP
|
||||||
if strings.HasSuffix(sid, "_otp") {
|
if strings.HasSuffix(sid, "_otp") {
|
||||||
@@ -99,7 +99,7 @@ func (this *SessionManager) WriteItem(sid string, key string, value string) bool
|
|||||||
|
|
||||||
func (this *SessionManager) Delete(sid string) bool {
|
func (this *SessionManager) Delete(sid string) bool {
|
||||||
// 删除缓存
|
// 删除缓存
|
||||||
defer ttlcache.DefaultCache.Delete( "SESSION@" + sid)
|
defer ttlcache.DefaultCache.Delete("SESSION@" + sid)
|
||||||
|
|
||||||
// 忽略OTP
|
// 忽略OTP
|
||||||
if strings.HasSuffix(sid, "_otp") {
|
if strings.HasSuffix(sid, "_otp") {
|
||||||
|
|||||||
@@ -385,6 +385,10 @@ func (this *RPCClient) LoginSessionRPC() pb.LoginSessionServiceClient {
|
|||||||
return pb.NewLoginSessionServiceClient(this.pickConn())
|
return pb.NewLoginSessionServiceClient(this.pickConn())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *RPCClient) LoginTicketRPC() pb.LoginTicketServiceClient {
|
||||||
|
return pb.NewLoginTicketServiceClient(this.pickConn())
|
||||||
|
}
|
||||||
|
|
||||||
func (this *RPCClient) NodeTaskRPC() pb.NodeTaskServiceClient {
|
func (this *RPCClient) NodeTaskRPC() pb.NodeTaskServiceClient {
|
||||||
return pb.NewNodeTaskServiceClient(this.pickConn())
|
return pb.NewNodeTaskServiceClient(this.pickConn())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package tasks
|
package tasks
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package apinodeutils
|
package apinodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package apinodeutils
|
package apinodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package apinodeutils
|
package apinodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package apinodeutils_test
|
package apinodeutils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package apinodeutils
|
package apinodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package dateutils
|
package dateutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package executils
|
package executils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package executils_test
|
package executils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package nodelogutils
|
package nodelogutils
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package numberutils_test
|
package numberutils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package sizes
|
package sizes
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package sizes_test
|
package sizes_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils
|
package utils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package accesskeys
|
package accesskeys
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package accesskeys
|
package accesskeys
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ func init() {
|
|||||||
Get("/logs", new(node.LogsAction)).
|
Get("/logs", new(node.LogsAction)).
|
||||||
Post("/start", new(node.StartAction)).
|
Post("/start", new(node.StartAction)).
|
||||||
Post("/stop", new(node.StopAction)).
|
Post("/stop", new(node.StopAction)).
|
||||||
|
Post("/uninstall", new(node.UninstallAction)).
|
||||||
Post("/up", new(node.UpAction)).
|
Post("/up", new(node.UpAction)).
|
||||||
Post("/updateIsOn", new(node.UpdateIsOnAction)).
|
Post("/updateIsOn", new(node.UpdateIsOnAction)).
|
||||||
Get("/detail", new(node.DetailAction)).
|
Get("/detail", new(node.DetailAction)).
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package nodeutils
|
package nodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package nodeutils
|
package nodeutils
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ddosProtection
|
package ddosProtection
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ddosProtection
|
package ddosProtection
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package dns
|
package dns
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ssh
|
package ssh
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ssh
|
package ssh
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package system
|
package system
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package node
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
|
||||||
|
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
|
||||||
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UninstallAction struct {
|
||||||
|
actionutils.ParentAction
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *UninstallAction) RunPost(params struct {
|
||||||
|
NodeId int64
|
||||||
|
}) {
|
||||||
|
resp, err := this.RPC().NodeRPC().UninstallNode(this.AdminContext(), &pb.UninstallNodeRequest{NodeId: params.NodeId})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建日志
|
||||||
|
defer this.CreateLogInfo(codes.Node_LogUninstallNodeRemotely, params.NodeId)
|
||||||
|
|
||||||
|
if resp.IsOk {
|
||||||
|
this.Success()
|
||||||
|
}
|
||||||
|
|
||||||
|
this.Fail("执行失败:" + resp.Error)
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package node
|
package node
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ddosProtection
|
package ddosProtection
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package ddosProtection
|
package ddosProtection
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ func (this *StatusAction) RunPost(params struct {
|
|||||||
}) {
|
}) {
|
||||||
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckLocalFirewall, &messageconfigs.CheckLocalFirewallMessage{
|
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckLocalFirewall, &messageconfigs.CheckLocalFirewallMessage{
|
||||||
Name: "nftables",
|
Name: "nftables",
|
||||||
}, 10)
|
}, 10, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package dns
|
package dns
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package globalServerConfig
|
package globalServerConfig
|
||||||
|
|
||||||
@@ -110,6 +110,7 @@ func (this *IndexAction) RunPost(params struct {
|
|||||||
HttpAllNodeIPShowPage bool
|
HttpAllNodeIPShowPage bool
|
||||||
HttpAllEnableServerAddrVariable bool
|
HttpAllEnableServerAddrVariable bool
|
||||||
HttpAllRequestOriginsWithEncodings bool
|
HttpAllRequestOriginsWithEncodings bool
|
||||||
|
HttpAllXFFMaxAddresses int
|
||||||
|
|
||||||
HttpAllDomainAuditingIsOn bool
|
HttpAllDomainAuditingIsOn bool
|
||||||
HttpAllDomainAuditingPrompt string
|
HttpAllDomainAuditingPrompt string
|
||||||
@@ -219,6 +220,7 @@ func (this *IndexAction) RunPost(params struct {
|
|||||||
config.HTTPAll.LnRequestSchedulingMethod = params.HttpAllLnRequestSchedulingMethod
|
config.HTTPAll.LnRequestSchedulingMethod = params.HttpAllLnRequestSchedulingMethod
|
||||||
config.HTTPAll.EnableServerAddrVariable = params.HttpAllEnableServerAddrVariable
|
config.HTTPAll.EnableServerAddrVariable = params.HttpAllEnableServerAddrVariable
|
||||||
config.HTTPAll.RequestOriginsWithEncodings = params.HttpAllRequestOriginsWithEncodings
|
config.HTTPAll.RequestOriginsWithEncodings = params.HttpAllRequestOriginsWithEncodings
|
||||||
|
config.HTTPAll.XFFMaxAddresses = params.HttpAllXFFMaxAddresses
|
||||||
|
|
||||||
// 访问日志
|
// 访问日志
|
||||||
config.HTTPAccessLog.IsOn = params.HttpAccessLogIsOn
|
config.HTTPAccessLog.IsOn = params.HttpAccessLogIsOn
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package health
|
package health
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,8 @@ func (this *IndexAction) RunGet(params struct {
|
|||||||
"autoInstallNftables": cluster.AutoInstallNftables,
|
"autoInstallNftables": cluster.AutoInstallNftables,
|
||||||
"autoSystemTuning": cluster.AutoSystemTuning,
|
"autoSystemTuning": cluster.AutoSystemTuning,
|
||||||
"autoTrimDisks": cluster.AutoTrimDisks,
|
"autoTrimDisks": cluster.AutoTrimDisks,
|
||||||
|
"maxConcurrentReads": cluster.MaxConcurrentReads,
|
||||||
|
"maxConcurrentWrites": cluster.MaxConcurrentWrites,
|
||||||
"sshParams": sshParams,
|
"sshParams": sshParams,
|
||||||
"domainName": fullDomainName,
|
"domainName": fullDomainName,
|
||||||
}
|
}
|
||||||
@@ -143,6 +145,8 @@ func (this *IndexAction) RunPost(params struct {
|
|||||||
AutoInstallNftables bool
|
AutoInstallNftables bool
|
||||||
AutoSystemTuning bool
|
AutoSystemTuning bool
|
||||||
AutoTrimDisks bool
|
AutoTrimDisks bool
|
||||||
|
MaxConcurrentReads int32
|
||||||
|
MaxConcurrentWrites int32
|
||||||
|
|
||||||
Must *actions.Must
|
Must *actions.Must
|
||||||
}) {
|
}) {
|
||||||
@@ -200,6 +204,8 @@ func (this *IndexAction) RunPost(params struct {
|
|||||||
AutoSystemTuning: params.AutoSystemTuning,
|
AutoSystemTuning: params.AutoSystemTuning,
|
||||||
AutoTrimDisks: params.AutoTrimDisks,
|
AutoTrimDisks: params.AutoTrimDisks,
|
||||||
SshParamsJSON: sshParamsJSON,
|
SshParamsJSON: sshParamsJSON,
|
||||||
|
MaxConcurrentReads: params.MaxConcurrentReads,
|
||||||
|
MaxConcurrentWrites: params.MaxConcurrentWrites,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package metrics
|
package metrics
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package metrics
|
package metrics
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package metrics
|
package metrics
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ func (this *StatusAction) RunPost(params struct {
|
|||||||
|
|
||||||
Must *actions.Must
|
Must *actions.Must
|
||||||
}) {
|
}) {
|
||||||
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckSystemdService, &messageconfigs.CheckSystemdServiceMessage{}, 10)
|
results, err := nodeutils.SendMessageToCluster(this.AdminContext(), params.ClusterId, messageconfigs.MessageCodeCheckSystemdService, &messageconfigs.CheckSystemdServiceMessage{}, 10, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package clusterutils
|
package clusterutils
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package clusterutils
|
package clusterutils
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,8 @@ func (this *CreateAction) RunPost(params struct {
|
|||||||
AutoInstallNftables bool
|
AutoInstallNftables bool
|
||||||
AutoSystemTuning bool
|
AutoSystemTuning bool
|
||||||
AutoTrimDisks bool
|
AutoTrimDisks bool
|
||||||
|
MaxConcurrentReads int32
|
||||||
|
MaxConcurrentWrites int32
|
||||||
|
|
||||||
// DNS相关
|
// DNS相关
|
||||||
DnsDomainId int64
|
DnsDomainId int64
|
||||||
@@ -151,6 +153,8 @@ func (this *CreateAction) RunPost(params struct {
|
|||||||
AutoInstallNftables: params.AutoInstallNftables,
|
AutoInstallNftables: params.AutoInstallNftables,
|
||||||
AutoSystemTuning: params.AutoSystemTuning,
|
AutoSystemTuning: params.AutoSystemTuning,
|
||||||
AutoTrimDisks: params.AutoTrimDisks,
|
AutoTrimDisks: params.AutoTrimDisks,
|
||||||
|
MaxConcurrentReads: params.MaxConcurrentReads,
|
||||||
|
MaxConcurrentWrites: params.MaxConcurrentWrites,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package grants
|
package grants
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package logs
|
package logs
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package logs
|
package logs
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package logs
|
package logs
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package logs
|
package logs
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package logs
|
package logs
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package clusters
|
package clusters
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package clusters
|
package clusters
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package clusters
|
package clusters
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package regions
|
package regions
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package regions
|
package regions
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package clusters
|
package clusters
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package dashboardutils
|
package dashboardutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package dashboard
|
package dashboard
|
||||||
|
|
||||||
@@ -92,13 +92,16 @@ func (this *IndexAction) RunPost(params struct{}) {
|
|||||||
"diskUsageWarning": diskUsageWarning,
|
"diskUsageWarning": diskUsageWarning,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 今日流量
|
// 今日流量和独立IP数
|
||||||
todayTrafficBytes := int64(0)
|
var todayTrafficBytes int64
|
||||||
|
var todayCountIPs int64
|
||||||
if len(resp.DailyTrafficStats) > 0 {
|
if len(resp.DailyTrafficStats) > 0 {
|
||||||
todayTrafficBytes = resp.DailyTrafficStats[len(resp.DailyTrafficStats)-1].Bytes
|
var lastDailyTrafficStat = resp.DailyTrafficStats[len(resp.DailyTrafficStats)-1]
|
||||||
|
todayTrafficBytes = lastDailyTrafficStat.Bytes
|
||||||
|
todayCountIPs = lastDailyTrafficStat.CountIPs
|
||||||
}
|
}
|
||||||
todayTrafficString := numberutils.FormatBytes(todayTrafficBytes)
|
var todayTrafficString = numberutils.FormatBytes(todayTrafficBytes)
|
||||||
result := regexp.MustCompile(`^(?U)(.+)([a-zA-Z]+)$`).FindStringSubmatch(todayTrafficString)
|
var result = regexp.MustCompile(`^(?U)(.+)([a-zA-Z]+)$`).FindStringSubmatch(todayTrafficString)
|
||||||
if len(result) > 2 {
|
if len(result) > 2 {
|
||||||
this.Data["todayTraffic"] = result[1]
|
this.Data["todayTraffic"] = result[1]
|
||||||
this.Data["todayTrafficUnit"] = result[2]
|
this.Data["todayTrafficUnit"] = result[2]
|
||||||
@@ -107,6 +110,8 @@ func (this *IndexAction) RunPost(params struct{}) {
|
|||||||
this.Data["todayTrafficUnit"] = ""
|
this.Data["todayTrafficUnit"] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.Data["todayCountIPs"] = todayCountIPs
|
||||||
|
|
||||||
// 24小时流量趋势
|
// 24小时流量趋势
|
||||||
{
|
{
|
||||||
statMaps := []maps.Map{}
|
statMaps := []maps.Map{}
|
||||||
@@ -137,6 +142,7 @@ func (this *IndexAction) RunPost(params struct{}) {
|
|||||||
"countAttackRequests": stat.CountAttackRequests,
|
"countAttackRequests": stat.CountAttackRequests,
|
||||||
"attackBytes": stat.AttackBytes,
|
"attackBytes": stat.AttackBytes,
|
||||||
"day": stat.Day[4:6] + "月" + stat.Day[6:] + "日",
|
"day": stat.Day[4:6] + "月" + stat.Day[6:] + "日",
|
||||||
|
"countIPs": stat.CountIPs,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.Data["dailyTrafficStats"] = statMaps
|
this.Data["dailyTrafficStats"] = statMaps
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package dashboard
|
package dashboard
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package dashboard
|
package dashboard
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package dbnodeutils
|
package dbnodeutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package db
|
package db
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package db
|
package db
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package domainutils
|
package domainutils
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
@@ -84,6 +84,8 @@ func (this *CreatePopupAction) RunPost(params struct {
|
|||||||
ParamEdgeDNSAPIAccessKeyId string
|
ParamEdgeDNSAPIAccessKeyId string
|
||||||
ParamEdgeDNSAPIAccessKeySecret string
|
ParamEdgeDNSAPIAccessKeySecret string
|
||||||
|
|
||||||
|
MinTTL int32
|
||||||
|
|
||||||
Must *actions.Must
|
Must *actions.Must
|
||||||
CSRF *actionutils.CSRF
|
CSRF *actionutils.CSRF
|
||||||
}) {
|
}) {
|
||||||
@@ -177,6 +179,7 @@ func (this *CreatePopupAction) RunPost(params struct {
|
|||||||
Name: params.Name,
|
Name: params.Name,
|
||||||
Type: params.Type,
|
Type: params.Type,
|
||||||
ApiParamsJSON: apiParams.AsJSON(),
|
ApiParamsJSON: apiParams.AsJSON(),
|
||||||
|
MinTTL: params.MinTTL,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ func (this *ProviderAction) RunGet(params struct {
|
|||||||
"name": provider.Name,
|
"name": provider.Name,
|
||||||
"type": provider.Type,
|
"type": provider.Type,
|
||||||
"typeName": provider.TypeName,
|
"typeName": provider.TypeName,
|
||||||
|
"minTTL": provider.MinTTL,
|
||||||
"apiParams": apiParams,
|
"apiParams": apiParams,
|
||||||
"localEdgeDNS": localEdgeDNSMap,
|
"localEdgeDNS": localEdgeDNSMap,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
//go:build !plus
|
//go:build !plus
|
||||||
|
|
||||||
package providers
|
package providers
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
||||||
|
|
||||||
package providers
|
package providers
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ func (this *UpdatePopupAction) RunGet(params struct {
|
|||||||
"name": provider.Name,
|
"name": provider.Name,
|
||||||
"type": provider.Type,
|
"type": provider.Type,
|
||||||
"typeName": provider.TypeName,
|
"typeName": provider.TypeName,
|
||||||
|
"minTTL": provider.MinTTL,
|
||||||
"params": apiParams,
|
"params": apiParams,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,6 +115,8 @@ func (this *UpdatePopupAction) RunPost(params struct {
|
|||||||
ParamEdgeDNSAPIAccessKeyId string
|
ParamEdgeDNSAPIAccessKeyId string
|
||||||
ParamEdgeDNSAPIAccessKeySecret string
|
ParamEdgeDNSAPIAccessKeySecret string
|
||||||
|
|
||||||
|
MinTTL int32
|
||||||
|
|
||||||
Must *actions.Must
|
Must *actions.Must
|
||||||
CSRF *actionutils.CSRF
|
CSRF *actionutils.CSRF
|
||||||
}) {
|
}) {
|
||||||
@@ -208,6 +211,7 @@ func (this *UpdatePopupAction) RunPost(params struct {
|
|||||||
_, err := this.RPC().DNSProviderRPC().UpdateDNSProvider(this.AdminContext(), &pb.UpdateDNSProviderRequest{
|
_, err := this.RPC().DNSProviderRPC().UpdateDNSProvider(this.AdminContext(), &pb.UpdateDNSProviderRequest{
|
||||||
DnsProviderId: params.ProviderId,
|
DnsProviderId: params.ProviderId,
|
||||||
Name: params.Name,
|
Name: params.Name,
|
||||||
|
MinTTL: params.MinTTL,
|
||||||
ApiParamsJSON: apiParams.AsJSON(),
|
ApiParamsJSON: apiParams.AsJSON(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package files
|
package files
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
package files
|
package files
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user