From 1c7afdd026c5a2bfac3500aded0c1ef17ef39c8b Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 6 Oct 2016 10:18:54 -0400 Subject: [PATCH] initial --- testnet.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 testnet.md diff --git a/testnet.md b/testnet.md new file mode 100644 index 0000000..db8c1af --- /dev/null +++ b/testnet.md @@ -0,0 +1,67 @@ +# 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 + +