Skip to content
Synapse BitTorrent Daemon
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
adns Handle multiple nameserver in dns resolver May 1, 2018
bencode Fix metadata transfer Apr 5, 2019
ci Move session data to separate crate Mar 30, 2018
doc Improve download_token strategy Mar 15, 2019
native Extract sha1 to local crate Mar 11, 2018
rpc Allow subresource querying Oct 18, 2018
session Update session Cargo information Apr 24, 2018
src Prefer non unwrapping BigEndian decoding Apr 6, 2019
sycli Update sycli to use current token DL strategy Apr 4, 2019
synulator Update; Fix synulator build (#118) Jul 7, 2018
.dockerignore add musl docker image build (#86) Mar 15, 2018
.gitignore Ignore index files Dec 4, 2017
.travis.yml Update travis version Apr 4, 2019
Cargo.lock Update sycli to use current token DL strategy Apr 4, 2019
Dockerfile.musl add musl docker image build (#86) Mar 15, 2018
LICENSE Wrap license Aug 20, 2017
Makefile Update travis version Apr 4, 2019 Implement full piece validation semantics Mar 12, 2018
example_config.toml Allow for disabling DHT Apr 4, 2019


Build Status

Synapse is a flexible and fast BitTorrent daemon.

It currently supports most systems which implement epoll or kqueue, with a focus on 64-bit linux servers.


  • Event based RPC using websockets
  • HTTP downloads and TLS for easy server usage
  • Can be used via web client with minimal setup - see receptor



A list of packages can be found on this wiki page.


Install dependencies:

  • rustc >= 1.30.0
  • cargo >= 0.18
  • OpenSSL >= 1.0.2
  • pkg-config
  • gcc | clang

Synapse and sycli can be installed with:

cargo build --release --all
cargo install
cargo install --path ./sycli/

If you'd just like to install sycli:

cargo build --release -p sycli
cargo install --path ./sycli/


Synapse expects its configuration file to be present at $XDG_CONFIG_DIR/synapse.toml, or ~/.config/synapse.toml. If it is not present or invalid, a default configuration will be used. These defaults are given in example_config.toml.

Sycli can be configured in a similar manner, using sycli.toml.


Please see this issue for details on development status. If you're interested in developing a client for synapse, see doc/RPC for the current RPC spec. if you'd like to contribute to synapse, see doc/HACKING.

You can’t perform that action at this time.