Preface
=======

Welcome to ChaosVPN! This document is a step-by-step guide
to getting into the chaosvpn network. To join chaosvpn, you need to
install some software (tinc, chaosvpn). You also have to register your
node before you can connect to the rest of the network.

See https://wiki.hamburg.ccc.de/ChaosVPN for more info.


The very short way building from git snapshot
=============================================

Debian and Ubuntu: make deb

Other Linux: make && make linuxinstall

FreeBSD: make && make bsdinstall

Apple OSX: make && make appleinstall

You can find the most uptodate instructions at
  http://wiki.hamburg.ccc.de/ChaosVPN


Preparation
===========

If you are using debian, you can use haegar's repository: (If you're
not using debian, you can compile the chaosvpn binary yourself (see
below) and install tinc by some other means)

# echo "deb     http://debian.sdinet.de/ stable chaosvpn" >> /etc/apt/sources.list
# echo "deb-src http://debian.sdinet.de/ stable chaosvpn" >> /etc/apt/sources.list

(Instead of "stable" you can also directly choose your distribution
with "unstable", "stretch", "jessie" or "wheezy")

Also you need to install the signing key:

# wget -q http://debian.sdinet.de/signkey.asc -O- | apt-key add -

Then you can update the apt cache and install tinc. Tinc has a
dependency on liblzo. So please install it together.

# apt-get update
# apt-get install tinc

As tinc was installed, you have to create the needed folders and the
key files for your machine. In this example, we call the network
"chaos" and tinc will create public and private keys for your machine
with 2048 bit.

# mkdir -p /etc/tinc/chaos/hosts
# tincd -n chaos -K 2048

You can save the generated key files on their default location.


Requirements
============

If you want install the chaosvpn software from source, you also need
to install the following packages:

* gnu make
* flex
* byacc
* gcc
* libssl-dev


Building ChaosVPN
=================

You should get the latest git snapshot of the chaosvpn repository:

# git clone git://github.com/ryd/chaosvpn.git

To compile chaosvpn, simply do:
# cd chaosvpn
# make
# make install

After successful installation, open
    /etc/tinc/chaosvpn.conf

and edit the file to suit your needs. This file contains helpful
comments guiding you through the process.

If you want to generate a debian package of the current git snapshot then
instead of "make + make install" execute "make deb" - this will create a
.deb package in the parent directory which you can install with "dpkg -i"

For more infos please look at
https://wiki.hamburg.ccc.de/ChaosVPN:DebianHowto


Publishing your details
=======================

Now we need some details from your setup to publish it to all other
nodes within the ChaosVPN.

See https://wiki.hamburg.ccc.de/ChaosVPN:RequestHowto for how to apply.


Connecting to ChaosVPN
======================

Once you're approved, you can run the chaosvpn utility. chaosvpn takes
care of configuring tinc for you. The chaosvpn utility needs to be run
as root, but it surrenders its privileges as soon as possible.

If you used the Debian package you can enable starting the chaosvpn client
at boot time in /etc/default/chaosvpn, and manually start/stop/restart if
through /etc/init.d/chaosvpn.


If you have got any questions, join our irc channel #chaosvpn at
irc.hackint.org (If you're already connected to the chaosvpn, you can
point your irc client to irc.hackint.hack, irc.hackint.dn42 or
172.20.66.67 instead)
