fix: bugs

This commit is contained in:
Yuzuki616
2025-04-20 12:04:31 +09:00
parent 73baff9250
commit 05c787100e
13 changed files with 270 additions and 93 deletions

View File

@@ -15,9 +15,12 @@ func (h *Handler) PullNodeHandle(n *panel.NodeInfo) error {
return fmt.Errorf("del node error: %w", err)
}
} else {
err := h.acme.CreateCert(h.Cert.CertPath, h.Cert.KeyPath, h.Cert.Domain)
if err != nil {
return fmt.Errorf("create cert error: %w", err)
if n.TlsType() != panel.NoTls {
h.needTls = true
err := h.acme.CreateCert(h.Cert.CertPath, h.Cert.KeyPath, h.Cert.Domain)
if err != nil {
return fmt.Errorf("create cert error: %w", err)
}
}
}
var protocol, port string
@@ -38,15 +41,18 @@ func (h *Handler) PullNodeHandle(n *panel.NodeInfo) error {
protocol = "other"
port = n.Other.Port
}
err := h.execHookCmd(h.Hook.BeforeAddNode, h.nodeName, protocol, port)
if err != nil {
h.l.WithError(err).Error("Exec before add node hook failed")
if h.Hook.BeforeAddNode != "" {
err := h.execHookCmd(h.Hook.BeforeAddNode, h.nodeName, protocol, port)
if err != nil {
h.l.WithError(err).Error("Exec before add node hook failed")
}
}
ni := (*core.NodeInfo)(n)
ni.OtherOptions = maps.Merge[string, any](ni.OtherOptions, h.Options.Expand)
ni.Limit.IPLimit = number.SelectBigger(ni.Limit.IPLimit, h.Limit.IPLimit)
ni.Limit.SpeedLimit = number.SelectBigger(ni.Limit.SpeedLimit, uint64(h.Limit.SpeedLimit))
err = h.c.AddNode(&core.AddNodeParams{
err := h.c.AddNode(&core.AddNodeParams{
NodeInfo: ni,
TlsOptions: core.TlsOptions{
CertPath: h.Cert.CertPath,
@@ -56,9 +62,11 @@ func (h *Handler) PullNodeHandle(n *panel.NodeInfo) error {
if err != nil {
return fmt.Errorf("add node error: %w", err)
}
err = h.execHookCmd(h.Hook.AfterAddNode, h.nodeName, protocol, port)
if err != nil {
h.l.WithError(err).Warn("Exec after add node hook failed")
if h.Hook.AfterAddNode != "" {
err = h.execHookCmd(h.Hook.AfterAddNode, h.nodeName, protocol, port)
if err != nil {
h.l.WithError(err).Warn("Exec after add node hook failed")
}
}
if h.nodeAdded.Load() {
h.nodeAdded.Store(true)