ANts P2P

ANts P2P is an anonymous peer-to-peer open source file sharing software written in Java. The software was initially conceived in 2003 to explore the potentials offered by a number of novel routing protocols (ARA, ants-based routing, MANET routing protocols) based on .
History
A report (in Italian, wrote in 2004) about the initial phases of the project can be downloaded from the software website. A short summary in English is available on the ANts P2P website.
The software developed was subsequently made available on Sourceforge in 2004. The code is licensed under the GPL. As of the 7th of November 2010, this software has been downloaded by over 500.000 users.
Features
ANts P2P encrypts all data sent or received from peer nodes (AES 128 bits - DH 512 bits). Furthermore, it dynamically establishes on demand "virtual encrypted tunnels" (AES 128 bits - DH 512 bits) among nodes that are willing to exchange a file. Encrypted packets are then exchanged via intermediate nodes in the network; these intermediate nodes have no systematic way available for intercepting keys and packets. Therefore it is difficult to perform man-in-the-middle attacks in this network. This second layer of encryption is called endpoint encryption. Theoretically, endpoint encryption means proxy nodes cannot identify the data they proxy. So this can make it harder to determine the originating IP addresses of a given packet transmitted through the network.
Some of its features include:
* Open Source Java implementation (GNU-GPL license).
* Portable "all-in-one-folder" release that does not require setup.
* Multipath routing for packets.
* Preferential connections to give the network a fast backbone.
* Support for partial downloads with automatic resume.
* Multiple sources download.
* Swarming (aka segmented downloading) from partial files.
* Autosearch sources for active and interrupted downloads.
* Distributed/Decentralized Search engine by MD5 hash, string and structured query.
* Full text search of indexed documents (pdf, html, txt, doc etc.) powered by Apache Lucene.
* Support for the eDonkey2k link format.
* IRC based peer discovery system.
* IRC embeded chat system.
* Completely Object-Oriented routing protocol.
* Serverless GWebCache-based peer discovery procedure.
* HTTP server tunneling.
* ANts allow P2P communications through any kind of HTTP Proxy.
* ANts allow P2P communications through any kind of NAT or traffic filtering system.
* Point-to-point encryption (AES 128 - DH 512).
* End to end encryption (AES 128 - DH 512).
* Queries are encrypted asymmetrically. This means that only the originator can read the query results. Everyone can read the query string but this asymmetric approach reduces the potential of a node to do transit query analysis.
Security
The data transfers run over indirect connections: Senders and receivers of a file do not hold a direct connection with each other, but the connection cascades over several nodes, so that neither party can trivially determine the other's identity.
The traffic between nodes is encrypted with AES, which prevents sniffing both from outsiders and from transit nodes. The encryption key exchange uses Diffie-Hellman algorithm.
ANts P2P also allows users to offer web servers anonymously; these servers are only reachable from within the ANts P2P network. ANts P2P is however not an outproxy network which lets users reach services on the conventional internet; for this, an outproxy service such as Tor can be used separately.
 
< Prev   Next >