添加 APISendIP 属性

This commit is contained in:
darthstren
2025-10-28 15:53:54 +08:00
committed by GitHub
parent 3deccaae00
commit c656877311
2 changed files with 19 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ package panel
import ( import (
"errors" "errors"
"fmt" "fmt"
"net"
"strconv" "strconv"
"strings" "strings"
"time" "time"
@@ -18,6 +19,7 @@ import (
type Client struct { type Client struct {
client *resty.Client client *resty.Client
APIHost string APIHost string
APISendIP string
Token string Token string
NodeType string NodeType string
NodeId int NodeId int
@@ -29,7 +31,14 @@ type Client struct {
} }
func New(c *conf.ApiConfig) (*Client, error) { 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) client.SetRetryCount(3)
if c.Timeout > 0 { if c.Timeout > 0 {
client.SetTimeout(time.Duration(c.Timeout) * time.Second) client.SetTimeout(time.Duration(c.Timeout) * time.Second)
@@ -72,6 +81,7 @@ func New(c *conf.ApiConfig) (*Client, error) {
client: client, client: client,
Token: c.Key, Token: c.Key,
APIHost: c.APIHost, APIHost: c.APIHost,
APISendIP: c.APISendIP,
NodeType: c.NodeType, NodeType: c.NodeType,
NodeId: c.NodeID, NodeId: c.NodeID,
UserList: &UserListBody{}, UserList: &UserListBody{},

View File

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