代码拉取完成,页面将自动刷新
package main
import (
"github.com/gogf/gf/v2/crypto/gmd5"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/gfile"
"github.com/gogf/gf/v2/text/gstr"
"github.com/gogf/gf/v2/util/gconv"
"yunAIYI_nginxUpdate/app/service"
"yunAIYI_nginxUpdate/app/util"
_ "yunAIYI_nginxUpdate/boot"
_ "yunAIYI_nginxUpdate/router"
)
var ctx = gctx.New()
// 云服务器端 用tcp client
func main() {
//判断文件是否存在
confs := util.Get_nginx_confgs()
for _, v := range confs {
v = gstr.Trim(v)
if !gfile.Exists(v) {
panic("nginx配置文件不存在,路径:" + v)
}
}
s := g.Server()
s.SetPort(gconv.Int(util.GetPort_server()))
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write("nginx自动刷新公网ip服务正常! 固定ip云服务器端")
})
s.BindHandler("/UpdateIP", func(r *ghttp.Request) {
ip := r.Get("nowip")
timestamp := r.Get("timestamp")
sign := r.Get("sign")
g.Log().Line(true).Debug(ctx, "主动推送来 ip:", ip.String())
// 验证签名 sign, _ := gmd5.EncryptString(ip + timestamp + sign_key)
mysigntemp, _ := gmd5.EncryptString(ip.String() + timestamp.String() + service.Sign_key)
state := ""
if mysigntemp == sign.String() {
state = "success"
// 1.更新tcp ip 2.更新nginx
service.UpdateIp(ip.String())
} else {
state = "fail"
}
r.Response.WriteJson(g.Map{
"state": state,
})
})
s.Run()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。