/synapse

Synapse BitTorrent Daemon

Primary LanguageRustISC LicenseISC

synapse

Rust Build

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.

About

  • Event based RPC using websockets
  • HTTP downloads and TLS for easy server usage
  • Can be used via web client with minimal setup - see receptor
  • See this wiki page for an overview of stability

Installation

Package

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

Compiling

Install dependencies:

  • rustc >= 1.39.0
  • cargo >= 0.18
  • gcc | clang

Synapse and sycli can be installed with:

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

If you'd just like to install sycli:

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

Configuration

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.

Desktop application

Copy share/synapse/applications/synapse.desktop to $XDG_DATA_HOME/applications or ~/.local/share/applications.

XDG MIME Applications example configuration:

~/.config/mimeapps.list

[Default Applications]
x-scheme-handler/magnet=synapse.desktop

Development

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.