testnet - PurpleI2P/i2pd GitHub Wiki

I2P Test Network

This page documents how to set up and bootstrap a self contained test network using i2pd.

This guide assumes debian stable for host and containers.

Test Network Prerequisites

  • CPU with AESNI support
  • 64MB-96MB RAM per instance
  • linux with lxc support

Initial Setup

Host Setup

Update repos

apt update

Build Dependencies

Get packages for needed for building everything from source

apt install cmake libboost-dev-all libssl-dev build-essential git nodejs

Get packages for containers

apt install lxc lxctl bridge-utils

Host Network Config

Set up bridge interface for containers, it should not bridge any ports.

Append the following to /etc/network/interfaces

auto i2pbr0
iface i2pbr0 inet manual
bridge_ports none

then put the interface up, keep it up

ifup i2pbr0

Host system dependencies

I2PD is used for this test network (obviously)

cd /usr/local/src/
git clone https://github.com/purplei2p/i2pd
cd i2pd/build
cmake -DWITH_AESNI=ON -DWITH_MESHNET=ON
make -j8

CJDNS is used for connecting all the i2pd instances with no manual configuration (very useful)

cd /usr/local/src/
git clone https://github.com/cjdelisle/cjdns
cd cjdns
./do
cp cjdroute /usr/bin
cp contrib/systemd/cjdns.service /etc/systemd/system/
systemctl enable cjdns
systemctl restart cjdns

TODO: finish this