diff --git a/README.md b/README.md index 6d9f308..c1c05e5 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,17 @@ -# Chihaya +# LBRY Tracker -[![Build Status](https://github.com/chihaya/chihaya/workflows/Build%20&%20Test/badge.svg)](https://github.com/chihaya/chihaya/actions) -[![Container Image](https://img.shields.io/github/v/release/chihaya/chihaya?color=%232496ED&label=container&logo=docker "Container Image")](https://quay.io/repository/jzelinskie/chihaya?tab=tags) -[![GoDoc](https://godoc.org/github.com/chihaya/chihaya?status.svg)](https://godoc.org/github.com/chihaya/chihaya) -[![License](https://img.shields.io/badge/license-BSD-blue.svg)](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29) -[![IRC Channel](https://img.shields.io/badge/IRC-%23chihaya-%235555ff.svg "IRC Channel")](https://web.libera.chat/#chihaya) +The LBRY tracker is a server that helps peers find each other. It was forked from [Chihaya](https://github.com/chihaya/chihaya), an open-source [BitTorrent tracker](https://en.wikipedia.org/wiki/BitTorrent_tracker). -Chihaya is an open source [BitTorrent tracker] written in [Go]. -Differentiating features include: +## Installation and Usage -- 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] - -**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. - -[releases]: https://github.com/chihaya/chihaya/releases -[BitTorrent tracker]: https://en.wikipedia.org/wiki/BitTorrent_tracker -[Go]: https://golang.org -[YAML]: https://yaml.org -[Prometheus]: https://prometheus.io -[Redis]: https://redis.io -[Helm]: https://helm.sh - -## 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]. - -[GitHub Issues]: https://github.com/chihaya/chihaya/issues -[GitHub Pull Requests]: https://github.com/chihaya/chihaya/pulls -[freenode IRC]: http://webchat.freenode.net/?channels=chihaya -[CONTRIBUTING.md]: https://github.com/chihaya/chihaya/blob/master/CONTRIBUTING.md - -### Getting Started - -#### Building from HEAD +### Building from HEAD In order to compile the project, the [latest stable version of Go] and knowledge of a [working Go environment] are required. ```sh -git clone git@github.com:chihaya/chihaya.git -cd chihaya +git clone git@github.com:lbryio/tracker.git +cd tracker go build ./cmd/chihaya ./chihaya --help ``` @@ -66,14 +19,7 @@ go build ./cmd/chihaya [latest stable version of Go]: https://golang.org/dl [working Go environment]: https://golang.org/doc/code.html -#### Docker - -Docker containers are available for [HEAD] and [stable] releases. - -[HEAD]: https://quay.io/jzelinskie/chihaya-git -[stable]: https://quay.io/jzelinskie/chihaya - -#### Testing +### Testing The following will run all tests and benchmarks. Removing `-bench` will just run unit tests. @@ -82,21 +28,31 @@ 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. +The tracker executable contains a command to end-to-end test a BitTorrent tracker. See ```sh -chihaya --help +tracker --help ``` ### Configuration -Configuration of Chihaya is done via one YAML configuration file. +Configuration of the tracker 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. -## Related projects +## Contributing -- [BitTorrent.org](https://github.com/bittorrent/bittorrent.org): a static website containing the BitTorrent spec and all BEPs -- [OpenTracker](http://erdgeist.org/arts/software/opentracker): a popular BitTorrent tracker written in C -- [Ocelot](https://github.com/WhatCD/Ocelot): a private BitTorrent tracker written in C++ +Contributions to this project are welcome, encouraged, and compensated. For more details, please check [this](https://lbry.tech/contribute) link. + +## License + +This project is MIT licensed. For the full license, see [LICENSE](LICENSE). + +## Security + +We take security seriously. Please contact security@lbry.com regarding any security issues. [Our PGP key is here](https://lbry.com/faq/pgp-key) if you need it. + +## Contact + +The primary contact for this project is [@shyba](mailto:vshyba@lbry.com).