LokiNET progress report August 2018

The trip to Melbuorne was great and it was really helpful to meet the loki team. Everything was inverted, people walked on the opposite side of the sidewalk so I have to turn off my autopilot in the morning when walking to get coffee. Overall it was a good trip.

During the trip progress did grind to a halt but lots of new ideas came about as a result of being in an office with other smart and hard working individuals. One of the ideas was hidden service topic tags, effectively you can now discover hidden services on the network by tag, as 16 byte string they set with a topic (opt in), you query the DHT for a topic tag and get back a list of IntroSets (hidden service descriptors) that claim that tag. This functionality is used in the loopback test network to automate testing. The test network …

Read more ...

XD 0.3.1 released

XD 0.3.1 is out on github and i2p.rocks

please verify signatures. This is a bugfix release, suggested upgrading if you downloaded 0.3.0

LokiNET progress report July 2018

Progress on LokiNET has been good, so far I have met my goals for this current stretch.

Onion routing and the Router Contact (called a RouterInfo in i2p) DHT works (mostly). The exit vpn was initially the next part I was going to work on but after talking with the rest of the team it will probably be the last thing I work on as you have to be a crazy person to run an exit node for any network out there.

The next stretch will be getting the hidden services to work, this has a few compontents.

Before anything you need to implement the basic datatypes that are used, specifically Introduction sets, (called a leaseset in i2p), which means you need to implement Introductions (lease in i2p), Service Info ( destination blob in i2p), service address ( .b32.i2p address in i2p ), Identity ( destination private keys in i2p ), signing, verifiying and …

Read more ...

XD 0.3.0 released

XD 0.3.0 is out on github and i2p.rocks

please verify signatures.

i2pd 2.19.0 static arm build

my unofficial static arm build for i2pd 2.19.0 is up here.

I use another branch for these builds located here, it contains a few backports so I can compile with the toolchain I use.

make sure to check the signature or verify the hash


84541717ac7c4592c45280ef76283df73604b94eb459d3c7b8f4fdb304c02cbe9caf00f9c38cb7a9829dac0d26958ee728775162eeda2456c9386fad53df6f76  i2pd


eec2e8bc9926f9fe0943457c7c5b274be6943dbaadc2693bd9341bf7747be499  i2pd

i2pd 2.19 released

i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.

I2P (Invisible Internet Protocol) is a universal anonymous network layer. All communications over I2P are anonymous and end-to-end encrypted, participants don't reveal their real IP addresses.

I2P client is a software used for building and using anonymous I2P networks. Such networks are commonly used for anonymous peer-to-peer applications (filesharing, cryptocurrencies) and anonymous client-server applications (websites, instant messengers, chat-servers).

I2P allows people from all around the world to communicate and share information without restrictions.

i2pd is licensed under the 3-clause BSD license, binary packages are available for Debian, Ubuntu, OS X, FreeBSD, Android and Windows.

View release on GitHub

Changelog for i2pd version 2.19:


  • ECIES support for RouterInfo
  • HTTP outproxy authentication
  • AVX/AESNI runtime detection
  • Implementation of I2CP reconfigure
  • Datagrams to websocks
  • Initial implementation of NTCP2
  • Added I2PControl method "ClientServicesInfo"


  • Android build using gradle
  • EdDSA for RouterInfo …

Read more ...

LokiNET 0.0.0 demo build released

In May of 2018, I got an email from loki project with a job offer for a full time position developing my toy onion routing protocol called llarp. Since this is an offer to get paid to do my dream job I accepted. I will continue to work on i2pd but my main focus is now on LokiNET.

So, Today I am releasing LokiNET 0.0.0 a minimal demo build of the mixnet I am building. It doesn't really do anything interesting right now because there is literally just 1 or 2 nodes that exist. I am releasing this build mainly to get feedback from potential relay operators BEFORE the loki integration happens. I want to iron out any prelimiary issues with the daemon before going to loki stagenet.

Current Features:

  • primative preliminary onion routing, no hidden services, no exit functionality (yet)
  • encrypted wire protocol for inter node comms …

Read more ...

i2pd static arm build for april 2018

my unofficial static arm build has been updated here.

please upgrade if you use these builds as it contains various fixes.

make sure to check the signature or verify the hash


8f5fb682725273685370a0c839b75413914974f9e3030d112f44dfb1490fe1fcd623b911ede7148595d3d4a9de28309290b8623b1197489d71fdc75b17dca439  i2pd


e27fbefb58aef796d31e2ee4abf8db2058712fb0fab02e128ae4516b544d0aa6  i2pd

New life for XMPP. Build your own decentralized messenger!


The idea of building decentralized messenger run by users, not corporations, is not new. But the process of building it costs a lot of money and takes a lot of time. But what if we take the old good XMPP protocol, which has everything already implemented for us?

That's not "real P2P", you may argue, for using XMPP one needs to have a server running with a registered domain name. Yes, but we can run our server software on a local host and use virtual I2P network for connecting with other servers. I2P (Invisible Internet Protocol) allows us to use virtual .i2p address instead of a real domain name, plus it gives us advanced protection against illegal dragnet surveillance.

That way we have:

  • Hybrid P2P messenger, which can be run both on end-user devices and on high-performance server infrastructure.
  • Features which many of "real P2P" messengers miss: offline message delivery …

Read more ...

The magical world of Pleroma, setting up your instance.

This guide is out of date, use the official docs.

This little blog post will guide a user through installing pleroma on a "$3 instance" as suggested by lain.

First, what is pleroma?

Pleroma is an OStatus and ActivityPub compatable server, a component of the fediverse of which GNU Social and Mastodon belong to as well. Think if twitter was structued how email is. With Email you have many different servers, yahoo mail, gmail, aol, (etc) that all can send mail to each other but are owned by different entities, the thing they have in common is they all speak SMTP. OStatus and AcitivityPub are each the "Twitter of SMTP", tweets/toots/shitposts/japanese-moonrunes are exchanged between servers. Many users can be on 1 server, (in fact mastodon.social and pawoo.net have a large chunk of the users) or 1 user can run their own server just for them …

Read more ...