Versions in this module Expand all Collapse all v0 v0.3.3 Apr 6, 2026 Changes in this version + func DeleteLimiter(tag string) + func Init() + type Limiter struct + AliveList map[int]int + Nodetype string + OldUserOnline *sync.Map + SpeedLimit int + SpeedLimiter *sync.Map + UUIDtoUID map[string]int + UserLimitInfo *sync.Map + UserOnlineIP *sync.Map + func AddLimiter(nodetype string, tag string, users []panel.UserInfo, aliveList map[int]int) *Limiter + func GetLimiter(tag string) (info *Limiter, err error) + func (l *Limiter) CheckLimit(taguuid string, ip string, noUDPsource bool) (DynamicBucket *rate.DynamicBucket, Reject bool) + func (l *Limiter) GetOnlineDevice() (*[]panel.OnlineUser, error) + func (l *Limiter) UpdateDynamicSpeedLimit(tag, uuid string, limit int, expire time.Time) error + func (l *Limiter) UpdateUser(tag string, added []panel.UserInfo, deleted []panel.UserInfo, ...) + type UserIpList struct + IpList []string + Uid int + type UserLimitInfo struct + DeviceLimit int + DynamicSpeedLimit int + ExpireTime int64 + OverLimit bool + SpeedLimit int + UID int