mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-26 01:52:42 +00:00
feat(honeypot/naive): attempt to automatically filter out based on crawling
Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package internal
|
||||
|
||||
import "net/netip"
|
||||
|
||||
func ClampIP(addr netip.Addr) (netip.Prefix, bool) {
|
||||
switch {
|
||||
case addr.Is4():
|
||||
result, err := addr.Prefix(24)
|
||||
if err != nil {
|
||||
return netip.Prefix{}, false
|
||||
}
|
||||
return result, true
|
||||
|
||||
case addr.Is4In6():
|
||||
// Extract the IPv4 address from IPv4-mapped IPv6 and clamp it
|
||||
ipv4 := addr.Unmap()
|
||||
result, err := ipv4.Prefix(24)
|
||||
if err != nil {
|
||||
return netip.Prefix{}, false
|
||||
}
|
||||
return result, true
|
||||
|
||||
case addr.Is6():
|
||||
result, err := addr.Prefix(48)
|
||||
if err != nil {
|
||||
return netip.Prefix{}, false
|
||||
}
|
||||
return result, true
|
||||
|
||||
default:
|
||||
return netip.Prefix{}, false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user