Hacker News new | ask | show | jobs
by tenebrisalietum 1988 days ago
Roughly it's like Tor (though I think the transport is not necessarily like Tor), except it's closed. You can only communicate with others on the I2P network. Some I2P users may choose to operate an "outproxy" and provide Internet access but it's not built into the network or software. What is (or was, it's been awhile) built in is a torrent client.

It's also written in Java and the router web UI was pretty snazzy from what I remember.

2 comments

The design is also more decentralized than Tor. It's also been a while, but I think the client runs a router node by default. This provides extra anonymity, because your own traffic is hidden in the other traffic you're routing. As I recall, the security/performance tweaks in the Web UI allowed you to set how much traffic you allowed through your node.
> This provides extra anonymity, because your own traffic is hidden in the other traffic you're routing.

Tor's take on the common proposal to do this is at

https://2019.www.torproject.org/docs/faq.html.en#BetterAnony...

and notes this threat model issue:

> There are some cases where it doesn't seem to help: if an attacker can watch all of your incoming and outgoing traffic, then it's easy for them to learn which connections were relayed and which started at you. (In this case they still don't know your destinations unless they are watching them too, but you're no better off than if you were an ordinary client.)

(I'm not mentioning this to criticize I2P's design, just to point out that the benefit you get from this decision depends a lot on your threat model!)

There is a C++ implementation that is pretty nice:

https://github.com/PurpleI2P/i2pd

There was also Kovri (a fork of i2pd made by the Monero project) that sadly appears to be dead now.[1] It could have greatly increased the number of nodes on I2P.

[1]: https://gitlab.com/kovri-project/kovri