2018-07-04 10:51:47 +00:00
|
|
|
package swarm
|
|
|
|
|
|
|
|
import (
|
2021-10-19 13:43:41 +00:00
|
|
|
filter "github.com/libp2p/go-maddr-filter"
|
2021-06-16 20:19:45 +00:00
|
|
|
ma "github.com/multiformats/go-multiaddr"
|
2018-07-04 10:51:47 +00:00
|
|
|
mamask "github.com/whyrusleeping/multiaddr-filter"
|
|
|
|
)
|
|
|
|
|
|
|
|
// http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
|
2021-06-16 20:19:45 +00:00
|
|
|
var lowTimeoutFilters = ma.NewFilters()
|
2018-07-04 10:51:47 +00:00
|
|
|
|
|
|
|
func init() {
|
|
|
|
for _, p := range []string{
|
|
|
|
"/ip4/10.0.0.0/ipcidr/8",
|
|
|
|
"/ip4/100.64.0.0/ipcidr/10",
|
|
|
|
"/ip4/169.254.0.0/ipcidr/16",
|
|
|
|
"/ip4/172.16.0.0/ipcidr/12",
|
|
|
|
"/ip4/192.0.0.0/ipcidr/24",
|
|
|
|
"/ip4/192.0.0.0/ipcidr/29",
|
|
|
|
"/ip4/192.0.0.8/ipcidr/32",
|
|
|
|
"/ip4/192.0.0.170/ipcidr/32",
|
|
|
|
"/ip4/192.0.0.171/ipcidr/32",
|
|
|
|
"/ip4/192.0.2.0/ipcidr/24",
|
|
|
|
"/ip4/192.168.0.0/ipcidr/16",
|
|
|
|
"/ip4/198.18.0.0/ipcidr/15",
|
|
|
|
"/ip4/198.51.100.0/ipcidr/24",
|
|
|
|
"/ip4/203.0.113.0/ipcidr/24",
|
|
|
|
"/ip4/240.0.0.0/ipcidr/4",
|
|
|
|
} {
|
|
|
|
f, err := mamask.NewMask(p)
|
|
|
|
if err != nil {
|
|
|
|
panic("error in lowTimeoutFilters init: " + err.Error())
|
|
|
|
}
|
2021-10-19 13:43:41 +00:00
|
|
|
lowTimeoutFilters.AddFilter(*f, filter.ActionDeny)
|
2018-07-04 10:51:47 +00:00
|
|
|
}
|
|
|
|
}
|