I2P Bote

I2P-Bote is a newer way to communicate via I2P. It mimics some behaviour of email, although being fundamentaly different from mail in general and susimail specifically. It is not build into the router console, but needs to be installed via a plug-in. So let’s first see why that might be worth it.

Introduction

Email is rather old, dating back to the very first days of ClearNet. There was no encryption back then so it was just like putting mails onto servers that then communicate with each other to deliver mails. As such email basically is a distributed system. For that everyone would need to run ones own server, however. And that like just never happened. So we ended up with a rather centralised email system on the ClearNet. That’s there NSA & Co hopped on then.

Being on I2P it should be rather easy to have an email-server running within the router-console, thus coming back to the “everyone uses his own server” concept. As all traffic in I2P is end-to-end encrypted, you actually wouldn’t even need to take care about encryption anymore, unless you want to sign emails. The first and probably best known email adaption to I2P probably is postman’s server. A client to connect to it is build into the router-console, so it just is available and ready to use for all routers.

But you hopefully noticed I wrote “postman’s server”. That means all mails are centrally on that server until delivered and we are back to a single-point-of-failure for that service. Now postman offers a great service there, as he also provides his users with an address for the ClearNet. That probably is something some people need. However, it’s not really a solution to the underlying problems.

I2P-Bote

This where I2P Bote picks it up. If you install the according plugin, you will have an email server running on your i2p router. And it seems to be neatly designed. It adopts to the principle of I2P that if you got the address, you also got the key (they are identical). The developers put more on top of that. Extra mixing above the I2P layer for more (?) anonymity. And signing emails with those keys also.

It also comes with a client providing a web-interface. That has a modern design (rather seldom within I2P). It’s supposed to provide interfaces via SMTP and IMAP also, so that you can use existing e-mail clients with it. However, the IMAP support seems to be broken in the current version, so for now there is only the web-interface.

A limitation on this is for users that do not have their router running 24/7. Your router needs to be reachable for email to be delivered to you. Far as I understood the network is designed to store your emails for a while if they cannot be delivered immediately. There might be problems if servers disappear while holding one of your messages for delivery. By design this should be addressed by using multiple transfers in parallel, thus minimising that risk. But I read somewhere this feature would not currently be implemented.

But it’s a cool approach, so let’s have a closer look, shall we?

Installing

For me this was the first time to install additional software within I2P. If you are running the router you need to trust that software anyways. The plugin-repository is linked from the router page, so that probably means the software from there is safe to install? Need to check more on the security/trust model here. Such things would probably also be the first place for attackers to introduce malicious code, right?

For now, let’s say it’s safe. If you go to your routers console and click on I2P Services you will find possibilities to install plugins at the bottom of the page. There is also a link to plugins.i2p, which is the directory I spoke of. In this, you will also find the plugin-page for I2P-Bote with some information about the authors, the homepage, and the license. The links given as Local Mirror and Original location are usable for the installation by URL in the Services page of your router-console.

I didn't quite get all the stuff about Seedless described there, so I just went on and installed only the I2P-Bote plugin. The link I used was http://plugins.i2p/files/i2pbote.su3. It took a while until I got a status message in the left navigation bar of the router console. After the installation was finished, it looked like shown in the screenshot.

The good thing about this installation: It's done. Just visit /i2pbote/ on your router-console now to use I2P-Bote. You can also just click on the linked Part in the message (the SecureMail in the screenshot). Create an identity and start sending "mails". When creating my identity I stumbled upon the field for Vanity Destination. It had the note (2 chars takes seconds, 3 takes minutes, etc.) attached. I asked about it in irc and it seems to be a function to generate new keys until the starting characters of the address match your name. Nothing I need I think ...

I2P-Bote Installation
Figure: I2P-Bote Installation

If you are still hesitating, here’s a screenshot of the web-frontend. It’s my empty Inbox waiting for you to write me ;) You will find my address in the footer. Feel free to provide feedback and alike that way. If you do, mention if you do not want to be cited, otherwise I might feel free to do so.

The I2P-Bote Web-GUI
Figure: The I2P-Bote Web-GUI