I was looking at a few implementations on GitHub of Kademlia in Java, but I haven't found anything that works without manually port forwarding the routers on which the items are (whether through hole punching or UPnP) and is still actively updated. Are there any libraries for this that any of you could recommend?
If not, how would I go about implementing this myself? I'm relatively familiar with the Kademlia paper, but I'm not very familiar with networking in Java.
EDIT: I've been informed that hole punching is useless for DHT's. As such, I'm still wondering if there are any java Kademlia libraries utilizing UPnP that are maintained, or any information on how to use UPnP for a java program that I write.