I2P is an anonymous network, exposing a simple layer that applications can use to anonymously and securely send messages to each other.
The network itself is strictly message based (ala IP), but there is a library available to allow reliable streaming communication on top of it (ala TCP). I2P is an application that allows users to compunicate via IP address.
All communication is end to end encrypted (in total there are four layers of encryption used when sending a message), and even the end points ("destinations") are cryptographic identifiers (essentially a pair of public keys).
To anonymize the messages sent, each client application has their I2P "router" build a few inbound and outbound "tunnels" - a sequence of peers that pass messages in one direction (to and from the client, respectively).
In turn, when a client wants to send a message to another client, the client passes that message out one of their outbound tunnels targeting one of the other client's inbound tunnels, eventually reaching the destination.
Every participant in the network chooses the length of these tunnels, and in doing so, makes a tradeoff between anonymity, latency, and throughput according to their own needs.
The result is that the number of peers relaying each end to end message is the absolute minimum necessary to meet both the sender's and the receiver's threat model.
What's New in This Release:
Major changes:
· Check for and download plugin updates upon restarting after a router update
· Routers in certain countries will now automatically enable hidden mode for increased protection
· New Tunnel Wizard for creating tunnels
· A SIGHUP to the wrapper will now initiate a graceful shutdown
Bug Fixes:
· Increase read timeout in HTTP Proxy
· Shutdown hooks will now run when router is shutdown externally (i2prouter stop), broken in 0.8.8
· If an external IP address is specified, bind only to that interface
· Fail tunnels we created when we can't contact the adjacent hop
· Prevent races when saving configuration
· For plugins, check min and max Jetty versions; check all version requirements at startup, not just at install
· Fix plugin startup when console is not on port 7657
· Only stop plugins if they are running
· Fix NPE when no network interfaces are present
· Fix eepget exit code on failure
· Improve inbound tunnel building when in hidden mode
· Publish our router info sooner after startup to facilitate inbo...