Skip to content

gernest/goat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goat Build Status

NOTE: This was my first Go project, and there are plenty of strange/bad practices in the code. It does work, but please excuse the mess! :)

goat: Go __A__wesome __T__racker. BitTorrent tracker implementation, written in Go. MIT Licensed.

Full documentation for goat may be found on GoDoc.

For convenience, these links are provided to quickly jump to specific areas of documentation:

Installation

To download, build, and install goat, simply run:

go get github.com/mdlayher/goat

If using MySQL, the SQL schema files for goat can be found in res/mysql/. The database tables must be created manually before goat will run.

To build goat for use with ql, you can run:

go get -tags='ql' github.com/mdlayher/goat

The ql schema files and a tool to build the database can be found in res/ql. The ql database will be automatically copied from res/ql/goat.db to ~/.config/goat/goat.db.

Contributing

If you'd like to contribute patches to goat, we'd love to have your help! There are a few requirements which we ask you follow when contributing:

  • Ensure your code is properly formatted, linted, and error checked. Running make fmt will call go fmt, golint, and errcheck to handle this automatically.
  • Ensure your code passes all tests, by running make test to verify each package works properly.
  • Document your code. Heavily. Make it very clear exactly what the program is doing, and why.

Special thanks to the following for their help with the project:

  • NickPresta - general guidance, code linting, cleanup
  • ChimeraCoder - project structure, remote deployment fixes
  • sdgoij - ql storage backend, database abstraction
  • toqueteos - constant time string comparison

About

Goat: Go Awesome Tracker. BitTorrent tracker implementation, written in Go. MIT Licensed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.4%
  • Makefile 0.6%