www.nico.schottelius.org/software/ceof.mdwn

124 lines
3.1 KiB
Text
Raw Normal View History

## Introduction
ceof is the implementation and documentation
of ***EOF*** (Eris Onion Forwarding),
the secure, peer-to-peer (p2p), decentralised anonymous chat network.
You can read the
[bachelor thesis](http://git.schottelius.org/?p=ceof;a=blob;f=doc/thesis.pdf),
which describes the motivation and goals or you
can view [the poster that was used on the presentation](http://git.schottelius.org/?p=ceof;a=blob;f=doc/appendix/poster.pdf).
2013-11-11 14:58:28 +00:00
## Dependencies
2013-11-11 15:34:47 +00:00
* python3
2013-11-11 15:38:53 +00:00
* python-gnupg (the package python3-gnupg exists for Debian)
* virtualenv (optional, if isolating the environment for ceof)
2013-11-11 14:58:28 +00:00
## Installation
* Clone the git repo
git clone git://git.schottelius.org/ceof
2013-11-13 15:01:16 +00:00
It is mirrored on github: git@github.com:telmich/ceof.git
2013-11-11 15:33:27 +00:00
### When the distro does not ship a Package for python3-gnupg
2013-11-11 15:34:47 +00:00
* Create an isolated python environment
2013-11-11 14:58:28 +00:00
virtualenv -p /usr/bin/python3 python-env
2013-11-11 15:34:47 +00:00
* Activate the python environment and install gnupg
2013-11-11 14:58:28 +00:00
. ./python-env/bin/activate
pip install python-gnupg
2013-11-11 16:10:45 +00:00
## Usage preparation
2013-11-11 15:38:53 +00:00
### Create public/private key pair
This may take some time, try to keep your computer busy so you can gather
more entropy.
2013-11-11 14:58:28 +00:00
2013-11-11 15:38:53 +00:00
cd ceof
2013-11-11 14:58:28 +00:00
./src/bin/ceof crypto -g --name "Nico@Tee" --email-address nico-ceof@tee.schottelius.org
2013-11-11 16:10:45 +00:00
Verify that everything worked fine:
./src/bin/ceof crypto --show
### Prepare a peer to chat with
Do the following commands on your host and tell your friend
to do the same vice versa:
Show the fingerprint of your PGP key
./src/bin/ceof crypto --fingerprint
Show your public key for export
./src/bin/ceof crypto --export
Once you have retrieved the public key, import it
./src/bin/ceof crypto -i < public-key-file
Create your friend as a peer using a name and its fingerprint
./src/bin/ceof peer --add yourfriend --fingerprint CF7F9EE965AFA1B5A4D1D4D1385D23177A80B7B0
Add an address of your peer:
./src/bin/ceof peer apic --add-address tcp://192.168.90.251:42342
2013-11-13 15:01:16 +00:00
***Warning*** You need at least 6 peers for ceof to work.
6 peers is the minimum number of peers required by the protocol to function
safely.
2013-11-11 16:10:45 +00:00
### Prepare noise
ceof sends regulary noise to prevent people from recognising when you
send messages. To do so, ceof requires input for noise. You can use any kind
files, but for debugging purpose text files are recommened.
For example, you could use the content of /usr/share/doc as a base:
mkdir -p ~/.ceof/noise
find /usr/share/doc -name \*.gz -exec zcat {} \; > ~/.ceof/noise/usr-share-doc
(abort after a minute or so)
Test that ceof can use the noise:
./src/bin/ceof noise
2013-11-13 15:01:16 +00:00
### Prepare addresses to listen on
Add one tcp address to listen on
./src/bin/ceof listener --add tcp://0.0.0.0:42342
Show enabled listeners:
./src/bin/ceof listener --list
### Start the server
./src/bin/ceof server
2013-11-11 16:10:45 +00:00
## Support
There are two IRC (!) channels, in which development takes places:
* [!eof](irc://IRCNet/!eof) - German
* [#cstar](irc://irc.freenode.org/#cstar) - Multi language (German/English)
You can subscribe to the
[!eof mailinglist](http://l.schottelius.org/mailman/listinfo/eof).
You can also [[contact me directly|about]].
[[!tag ceof crypot chat net unix]]