[Haskell-cafe] ANN: haskell-tor 0.1

Adam Wick awick at galois.com
Mon Nov 23 20:03:26 UTC 2015


The path I've been using is basically using the tor spec and implement it.
I'll also say that, for C, Tor is pretty clear, so the source can be used
to clarify the docs.

Other things that might be useful for warm-up purposes:

(1) Right now the test executable is pretty just a hard-coded 'wget' that
runs through Tor. If we could expand it to be an analogue of the
traditional Tor binary, that'd be cool. It'd mean figuring out how to pull
in the existing options via command line arguments and/or config files, and
then extending haskell-tor to allow some of the same flags normal-tor has.

(2) Running hpc over the source code while running the test suite, and then
finding tests to run on the uncovered bits would be great. Theoretically
the library is well set up for building up fake, internal test networks and
then running higher-level tests, too. This needs to be done.

(3) There's some stuff in the Tor spec about reporting bandwidth usage when
publishing node descriptions. I think you could just add a wrapper around
the network stack argument and come up with something pretty clean,
awesome, and simple, but again ... needs to be thought out and done.

(4) Flow control! I put a little bit of flow control stuff in, but I
suspect it might be wrong. But at least you'd have some existing stuff to
start from.

Those seem like the easiest four to jump on, if you don't want to start
adding core features as your first step. :) And certainly the first two are
going to be priorities for me, as soon as I fix a couple early issues
people have submitted and get a chance to put more time into it.


- Adam

On Thu, Nov 19, 2015 at 10:58 AM Curtis Gagliardi <
gagliardi.curtis at gmail.com> wrote:

> Very excited about this.  I want to contribute but am new to tor
> (internals at least, been runing a relay for a long time).   Do any of
> those strike you as lower hanging fruit than the others that might be a
> good place to start?  Do you have any recommended resources or is the path
> pretty much read the tor spec and implement it?
>
> On Wed, Nov 18, 2015 at 5:22 PM, Adam Wick <awick at galois.com> wrote:
>
>> Howdy -
>>
>> Galois is pleased to announce an initial release of haskell-tor.
>> Haskell-tor is intended to be a full-featured, drop-in implementation of
>> the Tor onion routing protocol. This release provides full support for
>> resolving names and building connections via anonymized channels, as well
>> as (less tested) support for running relay and exit nodes.
>>
>> There are still many tasks left to do, however, if you're interested in
>> learning about and working on a Tor implementation, including support for
>> hidden services, proper flow control, directory support, etc. So if you're
>> interested, jump in! We welcome your patches.
>>
>> You can find haskell-tor on:
>>
>> GitHub: https://github.com/GaloisInc/haskell-tor
>> Hackage: https://hackage.haskell.org/package/haskell-tor
>>
>> Haskell-tor is HaLVM-ready.
>>
>>
>> - Adam
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20151123/35adedb0/attachment.html>


More information about the Haskell-Cafe mailing list