Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Hekate, a highly-concurrent BitTorrent seeder

branch: develop
Octocat-spinner-32 dht @ e4f5b6d Import dht-0.21 plus one patch. August 11, 2011
Octocat-spinner-32 .gitignore Add .gitignore August 09, 2011
Octocat-spinner-32 .gitmodules Import dht-0.15 as a submodule August 09, 2011
Octocat-spinner-32 CHANGES Update CHANGES August 09, 2011
Octocat-spinner-32 LICENCE Add 2010 Copyright November 17, 2010
Octocat-spinner-32 Makefile Generate call graphs even when missing annotations July 05, 2013
Octocat-spinner-32 README Add website to README May 28, 2013
Octocat-spinner-32 hashtable.c Make private functions and variables static May 29, 2013
Octocat-spinner-32 hashtable.h Free the hashtable when exiting June 23, 2009
Octocat-spinner-32 hekate.cpc Use random(3) if /dev/urandom is not available May 29, 2013
Octocat-spinner-32 hekate.man Log dht messages and tweak debug levels August 11, 2011
Octocat-spinner-32 io.cpc cpc_runtime.h must be included first May 29, 2013
Octocat-spinner-32 io.h Use lazy buffers for reads January 02, 2011
Octocat-spinner-32 list.c Add 2010 Copyright November 17, 2010
Octocat-spinner-32 list.h use signaling instead of flag for stream_writer June 06, 2009
Octocat-spinner-32 parse.c Remove spurious, commented cps keywords May 29, 2013
Octocat-spinner-32 parse.h Change token names. May 29, 2013
Octocat-spinner-32 server.cpc Add prototype for free_chunks July 05, 2013
Octocat-spinner-32 server.h Make private functions and variables static May 29, 2013
Octocat-spinner-32 torrent.c Change token names. May 29, 2013
Octocat-spinner-32 torrent.h Add 2010 Copyright November 17, 2010
Octocat-spinner-32 tracker.cpc Use random(3) if /dev/urandom is not available May 29, 2013
Octocat-spinner-32 tracker.h Implement DHT support. October 18, 2009
Octocat-spinner-32 util.c Use random(3) if /dev/urandom is not available May 29, 2013
Octocat-spinner-32 util.h Use random(3) if /dev/urandom is not available May 29, 2013
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>
Something went wrong with that request. Please try again.