Sign inSign up

gcparty/chihaya

By gcparty

•Updated over 5 years ago

Image
0

919

gcparty/chihaya repository overview

⁠Chihaya

Build Status Docker Repository on Quay.io Go Report Card GoDoc Lines of Code License IRC Channel

Note: The master branch may be in an unstable or even broken state during development. Please use releases⁠ instead of the master branch in order to get stable binaries.

Chihaya is an open source BitTorrent tracker⁠ written in Go⁠.

Differentiating features include:

  • HTTP and UDP protocols
  • IPv4 and IPv6 support
  • Pre/Post middleware hooks
  • YAML⁠ configuration
  • Metrics via Prometheus⁠
  • High Availability via Redis⁠
  • Kubernetes deployment via Helm⁠

⁠Why Chihaya?

Chihaya is built for developers looking to integrate BitTorrent into a preexisting production environment. Chihaya's pluggable architecture and middleware framework offers a simple and flexible integration point that abstracts the BitTorrent tracker protocols. The most common use case for Chihaya is enabling peer-to-peer cloud software deployments.

⁠Development

⁠Contributing

Long-term discussion and bug reports are maintained via GitHub Issues⁠. Code review is done via GitHub Pull Requests⁠. Real-time discussion is done via freenode IRC⁠.

For more information read CONTRIBUTING.md⁠.

⁠Getting Started
⁠Building from HEAD

In order to compile the project, the latest stable version of Go⁠ and knowledge of a working Go environment⁠ are required.

$ git clone [email protected]:chihaya/chihaya.git
$ cd chihaya
$ go build ./cmd/chihaya
$ ./chihaya --help
⁠Docker

Docker containers are available for HEAD⁠ and stable⁠ releases.

⁠Testing

The following will run all tests and benchmarks. Removing -bench will just run unit tests.

$ go test -bench $(go list ./...)

The Chihaya executable contains a command to end-to-end test a BitTorrent tracker. See

$ chihaya --help
⁠Configuration

Configuration of Chihaya is done via one YAML configuration file. The dist/ directory contains an example configuration file. Files and directories under docs/ contain detailed information about configuring middleware, storage implementations, architecture etc.

Tag summary

Content type

Image

Digest

Size

11.4 MB

Last updated

over 5 years ago

docker pull gcparty/chihaya