Requirements - mangei/onion-routing GitHub Wiki
by Thomas
Directory node:
- provision/deploy new nodes
- make sure that 6 nodes are available (reprovision)
- monitor all nodes (or rather: know if a node is available)
- answer: which nodes are available? where are these nodes (IP)?
- have the public keys of all nodes
- resend "lost" messages (timeout?)
- load balancing (a simple priority queue should suffice)
chain nodes:
- receive a request, decrypt it with the private key, read out the destination and forward it
- receive a response to a request, encrypt it with the public key of the intended target, forward it
- the exit node has to send the request to the service and read the response
- generate a new public/private key pair on startup
- contact the directory node
- log the requests
client:
- request chain from directory
- encrypt the message
- include its own public key with the message (is needed for the response)
- stage 1: command line
- stage 2: web UI for tracing requests and showing the response
quote service:
- rest-api which provides a random quote from a text file