## π About TorrentPier
-TorrentPier β bull-powered BitTorrent Public/Private tracker engine, written in PHP. High speed, simple modifications, load-balanced
-architecture. In addition, we have a very helpful
+TorrentPier β bull-powered BitTorrent Public/Private tracker engine, written in PHP. High speed, simple modifications, load-balanced
+architecture. In addition, we have a very helpful
[official support forum](https://torrentpier.com), where it's possible to get support and download modifications for the engine.
## π Current status
-TorrentPier is currently in active development. The goal is to remove all legacy code and rewrite the existing code to
-modern specifications. If you want delve deep into the code, check our [issues](https://github.com/torrentpier/torrentpier/issues)
-and go from there. The documentation will be translated to english in the near future, currently russian is the main language of it.
+TorrentPier is currently in active development. The goal is to remove all legacy code and rewrite the existing code to
+modern specifications. If you want to delve deep into the code, check our [issues](https://github.com/torrentpier/torrentpier/issues)
+and go from there. The documentation will be translated to English in the near future; currently Russian is the main language.
## β¨ Features
* Rich forum with browsing/moderation tools
@@ -40,7 +40,7 @@ and go from there. The documentation will be translated to english in the near f
* Bonus points
* Polling system
* PM/DM system
-* Multilingual support (Russian and English is currently fully supported, with others in the future)
+* Multilingual support (Russian and English are currently fully supported, with others in the future)
* Atom/RSS feeds
* ... and so MUCH MORE!
@@ -103,9 +103,9 @@ Check out our [autoinstall](https://github.com/torrentpier/autoinstall) reposito
5. Create a database and import the dump located at `install/sql/mysql.sql`
6. Edit database configuration settings in the environment (`.env.example`), after, rename to `.env`
7. Provide write permissions to the specified folders:
- * `data/avatars`, `data/uploads`, `data/uploads/thumbs`
- * `internal_data/atom`, `internal_data/cache`, `internal_data/log`, `internal_data/triggers`
- * `sitemap`
+ * `data/avatars`, `data/uploads`, `data/uploads/thumbs`
+ * `internal_data/atom`, `internal_data/cache`, `internal_data/log`, `internal_data/triggers`
+ * `sitemap`
8. Voila! β¨
> [!IMPORTANT]
@@ -114,8 +114,8 @@ Check out our [autoinstall](https://github.com/torrentpier/autoinstall) reposito
### Additional steps π£
1. Edit these files:
- * `favicon.png` (change to your own)
- * `robots.txt` (change the addresses in lines `Host` and `Sitemap` to your own)
+ * `favicon.png` (change to your own)
+ * `robots.txt` (change the addresses in lines `Host` and `Sitemap` to your own)
2. Log in to the forum using the **admin/admin** login/password, and finish setting up via admin panel. Don't forget to change your password!
## π Security vulnerabilities
@@ -124,13 +124,13 @@ If you discover a security vulnerability within TorrentPier, please follow our [
## π Our recommendations
-* *It's recommended to run `cron.php`.* - For significant tracker speed increase it ay be required to replace the built-in cron.php in operating system daemon.
+* *It's recommended to run `cron.php`.* - For significant tracker speed increase it may be required to replace the built-in cron.php with an operating system daemon.
* *Local configuration copy.* - You can override the settings using the local configuration file `library/config.local.php`.
## π Contributing / Contributors
-Please read our [contributing policy](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md) for details, and the process for
-submitting pull requests to us. But we are always ready to renew your pull-request for compliance with
+Please read our [contributing policy](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md) for details, and the process for
+submitting pull requests to us. But we are always ready to review your pull-request for compliance with
these requirements. Just send it!
@@ -141,7 +141,7 @@ Made with [contrib.rocks](https://contrib.rocks).
## π Sponsoring
-Support this project by becoming a sponsor or a backer.
+Support this project by becoming a sponsor or a backer.
[](https://opencollective.com/torrentpier)
[](https://opencollective.com/torrentpier)
@@ -164,7 +164,7 @@ Support this project by becoming a sponsor or a backer.
## π¦ Versioning
-We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/torrentpier/torrentpier/tags).
+We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/torrentpier/torrentpier/tags).
## π License
From b7bc7f91662b050082843d18b03376dc67efa3e0 Mon Sep 17 00:00:00 2001
From: Roman Kelesidis
Date: Thu, 19 Jun 2025 14:52:07 +0300
Subject: [PATCH 11/46] docs: Updated `Requirements` sections in README.md
(#1975)
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 1b28c0526..44c93375c 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,7 @@ and go from there. The documentation will be translated to English in the near f
## π§ Requirements
* Apache / nginx ([example config](install/nginx.conf)) / caddy ([example config](install/Caddyfile))
-* MySQL 5.5.3 or above / MariaDB 10.0 or above / Percona
+* MySQL 5.5.3 or above (including MySQL 8.0+) / MariaDB 10.0 or above / Percona
* PHP: 8.1 / 8.2 / 8.3 / 8.4
* PHP Extensions: mbstring, gd, bcmath, intl, tidy (optional), xml, xmlwriter
* Crontab (Recommended)
From dc64426574087e69bc7e056a89ff367438e37344 Mon Sep 17 00:00:00 2001
From: Roman Kelesidis
Date: Thu, 19 Jun 2025 18:34:15 +0300
Subject: [PATCH 12/46] docs: Changed nightly.link url in `README.md` (#1977)
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 44c93375c..3a699f78a 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
-
+
From 896cf6c3d604ef4326268cb7e7fb90dfb29cc2e7 Mon Sep 17 00:00:00 2001
From: belomaxorka
Date: Fri, 20 Jun 2025 06:12:19 +0000
Subject: [PATCH 13/46] =?UTF-8?q?changelog:=20Update=20CHANGELOG.md=20?=
=?UTF-8?q?=F0=9F=93=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a96b57792..ce2a94d5c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,15 @@
# π Change Log
+## [nightly](https://nightly.link/torrentpier/torrentpier/workflows/ci/v2.4/TorrentPier-v2.4)
+
+### π Documentation
+
+- Changed nightly.link url in `README.md` ([#1977](https://github.com/torrentpier/torrentpier/pull/1977)) - ([dc64426](https://github.com/torrentpier/torrentpier/commit/dc64426574087e69bc7e056a89ff367438e37344))
+- Updated `Requirements` sections in README.md ([#1975](https://github.com/torrentpier/torrentpier/pull/1975)) - ([b7bc7f9](https://github.com/torrentpier/torrentpier/commit/b7bc7f91662b050082843d18b03376dc67efa3e0))
+- Fixed some typos in `README.md` ([#1974](https://github.com/torrentpier/torrentpier/pull/1974)) - ([403fcf2](https://github.com/torrentpier/torrentpier/commit/403fcf2aca4b2d70bfca194107f4b4f5c5ba7f03))
+
+
## [v2.4.6](https://github.com/torrentpier/torrentpier/compare/v2.4.6-alpha.4..v2.4.6) (2025-06-19)
### π Bug Fixes
From 8c161ceae0f80a3ffe57da06dbadd1f9a53272f3 Mon Sep 17 00:00:00 2001
From: Roman Kelesidis
Date: Mon, 23 Jun 2025 21:49:53 +0300
Subject: [PATCH 14/46] fix(filelist): `Undefined property: FileTree::$length`
when v2 torrent only (#2004)
---
filelist.php | 15 +--------------
styles/templates/default/filelist.tpl | 24 ------------------------
2 files changed, 1 insertion(+), 38 deletions(-)
diff --git a/filelist.php b/filelist.php
index 8e256dc67..2cfd9d418 100644
--- a/filelist.php
+++ b/filelist.php
@@ -82,7 +82,7 @@ if (IS_GUEST && $torrent->isPrivate()) {
// Get torrent files
$files = $torrent->$t_version_field()->$t_files_field();
-if ($meta_v1 && $meta_v2) {
+if ($meta_v2) {
$files = new \RecursiveIteratorIterator($files); // Flatten the list
}
@@ -102,19 +102,6 @@ foreach ($files as $file) {
$torrent_name = !empty($t_name = $torrent->getName()) ? str_short(htmlCHR($t_name), 200) : $lang['UNKNOWN'];
$torrent_size = humn_size($row['size'], 2);
-// Get announcers list
-$announcers_list = $torrent->getAnnounceList()->toArray();
-$announcers_count = 0;
-foreach ($announcers_list as $announcer) {
- $announcers_count++;
- $row_class = ($announcers_count % 2) ? 'row1' : 'row2';
- $template->assign_block_vars('announcers', [
- 'ROW_NUMBER' => $announcers_count,
- 'ROW_CLASS' => $row_class,
- 'ANNOUNCER' => $announcer[0]
- ]);
-}
-
// Output page
$template->assign_vars([
'PAGE_TITLE' => "$torrent_name (" . $torrent_size . ")",
diff --git a/styles/templates/default/filelist.tpl b/styles/templates/default/filelist.tpl
index 9e6bc4eb4..149a98acc 100644
--- a/styles/templates/default/filelist.tpl
+++ b/styles/templates/default/filelist.tpl
@@ -6,30 +6,6 @@
-