Kovri and the curious case of code rot (part 2)

Kovri has decided to fork the i2p protocol stack [1]. I too have had frustrations with the direction and pase of java i2p and I can understand why they made this descision.

In my personal opinion, I don't think kovri will succeed in their fork of the i2p protocol stack with its current talent pool. After their 2 years of shuffling whitespaces around and not noticing code leaking regions of memory (until stiffing a security researcher that found it while exploit hunting) I don't think they'll produce a minimum viable product for a very very very long time, if ever. This is not meant to poke fun at the people at monero and kovri as I really wanted to see the fork succeed, very much so and I am dissapointed in the net result of the effort.

Parallell to all this kovri tom foolery, since Late April 2018 I have …

Read more ...


Quick Lokinet Update December 2018

A very large amount of work happened with lokinet development since the last blog update in august. As of writing, exit traffic works, hidden services work and service node traffic is wired up but untested. I also took the liberty of refactoring the dns code used in lokinet.

If lokinet is to thrive you want to make the transition to it as painless as possible, hence why I chose DNS as the primary mechanism of controlling when to look up things on the network. Most if not all network aware programs use DNS first when trying to figure out how to connect to something, excpet if it looks like an IP address. It's far more complex under the hood but from the end user's point of view it's effectively so.

By having lokinet expose IP and DNS only, everything written should trivially work with little or no application porting needed …

Read more ...


i2pd 2.21 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.21:

Added

  • NTCP2 ipv6 incoming connections
  • Support android api > 26
  • Show total number of destination's outgoing tags in the web console

Changed

  • Use EdDSA, x25519 and SipHash from openssl 1.1.1 if available

Fixed

  • Bandwidth …

Read more ...


i2pd 2.20.0 static arm build

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

make sure to check the signature or verify the hash

b2sum:

f10bf0c2e913e420125ac392fa9c27f8ccdd16268acec5a1ef7e5b96621e813b05c5361c862e2bfa48e3d3590c7dff127c9676ddc78f7497945f120161ac43be  i2pd

sha256sum:

bc5ab06804f076c0b8118e1bf29aef1ba5432bf39440c0b5d696187b87312f84  i2pd

the build was compiled with -Os and stripped for smaller size, so you may have better speed on systems without speculative execution like the raspberry pi 1.

uses:

  • openssl 1.1.1
  • boost 1.62.0

LokiNET 0.2.2 released

The first mostly working version of LokiNET has been released, 0.2.2.

This means that it's now time to start getting people to run LokiNET routing infrastructure, yes that includes you. If you have a spare server and don't mind a little bit of bandwidth being put to use for "science and such" please consider helping out by setting up lokinet in particiation mode.

The rest of this blog will document the process of compiling from source and setting

Install the build dependencies (assuming ubuntu or debian here):

$ sudo apt install libcap-dev build-essential cmake ninja-build git libtool autoconf

Next, check out the lokinet source code, this repo is recursive.

$ git clone --recursive https://github.com/loki-project/lokinet-builder ~/lokinet-builder

Now we build lokinet

$ cd ~/lokinet-builder
$ make

The result is a lokinet binary as well as a few other tools that you can ignore for now.

Install the lokinet binary to …

Read more ...


i2pd 2.20 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.20:

Added

  • Full implementation of NTCP2

Changed

  • Provide assets for android
  • Use single apk for arm7 and x86 android builds

Fixed

  • Don't add address in RouterInfo if transport is disabled in config
  • Web-console bugs fixed

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.