[Mnet-devel] using MixMinion for anonymity
Zooko
zooko at zooko.com
Wed Jul 14 14:29:06 BST 2004
> Does MixMinion do more than just email?
Yes. I worked with Nick Mathewson on simplifying the MixMinion API so
that it would be more convenient for other Python code to use it as a
transport layer.
Just to show you what I'm talking about, I'll attach the last version
that I sent to Nick, but be aware that the API that Nick eventually
decides to support will be rather different from this one. Also I'll
Cc: him.
Nick: please see this thread: [1] for context.
Regards,
Zooko
[1]
http://lists.mnetproject.org/pipermail/mnet-devel/2004-July/003429.html
-------------- next part --------------
>From zooko at zooko.com Fri May 28 16:02:53 2004
Mime-Version: 1.0 (Apple Message framework v613)
Bcc: Zooko <zooko at zooko.com>
Content-Type: text/plain;
charset=US-ASCII;
format=flowed
Message-Id: <00EF82BB-B0E2-11D8-B2AB-000A95E2A184 at zooko.com>
Content-Transfer-Encoding: 7bit
From: Zooko <zooko at zooko.com>
Subject: latest minion-API.py
Date: Fri, 28 May 2004 16:02:53 -0400
To: nickm at alum.mit.edu
# The Simple API
# I don't think that this should be the only Minion API, just that it
should be one of them.
# Alternatively, the methods could have enough default-value parameters
that the same set of
# methods could serve as both the simple and complex APIs.
def sendForwardMessage(self, address, message):
pass
def sendReplyMessage(self, surbList, message):
pass
def generateSURB(self):
pass
# The Low-Level API
# parameter name: type:
# --------------- ----
# address instance of Address
# message anything which responds to "str()"
# surb instances of Surb
# packetbody instances of PacketBody
# directory instances of Directory
# pathspec sequences of instances of PathSpecItem
# packet instances of Packet
# packets sequences of instances of Packet
class MinionThingie:
def __init__(self):
pass
def encodeForwardMessage(self, address, message):
"""
Return a list of packet bodies.
"""
pass
def encodeReplyMessage(self, surb, message):
"""
Return a list of packet bodies.
"""
pass
def buildForwardPacket(self, packetbody, directory, pathspec):
"""
Generates the packet header and encrypts the packet, returning
a packet.
"""
pass
def buildReplyPacket(self, packetbody, directory, pathspec, surb):
"""
Generates the packet header and encrypts the packet, returning
a packet.
"""
pass
def sendPackets(self, packets, callback=None):
"""
Send the packets, and if callback is callable, it will be
invoked once
for each packet with two arguments: first the packet and second
a
boolean indicating whether that packet was successfully sent
off of the
local machine or not.
"""
pass
def generateSURB(self):
pass
def reconstructMessage(self, packets):
"""
Reconstruct the message from the packets (which must be all
generated
from the same message and which must be of sufficient number),
and
return the message.
"""
pass
# callbacks
def weReceivedAPacket(self, packet):
pass
More information about the Mnet-devel
mailing list