Вставьте файл update_torrent_stats.php в папка cron
и выполните эта SQL
Code:
ALTER TABLE torrents
ADD COLUMN announce_url VARCHAR(255) DEFAULT NULL
AFTER info_hash;
У нас есть рабочий файл scrape.php, который возвращает статистику в формате bencode (согласно протоколу BitTorrent).
Таблица торрентов содержит info_hash (в шестнадцатеричном формате), сиды, личеры, завершенные раздачи, но изначально отсутствовал announce_url.
2. Я создал продвинутый скрипт для парсинга.
Я написал cron/update_torrent_stats.php, который:
Считывает все торренты из таблицы торрентов.
Поддерживает три режима:

Локальные торренты → сбор данных на ваш scrape.php

Внешние HTTP-торренты → сбор данных на внешний http://.../scrape

Внешние UDP-торренты → сбор данных на UDP-протокол (BEP 15)
Поддерживает логи, пробный запуск, ограничение до N торрентов, фильтр бездействия.
Работает в Windows (WAMP) и Linux.
3. Добавлена поддержка внешних трекеров.
Для добавления торрентов с других трекеров (например, OpenTrackr, LimeTorrents и т. д.) необходимо наличие столбца announce_url.

SQL-запрос: Добавление announce_url
Выполните этот запрос в phpMyAdmin или через SQL-консоль:
ALTER TABLE torrents
ADD COLUMN announce_url VARCHAR(255) DEFAULT NULL
AFTER info_hash;
сразу после info_hash (для лучшей читаемости).
Допускаются значения вида:
udp://tracker.opentrackr.org:1337/announce

Пример: Как добавить внешний торрент
После получения announce_url вы можете вставить торрент с другого трекера следующим образом:
INSERT INTO torrents (
info_hash,
announce_url,
name,
uploader_id,
size,
category_id
) VALUES (
'a13fa0f86becf8615d3b77e402762cd8d11c61fa',
'udp://tracker.opentrackr.org:1337/announce',
'Ubuntu 24.04 ISO',
1,
5000000000,
1
);
Затем скрипт:
Определит, что это udp://
Отправит UDP-запрос на сбор данных
Обновит сиды/личеры в режиме реального времени