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


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

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

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

b2sum:

84541717ac7c4592c45280ef76283df73604b94eb459d3c7b8f4fdb304c02cbe9caf00f9c38cb7a9829dac0d26958ee728775162eeda2456c9386fad53df6f76  i2pd

sha256sum:

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:

Added

  • 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"

Changed

  • Android build using gradle
  • EdDSA for RouterInfo …

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

b2sum:

8f5fb682725273685370a0c839b75413914974f9e3030d112f44dfb1490fe1fcd623b911ede7148595d3d4a9de28309290b8623b1197489d71fdc75b17dca439  i2pd

sha256sum:

e27fbefb58aef796d31e2ee4abf8db2058712fb0fab02e128ae4516b544d0aa6  i2pd

New life for XMPP. Build your own decentralized messenger!

img

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 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 (which is what I do, sorta).

This guide may be …

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 8th) can …

Read more ...