Hekate, a highly-concurrent BitTorrent seeder
C
Permalink
Failed to load latest commit information.
dht @ e4f5b6d
.gitignore Add .gitignore Aug 9, 2011
.gitmodules Import dht-0.15 as a submodule Aug 9, 2011
CHANGES Update CHANGES Aug 9, 2011
LICENCE
Makefile Generate call graphs even when missing annotations Jul 5, 2013
README Add website to README May 28, 2013
hashtable.c Make private functions and variables static May 29, 2013
hashtable.h Free the hashtable when exiting Jun 23, 2009
hekate.cpc
hekate.man
io.cpc
io.h Use lazy buffers for reads Jan 2, 2011
list.c Add 2010 Copyright Nov 17, 2010
list.h
parse.c Remove spurious, commented cps keywords May 29, 2013
parse.h
server.cpc
server.h
torrent.c Change token names. May 29, 2013
torrent.h Add 2010 Copyright Nov 17, 2010
tracker.cpc
tracker.h Implement DHT support. Oct 18, 2009
util.c Use random(3) if /dev/urandom is not available May 29, 2013
util.h

README

Hekate
******

Hekate is a BitTorrent seeder (informally, a "BitTorrent server", or software
for your "seedbox") designed to handle millions of simultaneous torrents and
tens of thousands of simultaneously connected peers.

Hekate is written in CPC, an experimental concurrent dialect of C. In order to
build Hekate, you will need to install the CPC compiler first. 

  http://www.pps.univ-paris-diderot.fr/~jch/software/hekate/

Checking out from repository
****************************

If you want to grab the latest development version:

  git clone --recursive git://git.wifi.pps.univ-paris-diderot.fr/hekate

Note that you need the --recursive flag because of the dht submodule.
In case you forget it, you can check out (and update) submodules with:

  git submodule update --init

There is also a github mirror:

  git clone --recursive git://github.com/kerneis/hekate


Installation
************

To build Hekate, you need to install:

- the CPC compiler [http://www.pps.univ-paris-diderot.fr/~kerneis/software/cpc],
- libcurl,
- libopenssl,
- libpthread (which is required by CPC anyway),

and run:

  make

Known bugs and limitations
**************************

- When listening() fails, trackers and dht continue to run whereas Hekate
  should leave.
- Hekate uses mmap() for every file it serves, and never releases them.  This
  means you need enough virtual memory to hold all your files; this might be an
  issue if you run Hekate on a 32-bit architecture.

Do not hesitate to report other bugs to the hekate-users mailing list:

  http://lists.sourceforge.net/lists/listinfo/hekate-users

Gabriel Kerneis <gabriel@kerneis.info>