Libintroduce is a matchmaking and NAT punch-through introducer library for games developement and other peer-to-peer programs. Software developers using C++ on Windows, Linux, and possibly other operating systmes with BSD-like sockets can use it to develop applications that can host games behind network address translating firewalls, without resorting to port forwarding.
The technique is described at my NAT punch-through page, where you also can find links to other documents and pages on the same subject.
This code has been sitting for a long while on my hard disk, and I haven't had time to robustify it, nor write demo applications I can release. However, I've set up a SourceForge project for the library, and I'm hoping to release a better version there as a baseline for community involvement.
The source is released under the MIT license, which means it's free for all kinds of use, as long as you don't claim you are the original author, and as long as you do not attempt to convey responsibility for your use of the source onto me (or other authors). Use solely at your own risk!