    Имаме работещ scrape.php, който връща статистика в bencode формат (според BitTorrent протокола).
    Таблицата torrents съдържа info_hash (в hex), seeders, leechers, completed, но първоначално нямаше announce_url.
     

2. Създадох напреднал скрейпър скрипт 

Написах cron/update_torrent_stats.php, който: 

    Изчита всички торенти от таблицата torrents.
    Поддържа три режима:
        🟢 Локални торенти → скрейпва към твоя scrape.php
        🔵 Външни HTTP торенти → скрейпва към външни http://.../scrape
        🟣 Външни UDP торенти → използва UDP протокол (BEP 15) за скрейпване
         
    Поддържа логове, dry-run, ограничение до 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 (за по-добра четимост).
Позволява стойности като:

    http://tracker.example.com:80/announce
    udp://tracker.opentrackr.org:1337/announce
    https://secure.tracker.com/announce.php     

 
🧪 Пример: Как да добавиш външен торент 

След като имаш 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 scrape заявка
    Обнови seeders/leechers в реално време
     