From: Ramakrishnan Muthukrishnan Date: Sun, 22 Mar 2015 01:55:05 +0000 (+0530) Subject: README -> README.md X-Git-Url: https://git.rkrishnan.org/%5B/frontends/flags/provisioning?a=commitdiff_plain;h=d9533d3e0b3797a0ed80d468fff1d27af94905f3;p=functorrent.git README -> README.md --- diff --git a/README b/README deleted file mode 100644 index fcde15b..0000000 --- a/README +++ /dev/null @@ -1,45 +0,0 @@ -`functorrent' is a bittorrent client. - -[[https://travis-ci.org/vu3rdd/functorrent][file:https://travis-ci.org/vu3rdd/functorrent.svg?branch=master]] - -building --------- - -I suggest using cabal sandbox. - -Steps: - -clone the repo; cd functorrent; - -1. cabal sandbox init -2. wget http://www.stackage.org/lts/cabal.config -3. cabal install --only-dependencies --enable-tests -4. cabal build # binaries in ./dist/built/functorrent/* - -Goals ------ - -- Become more profient with Haskell. -- Implement something non-trivial with Haskell (crypto, file operations, network - operations, concurrency, bit twiddling, DHT). -- Follow the spec - https://wiki.theory.org/BitTorrentSpecification -- Easy for newbies like me to read and understand along side the spec. -- doctest and quickcheck tests. -- Follow Haskell Style Guide - https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md - -Current Status --------------- - -- can decode torrent files (bencoding) -- talk to the tracker and get the peer list -- the `main' program takes a torrent file (in the local file system) as input and - prints the {ip,port} for each peer, after talking to the tracker. - -TODO ----- - -- Test suite. -- Peer protocol. -- Get the file download working in the simplest possible way. -- Concurrency (threads per peer) -- other advanced features of Bit Torrent (like DHT). diff --git a/README.md b/README.md new file mode 100644 index 0000000..29654bf --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# A bittorrent client. + +[[https://travis-ci.org/vu3rdd/functorrent][file:https://travis-ci.org/vu3rdd/functorrent.svg?branch=master]] + +## building + +I suggest using cabal sandbox. + +### Steps: + +clone the repo; cd functorrent; + + $ cabal sandbox init + $ wget http://www.stackage.org/lts/cabal.config + $ cabal install --only-dependencies --enable-tests + $ cabal build # binaries in ./dist/built/functorrent/* + +## Goals + +- Become more profient with Haskell. +- Implement something non-trivial with Haskell (crypto, file operations, network + operations, concurrency, bit twiddling, DHT). +- Follow the spec - https://wiki.theory.org/BitTorrentSpecification +- Easy for newbies like me to read and understand along side the spec. +- doctest and quickcheck tests. +- Follow Haskell Style Guide - https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md + +## Current Status + +- can decode torrent files (bencoding) +- talk to the tracker and get the peer list +- the `main' program takes a torrent file (in the local file system) as input and + prints the {ip,port} for each peer, after talking to the tracker. + +## TODO + +* Test suite. +* Peer protocol. +* Get the file download working in the simplest possible way. +* Concurrency (threads per peer) +* other advanced features of Bit Torrent (like DHT).