Marabunta (software)

Marabunta is a fully distributed software application for anonymous P2P. The main goal is the fight against internet censorship and assuring the freedom of speech. It is a peer-to-peer platform for information exchange among nodes in an anonymous way based on several communication algorithms called "Order and Chaos" which can be found in massive social organizations such as ant colonies.
The project was founded at the University of Zaragoza, Spain, developed and promoted by students of computing engineering although development teams and users from many different places have shown interest, perhaps attracted by the ideological aims of the project. The software is available in Spanish and English, the website is also available in English.
Marabunta uses the Qt graphical widget toolkit, allowing it to be used on both Linux and Microsoft Windows. Released under the GNU General Public License, Marabunta is free software.
Purpose.
Marabunta is an implementation of the ideas explained in the "Free Nets project " and it has been developed with these ideas in mind:
Features.
There are many potential services that can be run on top of Marabunta. Text message interchange is the first service. It could be taken as a platform for telegram distribution, where each computer in the net works as a host and as a server.
There are four message distribution lists, so receivers only receive messages sent to the list they are interested in: General, Technology, Philosophy, and Politics.
Content filters are allowed so only messages with certain patterns are displayed. This is specially useful when searching for some specific information because Marabunta just selects potentially interesting messages.
Connections.
All generated traffic uses the UDP/IP protocols. Avoiding setting up connections between nodes lets more traffic flow in the network and the operational redundancy of every node can be used. Moreover, the UDP protocol could be seen as increasing the anonymity in the net because there is no need to validate source hosts to receive a datagram.
Port-forwarding on NATs.
Marabunta does not support UDP hole punching, so users behind NATs have to establish a port forwarding route to let the router know to which port and node of the internal net it should forward the arriving datagrams.