
| Author: | Jan Pobrislo <ccx at webprojekty dot cz> |
|---|---|
| Version: | 0.0.1-r1 |
| Date: | 2009-03-04 |
| License: | GNU GPL version 3 |
| Website: | https://launchpad.net/p6p |
| Download: | http://launchpad.net/p6p/trunk/0.0.1/+download/p6p-0.0.1-r1.tar.bz2 |
| Wiki: | http://wpr.cz/ccx/trac/wiki/ |
Patches, bugs and suggestions welcome.

P6P is decentralized public virtual network designed for traversing NAT. It's useful mainly for peer-to-peer applications that doesn't implement NAT-traversal themselves. It uses unrouted segment of IPv6 (Unique-local), so it doesn't collide with other networks. It does not implement any additional security.
P6P is virtual public network. That means that it's supposed to provide publicly accessible addresses for computers that would be otherwise unreachable. It works transparently for any application that supports IPv6.
Unlike IPv6 tunnel broker services you don't have to register to use it, it's completely anonymous. Also no data is transmitted via supernode, direct connection is always attempted using UDP hole punching. Supernodes are used solely to negotiate connection.
Currently there is state-of-art implementation for Unix/Linux using Python. There is planned portable (unix, mac, windows) implementation in C++ when the protocol stabilizes and features are decided on.