[Haskell-cafe] ANN: haskell-tor 0.1

52 views
Skip to first unread message

Adam Wick

unread,
Nov 18, 2015, 8:23:02 PM11/18/15
to haskel...@haskell.org
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:


Haskell-tor is HaLVM-ready.


- Adam

raichoo

unread,
Nov 19, 2015, 3:21:13 AM11/19/15
to Adam Wick, haskel...@haskell.org
Amazing \o/
I was hoping for this to be announced after hearing you talk about this in a HalVM talk.
I'm really excited about this and HalVM!

Kind regards,
raichoo

_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe


Henk-Jan van Tuyl

unread,
Nov 19, 2015, 12:25:50 PM11/19/15
to haskel...@haskell.org, Adam Wick
On Thu, 19 Nov 2015 02:22:45 +0100, Adam Wick <aw...@galois.com> wrote:

:
> 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.
:

The package cannot be installed on a Windows computer, as it indirectly
depends on the package unix; I get the messages:
cabal: Error: some packages failed to install:
hans-2.6.0.0 depends on unix-2.7.1.0 which failed to install.
haskell-tor-0.1.0.0 depends on unix-2.7.1.0 which failed to install.

Regards,
Henk-Jan van Tuyl


--
Folding@home
What if you could share your unused computer power to help find a cure? In
just 5 minutes you can join the world's biggest networked computer and get
us closer sooner. Watch the video.
http://folding.stanford.edu/


http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--

Curtis Gagliardi

unread,
Nov 19, 2015, 1:58:14 PM11/19/15
to Adam Wick, haskel...@haskell.org
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?

Adam Wick

unread,
Nov 23, 2015, 3:03:43 PM11/23/15
to Curtis Gagliardi, haskel...@haskell.org
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

Peter Simons

unread,
Nov 24, 2015, 4:01:38 AM11/24/15
to haskel...@haskell.org
Hi Adam,
do you respond to issues posted on Github?

As far as I can tell, haskell-tor does not compile, because the release
tarball is missing the module Tor.Flags. This seems easy enough to fix,
but I didn't get any response to my report at:

https://github.com/GaloisInc/haskell-tor/issues/4

Best regards,
Peter

Jolly Jack

unread,
Nov 28, 2015, 6:06:34 AM11/28/15
to Haskell-cafe, haskel...@haskell.org, aw...@galois.com
why would any sane citizen in any of the Free World countries provide material support for terrorists or criminals, is beyond me.

Are you that childish in your rebellion against authority? 
Reply all
Reply to author
Forward
0 new messages