diff --git a/src/components/P2P/index.ts b/src/components/P2P/index.ts index 6e0bb4fee..1336a74ca 100644 --- a/src/components/P2P/index.ts +++ b/src/components/P2P/index.ts @@ -242,8 +242,24 @@ export class OceanP2P extends EventEmitter { shouldAnnounce(addr: any) { try { const maddr = multiaddr(addr) - // always filter loopback + + const protos = maddr.getComponents() const addressString = maddr.nodeAddress().address + if ( + protos.some( + (entry) => + entry.name === 'dns' || + entry.name === 'dns4' || + entry.name === 'dns6' || + entry.name === 'dnsaddr' + ) + ) { + if (addressString === 'localhost' || addressString === '127.0.0.1') { + return false + } + + return true + } if (!ipaddr.isValid(addressString)) { return false