Margay is a BitTorrent tracker written in Python (though intended to be compiled with Cython) for the Gazelle project. The first release is aimed to be 1-to-1 translation of Ocelot into Python to be then stress tested to see a comparison of efficiency between the two projects (with Margay then having the edge in developer productivity).
- Python 3.6
- aiohttp
- bencode.py
- mysqlclient
- requests
After cloning or downloading this repository, navigate to it and run:
python setup.py install
Running margay is easy from this repo:
usage: runner.py [-h] [-v] [-d] [-c [CONFIG]] [-V] Python BitTorrent tracker optional arguments: -h, --help show this help message and exit -v, --verbose Be more verbose in the output -d, --daemonize Run tracker as daemon -c [CONFIG], --config [CONFIG] -V, --version show program's version number and exit
After installing Gazelle, you should be able to point Margay towards that database and things should just work. Management of torrents, users, tokens, and the whitelist can all be done via the Gazelle site and it will be communicated to Margay. However, you must make sure that the Gazelle configuration (classes/config.php) is configured to point to where Margay is running and that both Margay and Gazelle have the same passwords configured in their respective configurations.
- Develop a "Leopardus Tracker Tester" which would test Ocelot/Margay for compliance with each other as well as benchmark
- Use the benchmarks to determine if it's worth developing this further
- Investigate dropping aiohttp for japronto for potential speed-up
- [pybtracker](https://github.com/elektito/pybtracker)
- [Ocelot](https://github.com/ApolloRIP/Ocelot)