mirror of
https://github.com/wyx2685/V2bX.git
synced 2025-02-02 06:48:14 -05:00
fix bug
This commit is contained in:
parent
c3995c79e9
commit
aa8ae319db
19
api/api.go
19
api/api.go
@ -42,16 +42,15 @@ type Client struct {
|
||||
Key string
|
||||
NodeType string
|
||||
//EnableSS2022 bool
|
||||
EnableVless bool
|
||||
EnableXTLS bool
|
||||
SpeedLimit float64
|
||||
DeviceLimit int
|
||||
LocalRuleList []DetectRule
|
||||
RemoteRuleCache *Rule
|
||||
access sync.Mutex
|
||||
NodeInfoRspMd5 [16]byte
|
||||
NodeRuleRspMd5 [16]byte
|
||||
UserListCheckNum int
|
||||
EnableVless bool
|
||||
EnableXTLS bool
|
||||
SpeedLimit float64
|
||||
DeviceLimit int
|
||||
LocalRuleList []DetectRule
|
||||
RemoteRuleCache *Rule
|
||||
access sync.Mutex
|
||||
NodeInfoRspMd5 [16]byte
|
||||
NodeRuleRspMd5 [16]byte
|
||||
}
|
||||
|
||||
func New(apiConfig *Config) API {
|
||||
|
10
api/user.go
10
api/user.go
@ -69,16 +69,6 @@ func (c *Client) GetUserList() (UserList *[]UserInfo, err error) {
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unmarshal userlist error: %s", err)
|
||||
}
|
||||
l := len(userList.Data)
|
||||
checkNum := userList.Data[l-1].UID + userList.Data[l/2-1].UID +
|
||||
userList.Data[l/3-1].UID + userList.Data[l/4-1].UID +
|
||||
userList.Data[l/5-1].UID + userList.Data[0].UID
|
||||
if c.UserListCheckNum != 0 {
|
||||
if c.UserListCheckNum == checkNum {
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
c.UserListCheckNum = checkNum
|
||||
return &userList.Data, nil
|
||||
}
|
||||
|
||||
|
@ -190,9 +190,7 @@ func (c *Controller) nodeInfoMonitor() (err error) {
|
||||
return nil
|
||||
}
|
||||
if nodeInfoChanged {
|
||||
if newUserInfo != nil {
|
||||
c.userList = newUserInfo
|
||||
}
|
||||
c.userList = newUserInfo
|
||||
newUserInfo = nil
|
||||
err = c.addNewUser(c.userList, newNodeInfo)
|
||||
if err != nil {
|
||||
@ -206,7 +204,7 @@ func (c *Controller) nodeInfoMonitor() (err error) {
|
||||
return nil
|
||||
}
|
||||
runtime.GC()
|
||||
} else if newUserInfo != nil {
|
||||
} else {
|
||||
deleted, added := compareUserList(c.userList, newUserInfo)
|
||||
if len(deleted) > 0 {
|
||||
deletedEmail := make([]string, len(deleted))
|
||||
@ -337,15 +335,15 @@ func (c *Controller) addNewUserFromIndex(userInfo *[]api.UserInfo, userIndex *[]
|
||||
}
|
||||
|
||||
func compareUserList(old, new *[]api.UserInfo) (deleted, added []int) {
|
||||
tmp := map[int]struct{}{}
|
||||
tmp2 := map[int]struct{}{}
|
||||
tmp := map[string]struct{}{}
|
||||
tmp2 := map[string]struct{}{}
|
||||
for i := range *old {
|
||||
tmp[(*old)[i].UID] = struct{}{}
|
||||
tmp[(*old)[i].GetUserEmail()] = struct{}{}
|
||||
}
|
||||
l := len(tmp)
|
||||
for i := range *new {
|
||||
tmp[(*new)[i].UID] = struct{}{}
|
||||
tmp2[(*new)[i].UID] = struct{}{}
|
||||
tmp[(*old)[i].GetUserEmail()] = struct{}{}
|
||||
tmp2[(*new)[i].GetUserEmail()] = struct{}{}
|
||||
if l != len(tmp) {
|
||||
added = append(added, i)
|
||||
l++
|
||||
@ -354,7 +352,7 @@ func compareUserList(old, new *[]api.UserInfo) (deleted, added []int) {
|
||||
tmp = nil
|
||||
l = len(tmp2)
|
||||
for i := range *old {
|
||||
tmp2[(*old)[i].UID] = struct{}{}
|
||||
tmp2[(*old)[i].GetUserEmail()] = struct{}{}
|
||||
if l != len(tmp2) {
|
||||
deleted = append(deleted, i)
|
||||
l++
|
||||
|
Loading…
Reference in New Issue
Block a user