The HaskellTorrent package

[Tags: bsd3, program]

HaskellTorrent provides a BitTorrent client, based on the CML library for concurrency. This is an early preview release which is capable of downloading files from various torrent trackers, but have not yet demonstrated to be correct in all aspects. It is expected that the package currently contains numerous and even grave bugs. Patches to fix any problem are welcome!


[Skip to ReadMe]

Properties

Versions0.0, 0.1, 0.1.1
Change logNone available
Dependenciesbase (>=3.0 && <=5.0), bytestring, cereal, cml, containers, directory, hopenssl, hslogger, HTTP, HUnit, mtl, network, parsec, pretty, QuickCheck (>=2), random, random-shuffle, test-framework, test-framework-hunit, test-framework-quickcheck2, time [details]
LicenseBSD3
Copyright(c) 2009 Jesper Louis Andersen
AuthorJesper Louis Andersen
Maintainerjesper.louis.andersen@gmail.com
Stabilityexperimental
CategoryNetwork
Source repositoryhead: git clone git://github.com/jlouis/haskell-torrent.git -b master
ExecutablesHaskellTorrent
UploadedThu Mar 11 20:19:37 UTC 2010 by JesperLouisAndersen
DistributionsNixOS:0.1.1
Downloads646 total (20 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-05-18 [all 3 reports]

Flags

NameDescriptionDefault
debugEnable debug supportDisabled
threadscopeEnable the eventlog necessary for ThreadScopeDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for HaskellTorrent-0.1.1

Haskell Torrent - a haskell bittorrent client.

Introduction

This is a Haskell bittorrent client. I am the introduction document and I need to be written by some generous soul!

Installation

Here is what I do to install haskell torrrent locally on my machine:

cabal install --prefix=$HOME --user

Since we are using the magnificient cabal, this is enough to install haskell torrent in our $HOME/bin directory.

Usage

Haskell torrent can currently only do one very simple thing. If you call it with

HaskellTorrent foo.torrent

then it will begin downloading the file in foo.torrent to the current directory via the Bittorrent protocol. Note: Currently we have no support for multifile torrents.

Protocol support

Currently haskell-torrent supports the following BEPs (See the BEP Process document for an explanation of these)

Haskell-torrent is not supporting these BEPs, but strives to do so one day:

Haskell-torrent will probably never support these BEPs:

Debugging

For debugging, jlouis tends to use the following:

make conf build test

This builds HaskellTorrent with the Debug flag set and also builds the software with profiling by default so it is easy to hunt down performance regressions. It also runs the internal test-suite for various values.

Reading material for hacking HaskellTorrent:

Source code Hierarchy

Known bugs

"PieceMgrP"(Fatal): Process exiting due to ex: user error (P/Blk (655,Block {blockOffset = 81920, blockSize = 16384}) is in the HaveBlocks set)
"ConsoleP"(Info):   Process Terminated by Supervisor

vim: filetype=none tw=76 expandtab