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 ...

Building sbuild environment for cross-building raspbian packages on amd64/i386 machines

Updated: reworked style and text, add fix for supported filesystems workaround - aufs works only on jessie or earlier

Used documents and topics:

  • https://wiki.debian.org/mk-sbuild
  • https://log.cyconet.org/2013/11/25/crossbuilding-debian-packages-with-sbuild-for-raspbian/
  • https://gist.github.com/waja/7639011

Install requirements, add user, set distribution, etc. to build chroot and package

Install required packages

$ apt-get install sudo gnupg dirmngr curl sbuild ubuntu-dev-tools qemu-user-static binfmt-support

Recommended to work under user with full sudo access without password prompting.

sudo needed to install packages and mount chroot, requrement of mk-sbuild. You can ignore second line if want every time write password when it asked.

$ sudo useradd -m -s /bin/bash -G sudo,sbuild builder
$ sudo bash -c 'echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers'

Login as builder user and set release variable which we will build chroot for

$ sudo su - builder
$ export RELEASE="stretch"

Next 4 steps (till …

Read more ...

XD 0.1.0-pre4 released, almost there.

XD 0.1.0-pre4 is out on github

Magnets should work entirely now, further testing desired. Please open an issue with any problems you find.