Merge pull request #116 from darthstren/dev_new

添加 APISendIP 属性
This commit is contained in:
wyx2685
2025-10-28 16:01:28 +08:00
committed by GitHub
2 changed files with 19 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ package panel
import (
"errors"
"fmt"
"net"
"strconv"
"strings"
"time"
@@ -18,6 +19,7 @@ import (
type Client struct {
client *resty.Client
APIHost string
APISendIP string
Token string
NodeType string
NodeId int
@@ -29,7 +31,14 @@ type Client struct {
}
func New(c *conf.ApiConfig) (*Client, error) {
client := resty.New()
var client *resty.Client
if c.APISendIP != "" {
client = resty.NewWithLocalAddr(&net.TCPAddr{
IP: net.ParseIP(c.APISendIP),
})
} else {
client = resty.New()
}
client.SetRetryCount(3)
if c.Timeout > 0 {
client.SetTimeout(time.Duration(c.Timeout) * time.Second)
@@ -69,12 +78,13 @@ func New(c *conf.ApiConfig) (*Client, error) {
"token": c.Key,
})
return &Client{
client: client,
Token: c.Key,
APIHost: c.APIHost,
NodeType: c.NodeType,
NodeId: c.NodeID,
UserList: &UserListBody{},
AliveMap: &AliveMap{},
client: client,
Token: c.Key,
APIHost: c.APIHost,
APISendIP: c.APISendIP,
NodeType: c.NodeType,
NodeId: c.NodeID,
UserList: &UserListBody{},
AliveMap: &AliveMap{},
}, nil
}

View File

@@ -25,6 +25,7 @@ type rawNodeConfig struct {
type ApiConfig struct {
APIHost string `json:"ApiHost"`
APISendIP string `json:"ApiSendIP"`
NodeID int `json:"NodeID"`
Key string `json:"ApiKey"`
NodeType string `json:"NodeType"`