Install on Ubuntu

From meshwiki
Jump to: navigation, search

Installing on Ubuntu is pretty simple. Follow the README included, it's geared toward Debian/Ubuntu users. It is most secure to install manually from the source on Github; in that case you only need to trust cjd and Github. It is also possible to install from a PPA as described here; however this is unsupported and risky, as the PPA maintainer can then install and run any code they want on your system.

You can get most of the benefits of the PPA approach, with most of the security of the direct-installation-from-source approach, by building your own cjdns .deb package, as described here.


Building cjdns from source with .deb packaging

The official installation guide will work on Ubuntu, but it won't make cjdns autostart on boot, cjdns will be available only to the current user, there won't be a proper logging facility, etc. Thus it's preferable to build and install a .deb package instead:

Install the required dependencies:

sudo apt-get install nodejs git build-essential devscripts debhelper

Installing Node.js, although preferable, is not strictly necessary. If Node.js is unavailable or an unacceptable version, it will be downloaded and built in the source tree.

Check out the source code:

git clone https://github.com/cjdelisle/cjdns.git cjdns
cd cjdns

Build and install the package:

debuild
sudo dpkg -i ../cjdns*.deb

Update your installation regularly by running:

cd cjdns
git clean -f
git pull

then rebuilding and reinstalling the package following the instructions above. Cjdns will be restarted automatically.

At the moment the cjdns protocols and algorithms are experimental and subject to change. To minimize the harm to the network, please update your cjdns nodes often.

Notes

Security

After setting up cjdns you're a newly minted IPv6 host and there's a number of things you should to to secure your system. Please follow the instructions at Getting started#Secure_your_node

Disabling autostart on boot

If you do not wish for cjdns to autostart on boot after following this guide, run these commans as root (after "sudo -s"):

echo "manual" >> /etc/init/cjdns.override