You probably want Twisted . There is a P2P framework for Twisted called Vertex . Although it is not actively supported, it allows you to tunnel through NAT and establish connections directly between users in a very abstract way; if there was interest in this kind of thing, I’m sure it will be more actively supported .
Glyph
source share