Awesome Open Source
Awesome Open Source

Slack Crowdin Scrutinizer Codacy
SensioLabs Insight Travis CircleCI Codecov

About TorrentPier

TorrentPier — bull-powered BitTorrent tracker engine, written in php. High speed, simple modification, high load architecture, built-in support for alternative compiled announcers (Ocelot, XBT). In addition we have very helpful official support forum, where among other things it is possible to test the live demo, get any support and download modifications for engine.

Current status

TorrentPier is currently in active development. The goal is to remove all legacy code and rewrite existing to modern standards. If you want to go deep on the code, check our issues and go from there. The documentation will be translated into english in the near future, currently russian is the main language of it.


  • Apache / nginx
  • MySQL / MariaDB / Percona
  • PHP: 7.1 / 7.2 / 7.3
  • PHP Extensions: bcmath, intl, tidy (optional), xml, xmlwriter


For installation you need to follow a few simple steps:

  1. Unpack to the server the contents of the downloaded folder
  2. Install Composer and run composer install on the downloaded directory
  3. Create database and import dump located at install/sql/mysql.sql
  4. Edit database configuration settings in the configuration file or a local copy (see below)
  5. Edit domain name in the configuration file or a local copy (see below)
  6. Edit domain ssl setting in the configuration file or a local copy (see below)
  7. Edit this files:
    1. favicon.png (change on your own)
    2. robots.txt (change the addresses in lines Host and Sitemap on your own)
    3. opensearch_desc.xml (change the description and address on your own)
    4. opensearch_desc_bt.xml (change the description and address on your own)
  8. Log in to the forum with admin/admin login/password and finish setting up via admin panel

Access rights on folders and files

You must provide write permissions to the specified folders:

  • data/avatars
  • data/torrent_files
  • internal_data/ajax_html
  • internal_data/atom
  • internal_data/cache
  • internal_data/log
  • internal_data/triggers
  • sitemap

The specific settings depend on the server you are using, but in general case we recommend chmod 0755 for folders, and chmod 0644 for files in them. If you are not sure, leave it as is.

The recommended way to run cron.php

For significant tracker speed increase may be required to replace built-in cron.php by operating system daemon. For more information about that you can read this thread on our support forum.

Local configuration copy

You can override the settings using one of these methods: configuration file library/config.local.php and the environment file .env. Both files are created by copying the appropriate .example templates without extension. Local configuration files should not be available for reading to anyone by setting up access rights for your web server.

Ocelot installation

We have built-in support for alternate compiled announcer — Ocelot. The configuration is in the file library/config.php, the announcer is in the repository torrentpier/ocelot. You can read assembly instructions on his repository or in this thread on our support forum.

Official documentation

Documentation for TorrentPier can be found on the TorrentPier docs website.


Please read for details on our code of conduct, and the process for submitting pull requests to us. But we are always ready to renew your pull-request for compliance with these requirements. Just send it.


We use SemVer for versioning. For the versions available, see the tags on this repository.


This project is licensed under the MIT License - see the file for details

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
php (16,596
p2p (319
engine (220
torrent (150
bittorrent (103
sphinx (45
webtorrent (44
forums (17
torrent-client (16