PhpDev.App
torrentpier/torrentpier

torrentpier/torrentpier

Stars: 216

Forks: 78

Pull Requests: 623

Issues: 268

Watchers: 34

Last Updated: 2023-09-17 09:17:11

TorrentPier. Main project repository

License: MIT License

Languages: PHP, HTML, JavaScript, Smarty, CSS

https://torrentpier.com

TorrentPier

Bull-powered BitTorrent tracker engine

License Stars Packagist Build status Crowdin Downloads Version Last release Size

🐂 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.

🔧 Requirements

  • Apache / nginx
  • MySQL 5.5.3 or above / MariaDB 10.0 or above / Percona
  • PHP: 7.4 / 8.0 / 8.1 / 8.2
  • PHP Extensions: bcmath, intl, tidy (optional), xml, xmlwriter

💾 Installation

For installation, you need to follow a few simple steps:

  1. Install Composer
  2. Run composer create-project torrentpier/torrentpier
  3. After run composer install on the project directory
  4. Create database and import dump located at install/sql/mysql.sql
  5. Edit database configuration settings in the configuration file or a local copy (see below)
  6. Edit domain name in the configuration file or a local copy (see below)
  7. Edit domain ssl setting in the configuration file or a local copy (see below)
  8. 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)
  9. 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.

📌 Our recommendations

  • 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.
  • TMRR — Torrent Merkle Root Reader. - A tool for extracting, comparing and calculating file hashes for .torrent files, compatible with the BitTorrent v2 protocol. Useful for finding the sources of the same copies of files on different trackers & DHT indexers that support BitTorrent v2 protocol, thus reviving dead torrents, valuable Internet artifacts.

📝 Official documentation

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

💚 Contributing / Contributors

Please read CONTRIBUTING.md 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.

Made with contrib.rocks.

💞 Sponsoring

Support this project by becoming a sponsor or a backer.

OpenCollective sponsors OpenCollective backers

📦 Versioning

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

📖 License

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