Quick Lokinet Update, June 2019 (1 year in).

One year has passed since working on lokinet full time and we've managed to make something that works and does stuff. The upcoming release is being held off until "stability fixes" are applied. When lokinet works it works very well, the problem we face right now is (I suspect) some lingering path handover logic errors which can be tuned out with time. I'd really like to do a release but have been to hold off until the "stability fixes" are applied. I don't know how long that will take and would rather do a release now so we can start iterating on scaling the network and handling any possible issues in that. Over all I suspect are ready for launch.

Lokinet on mobile

The next step in development is the mobile port, which I am dreading. The lokinet code was not made with mobile in mind, it was made to …

Read more ...

Lokinet Update March 2019

We are most likely on schedule for an end of Q1 2019 "public release" of lokinet if all goes well in the internal testing phase. ( don't know why we are considering it a public release since the code is public already but eh... ‾\(._.)/‾ ) We have an internal code freeze in mid march and I hope to have a stable build ready.

Unit tests are HARD D:

It's been about 10 months since I started working on lokinet full time. The master branch on github has been relatively stable for 2 months and work on the staging branch is very heavy. We have currently 855 test cases across 95 test suites and we're not even close to full test coverage. You can generate a progress report on unit test converage as of now (March 2019) here. My personal goal is to get at least 85% coverage on the code base by …

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

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

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.

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

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.