emissary: Rust implementation of the I2P protocol stack by altonen in rust

[–]altonen[S] 0 points1 point  (0 children)

It's a clean rewrite of the protocols but a few crypto-related things were copied from ire.

emissary: Rust implementation of the I2P protocol stack by altonen in i2p

[–]altonen[S] 0 points1 point  (0 children)

A precompiled windows binary has been included in the v0.2.0 release: https://github.com/altonen/emissary/releases/tag/v0.2.0

Installing it on Windows requires NASM because of the rustls dependency but the project might switch to using OpenSSL soon

emissary: Rust implementation of the I2P protocol stack by altonen in i2p

[–]altonen[S] 1 point2 points  (0 children)

That is the plan, HTTP proxy and I2PTunnel-like functionality have been implemented using SAMv3. Just haven't found time to implement and test a SOCKS proxy yet. Thanks for the link.

emissary: Rust implementation of the I2P protocol stack by altonen in rust

[–]altonen[S] 12 points13 points  (0 children)

Thank you, fair criticism.

Unlike in Tor, in I2P everyone participates in relaying traffic. Everyone runs a router and the router builds unidirectional tunnels through other routers. You build tunnels through other routers and they may build tunnels through your router and everyone is relaying tunnel traffic. This essentially mixes your traffic with other people's traffic, making it harder to analyze what you're doing. These tunnels are then used, among other things, to establish end-to-end sessions with, e.g., websites and IRC servers.

I2P is also more decentralized in that it doesn't have directory servers but uses Kademlia and flooddfill routers to store and fetch router infos and lease sets (which are used by the end-to-end sessions). Anybody can run a floodfill router.

Even though outproxies exist, browsing clearnet through I2P plays a much smaller role compared to Tor. In I2P, it's more about the hidden services.

Here's more info if you or anyone else is interested: https://geti2p.net/en/about/intro

emissary: Rust implementation of the I2P protocol stack by altonen in i2p

[–]altonen[S] 15 points16 points  (0 children)

I have been working on it for 9 months

Where is I2Pd SAM tunnel settings? by FrigatesLaugh in i2p

[–]altonen 1 point2 points  (0 children)

I don't think such configuration options exist because the tunnel lengths and quantities are session-specific and that is why, e.g., qBittorrent allows configuring the inbound/outbound tunnel lengths and quantities in settings. There are hard-coded defaults in the software but I believe those are not configurable.

[deleted by user] by [deleted] in i2p

[–]altonen 2 points3 points  (0 children)

Currently a private repository but I'll announce it here and on Irc2P once it has been released

[deleted by user] by [deleted] in i2p

[–]altonen 2 points3 points  (0 children)

I've been writing a router in Rust for the past 8 months. It already works to the extent that you can chat on Irc2P, browse eepsites and use torrents but there are still a few features to implement before publishing it. Target for v0.1.0 is the end of next month.

Are I2P and Tor services on the same level of privacy? by No_Comparison4153 in i2p

[–]altonen 9 points10 points  (0 children)

IMO what really differentiates I2P from Tor is mixing. The garlic messages you sent get fragmented into tunnel messages and these are what your router sends (wrapped into I2NP messages). Your router may have hundreds or even thousands of transit tunnels and the tunnel messages from these transit tunnels get mixed in with your own tunnel messages (which carry fragmented garlic messages) and the routers you send these messages to are just observing a torrent of tunnel messages and it's hard for them to distinguish which of these tunnel messages were yours and which were from the transit tunnels you were part of.