From 192ce0855e794251c4cbc0796a49b51a16c49204 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 11 Jun 2010 09:15:55 +0200 Subject: [PATCH] add developer documentation for ceofhack Signed-off-by: Nico Schottelius --- software/ceofhack.mdwn | 2 +- software/ceofhack/developer.mdwn | 59 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 software/ceofhack/developer.mdwn diff --git a/software/ceofhack.mdwn b/software/ceofhack.mdwn index e961c068..9ba5342e 100644 --- a/software/ceofhack.mdwn +++ b/software/ceofhack.mdwn @@ -4,6 +4,7 @@ ceofhack is the first implementation of ***EOF*** (Eris Onion Forwarding), the secure, peer-to-peer (p2p), decentralised anonymous chat network. * [[user documentationy|user]] + * [[developer documentationy|developer]] ## Support @@ -14,7 +15,6 @@ There are two IRC (!) channels, in which development takes places: You can subscribe to the [!eof mailinglist](http://l.schottelius.org/mailman/listinfo/eof). - You can also [[contact me directly|about]]. ## Other stuff diff --git a/software/ceofhack/developer.mdwn b/software/ceofhack/developer.mdwn new file mode 100644 index 00000000..82861e5c --- /dev/null +++ b/software/ceofhack/developer.mdwn @@ -0,0 +1,59 @@ +To get into EOF through ceofhack, you should make sure you understand +[[how to use|user]] ceofhack in general. Depeding on your skills and +interests, you may either be interested in + + * hacking the core (aka ceofhack, rare developers probably) + * creating user interfaces (ui) + * creating transport protocols (tp) + +## API documentation + +In general, everything you need should be documented in the +EOF standard document. If it's not, it's probably a bug +(in that case, send a patch). + +## UI developers + +UIs can either live in their own projects or be a part of +ceofhack. The **first** way is recommended, so your development +does not depend on ceofhack. + +## Transport protocol developers + +TPs can either live in their own projects or be a part of +ceofhack. The **second** way is recommended, so all available +transport protocols are shared with the ceofhack installation. + +### Creating a new transport protocol + +You can use the following code as a start: + + scheme=phpbb + implementation=shell + cd ceofhack/tp + mkdir -p ${scheme}/${implementation} + echo "echo listening implementation" > ${scheme}/${implementation}/listen + echo "echo send implementation" > ${scheme}/${implementation}/send + chmod 0755 ${scheme}/${implementation}/* + +Now you've a dummy "working" transport protocol. + +### Enabling a new transport protocol + +You can use the following code as a start: + + scheme=phpbb + implementation=shell + cd ceofhack/tp + + # Enable protocol in general + mkdir -p "$HOME/.ceof/tp/available/${scheme}" + cp "${scheme}/${implementation}/listen" "$HOME/.ceof/tp/available/${scheme}" + cp "${scheme}/${implementation}/send" "$HOME/.ceof/tp/available/${scheme}" + + # Enable listener for protocol + address="describe-particular-address" + mkdir -p "$HOME/.ceof/tp/listen/${scheme}-${address}" + echo "${scheme}${address}" > "$HOME/.ceof/tp/listen/${scheme}-${address}/url" + +[[!tag unix]]