Update README.md
This commit is contained in:
parent
c8f0c1eed8
commit
9330b3fd59
1 changed files with 24 additions and 68 deletions
92
README.md
92
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)
|
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).
|
||||||
[![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)
|
|
||||||
|
|
||||||
Chihaya is an open source [BitTorrent tracker] written in [Go].
|
|
||||||
|
|
||||||
Differentiating features include:
|
## Installation and Usage
|
||||||
|
|
||||||
- HTTP and UDP protocols
|
### Building from HEAD
|
||||||
- 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
|
|
||||||
|
|
||||||
In order to compile the project, the [latest stable version of Go] and knowledge of a [working Go environment] are required.
|
In order to compile the project, the [latest stable version of Go] and knowledge of a [working Go environment] are required.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone git@github.com:chihaya/chihaya.git
|
git clone git@github.com:lbryio/tracker.git
|
||||||
cd chihaya
|
cd tracker
|
||||||
go build ./cmd/chihaya
|
go build ./cmd/chihaya
|
||||||
./chihaya --help
|
./chihaya --help
|
||||||
```
|
```
|
||||||
|
@ -66,14 +19,7 @@ go build ./cmd/chihaya
|
||||||
[latest stable version of Go]: https://golang.org/dl
|
[latest stable version of Go]: https://golang.org/dl
|
||||||
[working Go environment]: https://golang.org/doc/code.html
|
[working Go environment]: https://golang.org/doc/code.html
|
||||||
|
|
||||||
#### Docker
|
### Testing
|
||||||
|
|
||||||
Docker containers are available for [HEAD] and [stable] releases.
|
|
||||||
|
|
||||||
[HEAD]: https://quay.io/jzelinskie/chihaya-git
|
|
||||||
[stable]: https://quay.io/jzelinskie/chihaya
|
|
||||||
|
|
||||||
#### Testing
|
|
||||||
|
|
||||||
The following will run all tests and benchmarks.
|
The following will run all tests and benchmarks.
|
||||||
Removing `-bench` will just run unit tests.
|
Removing `-bench` will just run unit tests.
|
||||||
|
@ -82,21 +28,31 @@ Removing `-bench` will just run unit tests.
|
||||||
go test -bench $(go list ./...)
|
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
|
See
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
chihaya --help
|
tracker --help
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration
|
### 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.
|
The `dist/` directory contains an example configuration file.
|
||||||
Files and directories under `docs/` contain detailed information about configuring middleware, storage implementations, architecture etc.
|
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
|
Contributions to this project are welcome, encouraged, and compensated. For more details, please check [this](https://lbry.tech/contribute) link.
|
||||||
- [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++
|
## 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).
|
||||||
|
|
Loading…
Reference in a new issue