in remoteip/parser.go [176:199]
func (p *RemoteIPParser) isTrustedProxy(ip string) bool {
if ip == "" {
return false
}
parsedIP := net.ParseIP(ip)
if parsedIP == nil {
return false
}
for _, trustedProxy := range p.TrustedProxies {
// Handle both CIDR ranges and specific IPs
if strings.Contains(trustedProxy, "/") {
_, ipNet, err := net.ParseCIDR(trustedProxy)
if err == nil && ipNet.Contains(parsedIP) {
return true
}
} else if trustedProxy == ip {
return true
}
}
return false
}