Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Re-Tracker | Система локальных ретрекеров | Ретрекер _ Статистика _ Re-Tracker source

Автор: RoadTrain 7.3.2009, 11:37

В общем, представляю первый открытый релиз нашего анонсера.
Включает в себя сам анонсер и список торрентов (стата как здесь).
Поддерживается ipv6 ( rolleyes.gif совково)
В принципе, на него можно много чего навесить...

Есть 4 способа кеширования (файлы, APC, memcache, sqlite).

Установка:
1. скопировать все файлы на сервер.
2. создать БД, залить базу из table.sql
3. настроить config.php (данные для доступа к базе,...)

Если используете файловый кеш, поставьте chmod 0777 на папку cache_tr


 re_tracker.zip ( 76.85 килобайт ) : 1001
 

Автор: JDVU 7.3.2009, 19:56

не могу разобратся почему не может обновить имя темы с сайта трекера
движок такой же как и на торрентсру, только чуть новее, а обновить имя по ссылке не может.

Автор: Shift 7.3.2009, 20:01

если нету доступа тогда не сможет

Автор: JDVU 7.3.2009, 20:07

Цитата(Shift @ 7.3.2009, 18:01) *
если нету доступа тогда не сможет
доступ есть, они на одном сервере находятся

может из-за разного кода страниц?

Автор: Shift 7.3.2009, 20:28

скрин шоты в студию )

Автор: JDVU 7.3.2009, 21:02

а что там на скрине то будет
пишет Could not obtain torrent name from url (tracker is down or not supported)

Автор: Shift 7.3.2009, 21:04

хм ну значит он не может подключиться к этому адресу , или подключения рубят или еще что то , вывод - попробуй на тот же сервер поставить аннонмайзер ака web прокси , и зайди туда от куда должна тянуться инфа и ты увидиш то что видит статистика

Автор: JDVU 8.3.2009, 13:18

спасибо разобрался smile.gif

Автор: JDVU 8.3.2009, 21:42

как можно реализовать банлист на анонс для некоторых трекеров?

Автор: Shift 9.3.2009, 0:07

поидее да , но зачем ?

Автор: JDVU 9.3.2009, 2:16

чтобы отрезать локальные трекеры, ибо нет смысла и для цели отучить
на название я отрезал, но полную возможность желательно иметь )

Автор: Shift 9.3.2009, 2:21

вроде ведмед был категорически против , да и я особого вреда не вижу

Автор: b2k 9.3.2009, 20:13

При просмотре статистики (torrents.php) не выводятся ссылки для страниц.
Т.е. "Статистика Всего пиров: 43, всего торрентов: 42"; на странице выводится 25 строк, ссылок"Страницы: 1, 2 След" нет.

Автор: JDVU 9.3.2009, 20:23

нажми кнопку поиск

Автор: Yodj 9.3.2009, 23:24

Господа, хоть кто нибудь мне объяснит, как поставить эту статистику на мой компьютер? Ретрекер стоит, хотелось бы статистику к нему. Заранее спасибо.

Автор: Shift 9.3.2009, 23:30

ну можно , надо поставить апатчег на тот порт где и стоял XBT и туда поставить наш двиг

Автор: Yodj 10.3.2009, 0:27

Цитата(Shift @ 9.3.2009, 23:30) *
ну можно , надо поставить апатчег на тот порт где и стоял XBT и туда поставить наш двиг

Дааа... Достаточно развернутый ответ)))) Ну да ладно, гугл мне в помощь, вроде нашел сайт там в общем описана установка всячины для сайт-сервера, который нам и нужен. http://webmasterlabs.net/php/install-local-server-apache-php-mysql-phpmyadmin-windows-xp/ буду ковыряться, как получиться отпишусь.

Поставить то я поставил и ПХП и Апач а толку то? что дальше робить не ведаю((( Памажитеее!!!

Автор: Shift 10.3.2009, 0:53

поменять порт апатчега 2710 и разархивировать туда содержимое нашего патчера

Автор: Yodj 10.3.2009, 2:14

Цитата(Shift @ 10.3.2009, 0:53) *
поменять порт апатчега 2710 и разархивировать туда содержимое нашего патчера

А под словами Создать и залить базу что подразумевается?

Автор: Shift 10.3.2009, 2:38

создать базу в мускуле и залить туда SQL файлик

Автор: Yodj 10.3.2009, 2:42

Цитата(Shift @ 10.3.2009, 2:38) *
создать базу в мускуле и залить туда SQL файлик

А в двух словах описать как конкретно это сделать?
Как создать базу в мускуле? Куда "туда" залить SQL файлик, и где его взять???
Я не тупой, но и не телепат.

Автор: Shift 10.3.2009, 8:35

ну либо через клиент Heidi или через phpmyadmin

Автор: b2k 10.3.2009, 9:52

Цитата(JDVU @ 9.3.2009, 20:23) *
Цитата(b2k @ 9.3.2009, 20:13) *

При просмотре статистики (torrents.php) не выводятся ссылки для страниц.
Т.е. "Статистика Всего пиров: 43, всего торрентов: 42"; на странице выводится 25 строк, ссылок"Страницы: 1, 2 След" нет.

нажми кнопку поиск

Мудро...
Но я так думаю, что при стандартном входе она и так "нажимается" и при этом ничего не отсеяно.
Кнопка нажималась, но результата нет.

В torrents.php
Надо ли менять на адрес своего трекера или это для завязки со статистикой на http://re-tracker.ru/torrents.php?
433 строка:
$host = "http://re-tracker.ru";
440 строка:
$tr = rawurlencode("http://re-tracker.ru/announce.php?name=$name&size={$tor['size']}&comment=$comment&isp=$isp");

За что они отвечают?

Автор: JDVU 10.3.2009, 11:32

я у себя вырезал форму городов и провайдеров, поменял все ссылки на свою статистику, сделал свой трекер по дефаулту
при заходе на статистику показывает страницы
http://radikal.ru/F/s52.radikal.ru/i135/0903/d6/4f137c2b4e45.jpg.html

Автор: b2k 10.3.2009, 12:01

Да я верю wink.gif
Может прикрепишь тут свой torrents.php ?
Хотелось бы сравнить...

Автор: JDVU 10.3.2009, 12:18

вот, сравни


 my.zip ( 9.99 килобайт ) : 173
 

Автор: Gri.fon 11.3.2009, 4:18

Как можно в апатче перенаправить народ на порт 2710, если на этом же апатче стоит форум на который ходят по "80"порту

Автор: The Raven 11.3.2009, 7:31

как мне сказали он может и несколько портов слушать одновременно, попробуй в /etc/httpd/conf/httpd.conf найти строку

Код
Listen 8O

и под ней дописать Listen 2710

Автор: Gri.fon 11.3.2009, 7:41

После того как прописываю доп строку, апатч вылетает при запуске с ошибкой

Автор: JDVU 11.3.2009, 9:59

2 приложения на 1 порту не могут висеть

Автор: Gri.fon 11.3.2009, 12:22

Почему 2 приложения, я изменил настройик апатча дописав 2й порт и перезагрузил его чтоб настрйоки вступили в силу, но ему эти настройки не понравились и он не ставл врубаться

Автор: JDVU 11.3.2009, 12:55

ну потомучто у тебя ретрекер слушает порт 2710 а ты ещё и апач заставляешь его слушать

Автор: Gri.fon 11.3.2009, 17:14

Точняк, забыл отрубить XBT, все норм вообщем

Автор: The Raven 13.3.2009, 22:12

при указании птички "Есть описание" получаю ошибку :

Цитата
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/html/re-tracker/index.php on line 369
MySQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' ORDER BY ts.reg_time ASC LIMIT 0, 25' at line 7


район 369 строки :

Код
<?
    $count = isset($_SESSION[$query_id]) ? intval($_SESSION[$query_id]) : 0;

    if (!$count)
    {
        $sql = "SELECT COUNT(*) AS count FROM $from $where_sql LIMIT 1";
        $c = mysql_fetch_assoc(mysql_query($sql));
        $count = (int) $c['count'];
        unset($c);
        $_SESSION[$query_id] = $count;
    }

Автор: Gri.fon 15.3.2009, 1:32

как нужно написать путь до announce.php в файле announce, если нужно чтоб announce.php лежал в /www/retraker/, а файл announce лежал в /www/

Автор: Shift 15.3.2009, 2:44

ну делать либо инклюдом php или редиректом htaccess лучше первым , как именно не помню подожди роуд_трейна

Автор: RoadTrain 15.3.2009, 4:11

там валяется бланк announce, надо лишь разрешить выполнение php кода в нём.

Автор: Gri.fon 15.3.2009, 21:25

А можно поподробней что именно нужно сделать ?

Автор: The Raven 16.3.2009, 19:53

проблему из поста #34 решил обновлением скриптов из svn'а

теперь вопрос : вместо имени торрента почти всегда пишется "ссылка" (сама ссылка присутствует), я так понимаю это из-за этого :

Код
(!empty($name) ? "<b>$name</b>" : "ссылка")


неужели ни в одном торренте нет его имени ? или это у меня что-то не так ?

Автор: RoadTrain 16.3.2009, 23:30

Цитата(The Raven @ 16.3.2009, 19:53) *
проблему из поста #34 решил обновлением скриптов из svn'а

теперь вопрос : вместо имени торрента почти всегда пишется "ссылка" (сама ссылка присутствует), я так понимаю это из-за этого :
Код
(!empty($name) ? "<b>$name</b>" : "ссылка")


неужели ни в одном торренте нет его имени ? или это у меня что-то не так ?

имен действительно нету, т.к. у последнего патчера проблемы с прописывание его в адрес.

Автор: The Raven 17.3.2009, 0:10

жду обновления с фиксом, заранее спасибо

Автор: Gri.fon 17.3.2009, 0:26

А с мой проблемой кто нибуть поможет? sad.gif

Автор: RoadTrain 17.3.2009, 1:05

Цитата(The Raven @ 17.3.2009, 0:10) *
жду обновления с фиксом, заранее спасибо

я тут ничем помочь не могу, это к автору патчера unsure.gif

Автор: Gri.fon 18.3.2009, 1:29

А по какому принципу происходит отчиста статистики от тех торрентов которых уже нет на ретрекере?

Автор: RoadTrain 18.3.2009, 21:51

по интервалу, заданному в конфиге.

Автор: The Raven 19.3.2009, 0:24

имеется ли блэклист для торрент-трекеров ?
хочу локальные трекеры в него записать, чтобы в статистику не лезли

Автор: Gri.fon 19.3.2009, 7:06

Цитата(RoadTrain @ 18.3.2009, 22:51) *
по интервалу, заданному в конфиге.

А не подскажете какой именно параметр задает интервал?

Автор: Shift 19.3.2009, 8:34

Цитата(Gri.fon @ 19.3.2009, 7:06) *
А не подскажете какой именно параметр задает интервал?

$cfg['cleanup_interval'] = 3600*2.5;

Автор: RoadTrain 19.3.2009, 13:35

а время хранения торрентов задаёт TORRENTS_EXPIRE

Автор: bionic 21.3.2009, 2:46

Цитата(JDVU @ 8.3.2009, 21:42) *
как можно реализовать банлист на анонс для некоторых трекеров?

Я у себя реализовал так:
Добавил в таблицы tracker и tracker_stats новое поле local, которое по умолчанию принимает значение "0".
Подправил анноунсер, перед sql-запросами вставки данных в БД сделал проверку, если в комментарии содержится строка с адресом локального трекера, то переменная $local принимает значение 1, далее все как обычно заносится в базу, включая значение новой переменной, отвечающей за локальность.
Немного изменил статистику, по умолчанию выводятся только внешние торренты.
Доведу до ума - выложу, если заинтересовало.

Автор: The Raven 21.3.2009, 7:21

выложи, интересно

Автор: xut 22.3.2009, 4:54

Хотелось бы увидеть статистику по типу псевдотрекера. Прогресс скачивания в % и IP тех кто качает (опционально). Эту информацию выводить на отдельно странице по кнопке "Информация". Авторам респект за старания)

Автор: Gri.fon 23.3.2009, 11:54

Всего пиров: 406, всего торрентов: 1036 - а может ли так быть ? или это какой то баг?

Автор: Shift 23.3.2009, 14:15

Может так как торреты он сохраняет и чистит раз в месяц , я тоже когда увидил удивился ) , а там такая ситуация , люди скачали раздачю и свалили , пира нету а торрент в БД есть

Автор: Gri.fon 23.3.2009, 14:50

TORRENTS_EXPIRE - я так понял эта команда отвечает за чистку бд? (по дефу выставленна 30 * 86400 - 1 месяц)

И каким образом идет отчистка? т.е просто база полностью отчищается или же выборочно стераются те торренты которые уже не раздают

Автор: Shift 23.3.2009, 15:42

если в течении месяца на торренте не появилось не 1 пира то очищаеться , вроде так

Автор: The Raven 23.3.2009, 16:29

какой квар отвечает за забор имени торрента с трекера ? по тому как вручную тыкать "обновить" для каждого не удобно

Автор: JDVU 23.3.2009, 18:48

checkme.class.php

Автор: The Raven 23.3.2009, 21:35

а можно меня носом ткнуть в строку в которой прописано время автообновления имени ?

Автор: JDVU 23.3.2009, 22:43

мне кажется там нет автообновления имени

Автор: Shift 23.3.2009, 22:46

вроде Фримен писал что есть ....

Автор: FreeM@N 23.3.2009, 22:53

Автообновление имени есть, но не в том ключе как вы думаете smile.gif

Если у торрента есть имя - то оно не обновляется.
А вот если у торента нету имени, но в комментарии у него есть ссылка на топик с этой раздачей, то раз в минуту запускается срипт, который выполняет метод batchUpdate из класса CheckMe. В свою очередь этот метод вытаскивает последние n-торентов без имени и пытается по ссылке из комментария выпотрошить имя smile.gif

Собственно запускается batch_checkname.php
но чтобы его нельзя было запустить из браузера его инклудит другой скрипт, вне зоны видимости и в котором определяется константа CRON .

Автор: The Raven 23.3.2009, 22:59

вообще n-последних или тех у кого есть ссылка на описалово ?
по тому как торренты часами висят безымянные, пока вручную Update не тыкну

Автор: FreeM@N 23.3.2009, 23:10

Цитата(The Raven @ 23.3.2009, 22:59) *
вообще n-последних или тех у кого есть ссылка на описалово ?
по тому как торренты часами висят безымянные, пока вручную Update не тыкну

Только те, у которых нет имени и есть ссылка в описании, иначе откуда имя брать - из воздуха?

И сам этот файл не запускается, его запускает планировщик заданий cron один раз в минуту. Перед этим определяется константа CRON иначе скрипт ничего не будет делать.

И количество можно изменить но лучше этого не делать иначе за минуту обновится не успеет и будет плохо.

Автор: The Raven 23.3.2009, 23:18

так так так, а можно про крон поподробнее ? я так понимаю у меня не внесена запись в него (если верно помню это демон-планировщик в линухе)

Автор: FreeM@N 23.3.2009, 23:51

Цитата(The Raven @ 23.3.2009, 23:18) *
так так так, а можно про крон поподробнее ? я так понимаю у меня не внесена запись в него (если верно помню это демон-планировщик в линухе)

Да, вы правы, статьи о cron и как с ним работать можно найти например в http://www.google.ru

Автор: JDVU 24.3.2009, 1:32

может я неверно понял но единственное что связывает крон я увидел только

Код
$cache->set("batch_checkname", true, 120);
$check = new CheckMe();
ini_set("max_execution_time", 600);
$check->batchUpdate();
$cache->rm("batch_checkname");

Автор: FreeM@N 24.3.2009, 8:59

и? В чём вопрос? я уже выше писал:
по крону запускается файл batch_checkname.php
Но он запускается не на прямую, а его инклудит другой php файл, в котором определена константа CRON, не более того. Как видите буквально в первых строчках batch_checkname.php эта константа проверяется на существование и если она не определена (т.е. файл запустили руками) - ничего не происходит.

Автор: JDVU 24.3.2009, 10:16

так крон только в этом файле и определен, я больше не нашел. может архив неполный?

Автор: FreeM@N 24.3.2009, 11:35

Цитата(JDVU @ 24.3.2009, 10:16) *
так крон только в этом файле и определен, я больше не нашел. может архив неполный?

Его нету в поставке, потому что batch_checkname.php - для примера, что вот эту функцию можно использовать вот так.

выглядит он приблизительно вот так:
cron.php
Код
<?
define('CRON',TRUE);

include_once "/путь/к/файлу/batch_checkname.php";
?>

Далее, как я уже писал выше, вы складываете cron.php куда нибудь вне зоны видимости браузера и запускаете его с помощью планировщика заданий cron.

Очень сложный код, не правда ли? я кажется уже 2 раза всё подробно объяснил.

--------------------------
Если вы чего-то не знаете - значит это вам не нужно.

Автор: JDVU 24.3.2009, 13:45

Цитата
Его нету в поставке
вот это всё и решило smile.gif

Автор: The Raven 25.3.2009, 0:25

/etc/crontab

Код
# run re-tracker checknames
*/1 * * * * root /usr/bin/php /var/www/cron.php

/var/www/cron.php
Код
<?
define('CRON',TRUE);
include_once "/html/re-tracker/batch_checkname.php";
?>

сам batch_checkname находится тут : /var/www/html/re-tracker/batch_checkname.php

все верно ? мне кажется имена не чекаются, по тому как кнопка "обновить" активна

Автор: FreeM@N 25.3.2009, 1:22

Эх...

Вот так:
/etc/crontab

Код
* * * * * root /usr/bin/php -f /var/www/cron.php


/var/www/cron.php
Код
<?
define('CRON',TRUE);
include_once "/var/www/html/re-tracker/batch_checkname.php";
?>


Цитата(The Raven)
мне кажется имена не чекаются, по тому как кнопка "обновить" активна

Цитата(FreeM@N)
Если у торрента есть имя - то оно не обновляется.
А вот если у торента нету имени, но в комментарии у него есть ссылка на топик с этой раздачей, то раз в минуту запускается срипт, который выполняет метод batchUpdate из класса CheckMe. В свою очередь этот метод вытаскивает последние n-торентов без имени и пытается по ссылке из комментария выпотрошить имя.


Больше про обновление сюда писать не нужно, если всё ещё что-то не понятно - пишите ЛС или в аську.

Автор: reddy 1.4.2009, 15:33

Все-таки, как сделать строку страницы: 1,2,3... внизу таблицы? Ее там нет.

Автор: JDVU 1.4.2009, 22:20

как это нет

Автор: b2k 2.4.2009, 20:35

Скорее всего это то, что и у меня было.

Цитата(b2k @ 9.3.2009, 21:13) *
При просмотре статистики (torrents.php) не выводятся ссылки для страниц.
Т.е. "Статистика Всего пиров: 43, всего торрентов: 42"; на странице выводится 25 строк, ссылок"Страницы: 1, 2 След" нет.

Проблема из-за этого:
Цитата(John Doe @ 19.3.2009, 0:17) *
Тут и смотреть нечего - статистика показывает только нечётные страницы, то есть оканчивающиеся на 50, 100 и т.д. А чётные (оканчивающиеся на 25, 75...) не показывает.

Если у вас зарегистрировано меньше 50 торрентов ссылок на вторую страницу вы не увидите (если не вносили обновлений в ту ревизию, что выложена в первом посте этой темы).

Что нужно изменить - смотрим http://code.google.com/p/re-tracker/source/detail?r=50.

Автор: FreeM@N 2.4.2009, 22:44

Цитата(b2k @ 2.4.2009, 20:35) *
Что нужно изменить - смотрим http://code.google.com/p/re-tracker/source/detail?r=50.

Лучше заменить последней версией, там ещё правки были. Конечно если не осуществлялась модификация оригинального файла...

Автор: aka dd 18.4.2009, 14:55

Интересует пара вопросов.
Как вырезать список городов и провов без ущерба работы самого ретрекера?
В файле function.php вырезать строки 162-190 http://radikal.ru/F/s45.radikal.ru/i110/0904/72/f13c64e4b607.png.html
В файле resume.php затрудниля определить какие строки удалять. Возможно с 9-по 19 http://radikal.ru/F/s55.radikal.ru/i150/0904/9f/b033f269d27c.png.html
и с 69-83 http://radikal.ru/F/s40.radikal.ru/i087/0904/f5/316f576b502a.png.html
В файле torrents.php строки 22-27 http://radikal.ru/F/s39.radikal.ru/i085/0904/1a/2a4717d4d6c9.png.html
225-227 http://radikal.ru/F/s50.radikal.ru/i129/0904/a4/5ec39a90b3b4.png.html
254-265 http://radikal.ru/F/s61.radikal.ru/i173/0904/79/77d13e0abd1c.png.html
331-346 http://radikal.ru/F/i065.radikal.ru/0904/57/08922d273187.png.html
и 403-404.
В файле table.sql не выполнять строки 16-17 http://radikal.ru/F/s58.radikal.ru/i162/0904/89/6e729b1ffd6d.png.html

При обращении на announce.php выдает http://radikal.ru/F/s56.radikal.ru/i151/0904/4f/1d29fa14da60.png.html
и затем редиректит на http://re-tracker.ru/
При обращении к просто announce(или scrape) выдает http://radikal.ru/F/s50.radikal.ru/i128/0904/cc/f137a95e2886.png.html
Просьба где неправильно вырезал или недовырезал - подправить. Другим думаю тоже будет полезно. + указать как исправить недочеты с анонс.пхп и просто аннос. Обеспечение TopServer 2.1

Автор: Gri.fon 18.4.2009, 20:51

походу после последних ддосов торрентс ру заблочили обновление имени

Автор: RoadTrain 19.4.2009, 21:10

Угу, надо браузер эмулировать...

Автор: Gri.fon 19.4.2009, 21:18

а как это делается?

Автор: aka dd 24.4.2009, 22:08

Просьба выложить этот же сорц, только с вырезанными провайдерами и городами. Кто-то же вырезал. Выложите, плз.

Автор: The Raven 26.4.2009, 8:57

вижу в эррор-логах апача кучу ошибок вида :

Цитата
[Sun Apr 26 05:39:50 2009] [error] [client 10.20.41.143] PHP Warning: cache_file::include() [<a href='function.include'>function.include</a>]: Failed opening './cache_tr/peers_list_3182.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/re-tracker/cache.class.php on line 278
[Sun Apr 26 05:39:50 2009] [error] [client 10.20.41.143] PHP Warning: cache_file::include(./cache_tr/peers_list_5592.php) [<a href='function.cache-file-include'>function.cache-file-include</a>]: failed to open stream: No such file or directory in /var/www/html/re-tracker/cache.class.php on line 278

все ошибки ведут на 278 линию, других нет

с чем это связано ? у меня 54 ревизия скрипта

Автор: The Raven 26.4.2009, 23:20

перешел на 58 ревизию, ошибки по прежнему есть

появление этих ошибок может быть связано с eAccelerator'ом ?

Автор: FreeM@N 27.4.2009, 8:06

Если есть возможность то лучше используйте memcached вместо файлового кеширования.

P.S.: Если всё же продолжаете использовать файловый кеш - обновите класс с последней ревизии (61).

Добавьте директорию кеша в include_path, похоже у вас из-за этого и возникает ошибка.

Автор: The Raven 27.4.2009, 11:30

Цитата(FreeM@N @ 27.4.2009, 8:06) *
Добавьте директорию кеша в include_path, похоже у вас из-за этого и возникает ошибка.

имеете ввиду что кешировать списки пиров (папка cache_tr) в путь /usr/share/pear или /usr/share/php ? (include_path='.:/usr/share/pear:/usr/share/php') я не совсем понял фразу unsure.gif

cache.class.php взял из 61-го

Автор: FreeM@N 27.4.2009, 20:14

Цитата(The Raven @ 27.4.2009, 11:30) *
имеете ввиду что кешировать списки пиров (папка cache_tr) в путь /usr/share/pear или /usr/share/php ? (include_path='.:/usr/share/pear:/usr/share/php') я не совсем понял фразу unsure.gif


http://ru.php.net/manual/ru/function.set-include-path.php
Цитата
Пример #2 Adding to the include path

Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.

In this example we add /usr/lib/pear to the end of the existing include_path.
Код
<?php
$path = '/путь/до/вашего/файлового/кеша/что/ещё/не/понятно/читайте/мануалы/хоть/чуть/чуть/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>


Но лучше используйте memcached. С файловым кешем вы огребёте много проблем...что собственно и происходит sad.gif

Автор: The Raven 29.4.2009, 0:24

наверх cache.class.php вписал это, получилось:

Код
<?php

$path = '/var/www/html/re-tracker/cache_tr';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

class cache_common
{

    public $used = false;
...
...
...

в итоге в ошибке только добавился еще и этот путь sad.gif
Цитата
[Wed Apr 29 00:26:16 2009] [error] [client 10.141.66.251] PHP Warning: cache_file::require_once(./cache_tr/peers_list_4150.php) [<a href='function.cache-file-require-once'>function.cache-file-require-once</a>]: failed to open stream: No such file or directory in /var/www/html/re-tracker/cache.class.php on line 315
[Wed Apr 29 00:26:16 2009] [error] [client 10.141.66.251] PHP Fatal error: cache_file::require_once() [<a href='function.require'>function.require</a>]: Failed opening required './cache_tr/peers_list_4150.php' (include_path='.:/usr/share/pear:/usr/share/php:/var/www/html/re-tracker/cache_tr') in /var/www/html/re-tracker/cache.class.php on line 315

где прописаны /usr/share/pear и /usr/share/php не нашел, в php.ini и в конфигах апача их нет

по поводу файлового кеша - я точно не знаю от него это или нет, я в логи чисто случайно заглянул и заинтересовался а что собственно происходит

по поводу мемкеша - дайте плз линки где можно конкретно про него почитать, инструкций по установке в гугле много, а вот описаний нету. Хочется знать насколько с ним увеличится потребление оперативки и т.д.

Автор: FreeM@N 29.4.2009, 10:51

Цитата(The Raven @ 29.4.2009, 0:24) *
......
по поводу мемкеша - дайте плз линки где можно конкретно про него почитать, инструкций по установке в гугле много, а вот описаний нету.
......

http://pecl.php.net/package/memcache
http://www.danga.com/memcached/
http://www.google.ru/search?q=site%3Ahttp%3A%2F%2Fhabrahabr.ru%2Fblogs%2Fphp%2F+memcached
http://highload.ru/papers2008/7158.html

Цитата(The Raven @ 29.4.2009, 0:24) *
......
Хочется знать насколько с ним увеличится потребление оперативки и т.д.

Вы сами задаёте сколько он может использовать, больше чем дадите не возьмёт.

P.S.: Работаю поисковиком, недорого. search.gif search.gif search.gif

Автор: Gri.fon 30.4.2009, 20:59

А где сменить часовой поис что бы время добавления торрентов в стате отображалось по местному времени ?

Автор: NeX 1.5.2009, 13:38

где последнюю версию скрипта можно скачать?

Автор: The Raven 1.5.2009, 18:14

http://re-tracker.googlecode.com/svn/trunk/

Автор: 4e4ako 30.6.2009, 23:11

в torrents.php не работает запрос живых раздач (галка " Активные (есть seeder или leecher)")

по смыслу больше подходит этот код для корректной работы

Код
if($active)      { $join_tr = true; }

Автор: Abraxis 13.9.2009, 13:57

Подскажите а что необходимо, чтоб ретрекер сам мог находить и вставлять имена закачек? У меня он пишет "не задано", как сделать, чтобы он мог показывать имена и размеры закачиваемого файла?


 torrents.php ( 14.53 килобайт ) : 30
 

Автор: FreeM@N 13.9.2009, 14:09

Цитата(Abraxis @ 13.9.2009, 14:57) *
Подскажите а что необходимо, чтоб ретрекер сам мог находить и вставлять имена закачек? У меня он пишет "не задано", как сделать, чтобы он мог показывать имена и размеры закачиваемого файла?

Никак, если в комментарии к торенту есть ссылка то можно вытащить оттуда.

Используйте патчер, он вставляет необходимую информацию автоматически.

Автор: Abraxis 13.9.2009, 21:11

Цитата(FreeM@N @ 13.9.2009, 15:09) *
Никак, если в комментарии к торенту есть ссылка то можно вытащить оттуда.

Используйте патчер, он вставляет необходимую информацию автоматически.


Спасибо за информацию, все правильно настроил теперь работаетsmile.gif good.gif drinks.gif yahoo.gif


Автор: Abraxis 21.9.2009, 21:14

Ребята а подскажите есть ли возможность забанить некоторые IP, чтобы они не показывались в списке закачек. Если да то как это сделать, ибо через ретрекер стали качать киношки жанра XXX, поэтому хочу забанить...

Автор: FreeM@N 22.9.2009, 0:37

Цитата(Abraxis @ 21.9.2009, 22:14) *
Ребята а подскажите есть ли возможность забанить некоторые IP, чтобы они не показывались в списке закачек. Если да то как это сделать, ибо через ретрекер стали качать киношки жанра XXX, поэтому хочу забанить...

Такой возможности не предусмотрено, т.к. это в первую очередь не ретркер, а сбор статистики, т.е. он просто отображает информацию что качают, а если и забанить ИП-ы то качать-то не перестанут, просто в статистике этого не будет.

Автор: chmv 22.9.2009, 6:34

Падает при попытке распарсить файл trackers.list
$trackers = parse_ini_file($filepath, TRUE);
На строке
61=Ступино (МО)
Скобки не нравятся скорее всего.

---
Либо я ничего не понял, как оно должно работать, либо с функцией
function get_trackers()
что-то не то.

В trackerslist.php
вызывается:

Код
    get_trackers();
    $list = $cache->get("trackers_list");

get_trackers() получает файл с указанного урла, затем
Код
$cache->set('new_trackers'...

Но почему тогда в trackerslist.php опрашивается trackers_list, когда запись была только в 'new_trackers', trackers_list как был пустым, так и остался?

Если не сложно, подскажите куда копать, уже 4й час сижу, теперь под дебаггером, бо уже ничего не понимаю... Хорошо хоть ретрекер от т.ру тупо работает...
---
При вызове trackers.php показываются полностью пустые списки. Зато кнопка "добавить" активна. Только что она добавлять собралась?
---
Наверное я все же туп как пробка, но понять что нужно сделать, чтобы заставить работать анонсер я не смог. Падает он у меня здесь
Код
    $db->query("INSERT INTO $tracker_stats
                (info_hash, reg_time, update_time, name, size, comment)
                VALUES
                ('$info_hash_hex', '" . TIMENOW . "', '" . TIMENOW . "', '$name', '$size', '$comment')
                ");
    
    $torrent_id = mysql_insert_id();

бо $size не определена...
---
Не откажите в помощи, что я делаю не так?

Автор: FreeM@N 22.9.2009, 8:12

Какая ревизия у вас установлена? Давно обновлялись?

Автор: chmv 22.9.2009, 15:50

Ревизия последняя из транка. Вытянул svn'ом. Т.е. 72ая. Собственно я не обновлялся, я впервые его запускаю. Может подскажете, какая ревизия однозначно работающая?

Автор: FreeM@N 22.9.2009, 19:37

Ну вообще последняя всегда рабочая smile.gif

Автор: chmv 22.9.2009, 20:18

Сказка. Тогда расскажу, что я сделал.
Апач + PHP + MySQL свежеустановленные, взяты с официальных сайтов.
В MySQL создал DB, выполнил скрипт по созданию таблиц.
Апачу сконфигурил виртуальный хост.
В конфиге ретрекера прописал доступ к DB. (это точно работает, проверил smile.gif )
В тестовом торренте прописал адрес тестового ретрекера (больше трекеров там нет) в виде
http://retracker.local/announce

Что имею. При обращении к ретрекеру, клиент (utorrent) ругается. Эмуляция этого же запроса под дебаггером показывает, что $size не определена, и вылетает по ошибке mysql. Если добавить код типа if (!$size) $size = 0; то дальше вываливается из за неопределенного $city.

Полез выяснять что должно быть в $city, из таблиц берется. Но где оно загоняется в таблицы, так и не понял. При запуске trackerslist.php на выходе всегда пусто. Может быть у Вас оно работает, потому, что та же база трекеров уже заполнена? Начать можно с trackerslist.php . Почему он всегда возвращает пустой список? (в предыдущем сообщении я описывал анализ кода под дебаггером)

Пожалуйста, подскажите где я ошибаюсь? Может быть я просто не знаю логики работы этого ретрекера? Очень не хочется оставаться на сверх мини ретрекере от т.ру. Пожалуйста.

PS Да, я могу начать править, чтобы оно однозначно заработало. Но не зная в точности логики работы, задумок автора, я могу только испортить все, и лишить себя возможности обновлений.

Автор: chmv 23.9.2009, 2:54

Цитата(FreeM@N @ 22.9.2009, 19:37) *
Ну вообще последняя всегда рабочая smile.gif

К моему большому сожалению, Вы в корне не правы.

Кусок кода из resume.php
Код
<select name="city" id="city" onchange="$('#isp').load('resume.php?city='+$('#city').val());">
    <option value="0">» Выберите город</option>
    <?=iconv('UTF-8', 'CP1251', city_select($trackers['Город'], $city));?>
</select>
<select name="isp" id="isp" onchange="$('#tr').load('resume.php?tr_list=1&city='+$('#city').val()+'&isp='+$('#isp').val());">
    <option value="0">» Выберите провайдера</option>
</select>

Если ЭТО рабочая версия, в которой список провайдеров вообще не заполняется, т.к. кода вообще нет, то что же тогда называется нерабочей? smile.gif
И это уже после обработки топором, четырмя строками выше вообще вызывался не resume.php а torrents.php.

announce.php
Код
$sql_data = array(
        'torrent_id'     => $torrent_id,
        'peer_hash'     => $peer_hash,
        'ip'             => $ipv4,
        'ipv6'             => $ipv6,
        'port'             => $port,
        'seeder'         => $seeder,
        'update_time'     => TIMENOW,
        'city'             => !empty($isp[0]) ? $isp[0] : null,
        'isp'             => !empty($isp[1]) ? $isp[1] : null
);

Да, это правильно, выставлять null для неопределенных элементов, когда в таблице для этих полей сказано:
Код
  `city` mediumint(2) NOT NULL DEFAULT '0',
  `isp` mediumint(2) NOT NULL DEFAULT '0',


Ну и по мелочи. Если size не было в запросе, тоже падаем, т.к. база null не принимает. Лечится элементарно типа:
if (!$size) $size = 0;

Вы продолжаете утверждать о работоспособности этого кода? smile.gif

Автор: FreeM@N 23.9.2009, 8:21

Цитата
Вы продолжаете утверждать о работоспособности этого кода?

Конечно smile.gif Он же работает.

Я ещё раз повторяю если вы это не прочитали ранее - это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся из-за наличия ненужных для обычного ретрекера функций!

Цитата
Если ЭТО рабочая версия, в которой список провайдеров вообще не заполняется, т.к. кода вообще нет, то что же тогда называется нерабочей?

Там так-то аяксовый запрос идёт на заполнение. HTML+JS не сбрасывайте со стчетов...
Код
<select name="city" id="city" onchange="$('#isp').load('resume.php?city='+$('#city').val());">

Так что заполять его заранее абсолюно бессмысленно.
Цитата
И это уже после обработки топором, четырмя строками выше вообще вызывался не resume.php а torrents.php.

Хреновый топор у вас...ретрекер - это единое целое, а едином целом нормально когда одни кусочки программы используют другие. Если ещё не поняли - так и было задумано.

Цитата
Да, это правильно, выставлять null для неопределенных элементов, когда в таблице для этих полей сказано

а кусочек кода:
Код
foreach ($sql_data as $column => $value)
{
    $columns[] = $column;
    $values[] = "'" . $db->escape($value) . "'";
}

вы не удалили случаем? после обработки в базу вместо null уходит '' (две одинарные кавычки, а между ними пусто).
Поробуйте выполнить вот такой SQL:
Код
DROP TABLE IF EXISTS `test`;
CREATE TABLE IF NOT EXISTS `test` (
  `index` int(11) NOT NULL auto_increment,
  `test` int(11) NOT NULL default '0',
  PRIMARY KEY  (`index`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

INSERT INTO `test` VALUES (NULL, '');

SELECT `test` FROM `test` ORDER BY `index` DESC LIMIT 1;

чево вернёт? Это я к тому что работает.

А так да, вы правы, лучше будет заранее выставить 0.

Продолжайте комментировать код, это полезно smile.gif

Автор: 4e4ako 23.9.2009, 11:28

Цитата(chmv @ 23.9.2009, 3:54) *
Вы продолжаете утверждать о работоспособности этого кода? smile.gif

этот ретрекер, ретрекер от т.ру и псевдотрекер - совершенно разные коды и таблицы. не забывайте, если пробуете поставить друг на друга.


З.ы. если вы не смогли запустить этот код - поставьте ретрекер от т.ру и не мучайтесь (и вам нервы целее - и автору этого кода)

Автор: chmv 23.9.2009, 20:51

Цитата(4e4ako @ 23.9.2009, 11:28) *
этот ретрекер, ретрекер от т.ру и псевдотрекер - совершенно разные коды и таблицы. не забывайте, если пробуете поставить друг на друга.

Да, спасибо большое, после ночи в дебаггере я разобрался. Жаль только, что это не было написано в первом сообщении.

Цитата(4e4ako @ 23.9.2009, 11:28) *
З.ы. если вы не смогли запустить этот код - поставьте ретрекер от т.ру и не мучайтесь (и вам нервы целее - и автору этого кода)

Уже запустил, и уже отказался. Кода не много, ночи на разборки хватило. Кстати, я так и не понял, что мешает сделать два исправления -- не требовать наличие нестандартных параметров. Кроме того, ретрекер от т.ру (как я подозреваю и псевдотрекер), поддерживают технологию bep22, которая изумительно работает. Жаль только в utorrent не включена по умолчанию. Достаточно было добавить строку в днс, и utorrent с включенным bep22 тут же полез на ретрекер. Сказка.

Автор: chmv 23.9.2009, 22:11

Думаю это последнее мое сообщение здесь, все проблемы с ретрекерами в своих сетях мы решили. Пишу я его только с одной целью. Вдруг Вы задумаетесь.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Конечно smile.gif Он же работает.

Да. По стандарту, который был придуман здесь, нигде не описан, при полном игнорировании уже существующего и работающего стандарта, а тажке планируемого (bep22). Именно так убиваются хорошие идеи.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Я ещё раз повторяю если вы это не прочитали ранее - это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся из-за наличия ненужных для обычного ретрекера функций!

Простите, я прочел только половину форума. Теперь, после анализа кода, я знаю что это, как оно работает, какова его идея.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Там так-то аяксовый запрос идёт на заполнение. HTML+JS не сбрасывайте со стчетов...
Код
<select name="city" id="city" onchange="$('#isp').load('resume.php?city='+$('#city').val());">

Так что заполять его заранее абсолюно бессмысленно.


Начнем с того, что там (в resume.php) написано (я же написал об этом! в том же сообщении!):
Код
<select name="city" id="city" onchange="$('#isp').load('torrents.php?isp_list='+$('#city').val());">

Вы видите "torrents.php" в этой строке? Как-то не логично из resume.php делать переадресацию на torrents.php после выбора провайдера. Как Вы можете утверждать, что он работает, когда в коде банальные описки есть?! Вы, лично Вы, своим комментарием "Ну вообще последняя всегда рабочая" подвигли меня на разбор кода и поиск моих ошибок. К сожалению, были найдены только ошибки автора.

Ну и JS там тоже не сработал. Может Вы хоть раз попробуете сами посмотреть, что код находится в репозитарии, и прекратите голословно утверждать о работоспособности кода, который в реальности не работает?

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Хреновый топор у вас...ретрекер - это единое целое, а едином целом нормально когда одни кусочки программы используют другие.

"Хреновый топор"... Я ничего не говорил о профессиональных способностях ни Вас, ни автора. Вы открыли мне право ответить Вам тем же.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Если ещё не поняли - так и было задумано.

Было задумано, чтобы ничего не работало. Ни одна из функций этого кода не заработала с первого раза. Везде пришлось либо топором либо напильником.

Еще пример банальных ошибок? Пожалуйста, это не сложно, код изобилует ими.

trackerslist.php. Ошибка первая.
Код
    get_trackers();
    $list = $cache->get("trackers_list");


Но функция get_trackers() возвращает результат двумя методами:
Метод 1:
Код
    return $trackers;

Этот метод работает всегда, им и надо было пользоваться.

Метод 2:
Код
    $cache->set('new_trackers', $trackers, TRACKERS_CACHE_EXPIRE);


А где же автор берет результат:
Код
    $list = $cache->get("trackers_list");

Удивительно! Ни в одном из этих двух. Кстати, никто не забыл, что кэш вообще может быть отключен? Пожалуйста вот код подтверждающий это:
Код
$cfg['cache_type'] = 'filecache'; // Available cache types: none, APC, memcached, sqlite, filecache

Тут четко написано, что none является допустимым типом кэша.

trackerslist.php. Ошибка вторая.
Код
die($list);

Это даже не смешно. $list это массив. Бессмысленно передавать его как параметр для выхода. О применении die в последней строке кода -- отдельная тема, здесь хоть какие-то аргументы можно выдумать в пользу этого метода завершения.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
а кусочек кода:
Код
foreach ($sql_data as $column => $value)
{
    $columns[] = $column;
    $values[] = "'" . $db->escape($value) . "'";
}

вы не удалили случаем? после обработки в базу вместо null уходит '' (две одинарные кавычки, а между ними пусто).

Нет, я не удалял ничего. Конкретно эта ошика была исправлена методом добавления нужного кода.
Хороший пример Вы привели. Это еще одна ошибка. Нельзя в sql использовать '' для чисел! Число нужно указывать, или ничего не указывать вообще, тогда возьмется 0 прописанный в свойствах поля таблицы. Потому если size не был определен, то вываливается с ошибкой mysql. Как и city, кстати, это ведь тоже число.
Приведенный выше код работает только для строк, но не для чисел.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Поробуйте выполнить вот такой SQL:
....
А так да, вы правы, лучше будет заранее выставить 0.

Выше я написал, где именно ошика. И я не говорил "лучше". Это необходимо. Либо не указывать тот же size в запросе, тогда возьмется 0 из свойств поля таблицы, либо if (!$size) $size = 0; . Других вариантов нет. Число не может быть задано как '' в SQL.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Продолжайте комментировать код, это полезно smile.gif

Полезно кому? На начальном этапе я думал предложить свою помощь. Однако теперь мне это не интересно. Простите, но я не могу себе позволить работать с людьми, которые могут себе позволить голосновно утверждать что либо.

Автор: FreeM@N 24.9.2009, 0:21

>>>>
Пишу я его только с одной целью. Вдруг Вы задумаетесь.
<<<<
Жаль вы не можете "прочитать" всю конечную идею данного проекта (касательно кода), кторая к сожалению пока только у меня в мыслях...

>>>>
Да. По стандарту, который был придуман здесь, нигде не описан
<<<<
Точно, меня это тоже расстраивает. Но я (также как и вы между прочим) присоединился к проекту абсолютно без всяких описаний и т.д., а просто потому что нашёл в исходниках места, которые некорректно были описаны (опять совпадение, ага?)...да вот только я не стал кричать - "Ааа, всё гавно, ничего не работает" и тому подобные вещи, а просто связялся с автором (RoadTrain тогда начинал всё) и мы тихо мирно и без криков и обвинений договорились что будем развивать проект вместе. Сложно? Нет! (вот тут и расхождение собсно).

Ну ладно, пойдём дальше...
>>>>
Начнем с того, что там (в resume.php) написано (я же написал об этом! в том же сообщении!):

Код
<select name="city" id="city" onchange="$('#isp').load('torrents.php?isp_list='+$('#city').val());">

Вы видите "torrents.php" в этой строке? Как-то не логично из resume.php делать переадресацию на torrents.php после выбора провайдера.
<<<<
Там не переадресация, а AJAX запрос.
И да, в resume.php данные берутся именно из torrents.php я просто скопировал ваше сообщение и объяснил смысл конструкции, а вы снова придрались даже не подумав, вы пробовали вызвать torrents.php? Видели что там возвращается? Посмотрите ещё раз, может всё-таки поймёте...

>>>>
Ну и JS там тоже не сработал. Может Вы хоть раз попробуете сами посмотреть, что код находится в репозитарии, и прекратите голословно утверждать о работоспособности кода, который в реальности не работает?
<<<<
Насчёт JS не знаю, возможно пора обновить jQuery...Тот код который в репозитории - установлен и на этом сайте и он работает. Но его мало кто может запустить из-за отсутствия документации. Хотите реально помочь? Я могу вам объяснить как и что работает (голосом), а вы напишете доку - как такой вариант?

>>>>
"Хреновый топор"... Я ничего не говорил о профессиональных способностях ни Вас, ни автора.
<<<<
Да я вобщем-то тоже ничего не говорил о профессиональных способностях, просто вы упомянули топор - ну и я его упомянул...Если вас это обидело - прошу прощения, без задней мысли так сказать...

>>>>
trackerslist.php. Ошибка первая.
Код
get_trackers();
$list = $cache->get("trackers_list");

<<<<
О! Точно, а чего так жестко? Писал перед отпуском, торопился, видимо изначално что-то другое хотел сделать но передумал...

>>>>
А где же автор берет результат:
Код
$list = $cache->get("trackers_list");

<<<<
Не, ну правильно, вы же мысли читать не умеете (это никоим образом не оскорбление, просто мысли). Я в будущем хочу удалить поддержку ini-файла совсем, пока что сделал переходный вариант.
В get_trackers(); есть строчка
Код
$cache->set('trackers_list', $out, TRACKERS_CACHE_EXPIRE);

Вот оттуда и берётся. Но это вариант только для БД, а он пока ещё не завершён и работает только на этом сайте (базы-то ниукого нету, а экспорт я ещё не сделал)

>>>>
Удивительно! Ни в одном из этих двух. Кстати, никто не забыл, что кэш вообще может быть отключен? Пожалуйста вот код подтверждающий это:
Код
$cfg['cache_type'] = 'filecache'; // Available cache types: none, APC, memcached, sqlite, filecache

<<<<
Не забыли, после запуска в эксплутацию было решено оставить только memcached, но это только было решено, в коде ничего не менялось, поддержа других типов кеша так и не была убрана.

>>>>
trackerslist.php. Ошибка вторая.
Код
die($list);

Это даже не смешно. $list это массив.
<<<<
$list это текст и никак иначе (присмотритесь повнимательнее), из-за переходного состояния у всех дожно выдавать пустой файл.

>>>>
Нельзя в sql использовать '' для чисел
<<<<
А кто спорит? 100% нельзя - полностью согласен, к сожалению эту часть кода писал не я и просто изложил вам мысль как это было придумано автором, видимо зря.
А ещё есть охренительные проблемы с кодировками (ну это так, на всякий случай написал), как решить - придумал, но писать пока что некогда.

>>>>
Полезно кому?
<<<<
Коду, ну и всем наверное тоже.

>>>>
Однако теперь мне это не интересно.
<<<<
И если вдруг будет интересно - пишите в аську или скайп (freemandigger), а то на форуме раз в день да через день...не продуктивно.

>>>>
Простите, но я не могу себе позволить работать с людьми, которые могут себе позволить голосновно утверждать что либо.
<<<<
Прощаю, а утверждаю я не голословно, я ещё раз повторю - это всё работает на данном сайте!

А теперь разберём моё утверждение - я где-то написал что "это" будет работать у вас? Нет! Я на 99% уверен что у других это работать не будет. Но это только пока, вот на такой стадии проект находится что у других работать не будет, но я хочу чтобы работал у любого, и стараюсь идти к этой цели, может медленно, но верно.
А данный сайт служит своебразной демонстрацией того как всё будет выглядеть когда будет закончено и когда будет работать у любого желающего, даже технически не особо подкованного.

Автор: FreeM@N 25.9.2009, 0:07

Обновление: ревизия 73.
Удалены кеши, использование которых нецелесообразно (все кроме memcached). Планируется добавить Xcache, но есть сомнения хватит ли shm, возможно будет только частично.
Удалена поддержка ini файла ретрекеров и полностью произведена замена на БД.
Поправлены ошибки в MySQL запросах (спасибо chmv).
Реализован экспорт списка ретрекеров в SQL формат для последующего обновления пользовательских баз. Для этого нужно открыть _хттп://re-tracker.ru/trackerslist.php?export и сохранить как sql файл, после чего импортировать его в вашу БД. Пока что в ручном режиме, позже будет сделано автообновление.


Автор: xmanpsk 27.9.2009, 18:37

Поставил ревизию 73, работает без memcached, смысла пока нет, нагрузка смешная.
Патчер в сети не используем, договариваемся с трекерами об автоматическом прописывании ретрекера.
Сорри если вопрос дебильный, но при таком раскладе возможно ли заставить его выводить названия раздач с торрентсру в статистике? Крон из примера в теме запускать пробовал, безрезультатно - в БД ничего не добавилось нового. Допиваю третью бутылку пива, ситуация не прояснилась smile.gif

Автор: FreeM@N 27.9.2009, 18:41

Цитата(xmanpsk @ 27.9.2009, 19:37) *
Поставил ревизию 73

Есть 74-я - там исправлен небольшой косяк в экспорте списка ретрекеров, но если вы не пользуетесь экспортом то можно и не обновлять...


Цитата(xmanpsk @ 27.9.2009, 19:37) *
работает без memcached, смысла пока нет, нагрузка смешная.

Если пиров мало то можно и без кеша, но при увеличении пиров без кеша не выжить...


Цитата(xmanpsk @ 27.9.2009, 19:37) *
Сорри если вопрос дебильный, но при таком раскладе возможно ли заставить его выводить названия раздач с торрентсру в статистике?

К сожалению - нет.
Для того чтобы "вытащить" название нужно чтобы был передан комментарий к раздаче (там обычно ссылка на тему), а он получается только через патчер...

Автор: POWExR 24.10.2009, 12:22

http://www.whitsoftdev.com/opentracker

Это может претендовать на Re-Tracker ?
Пробовал установить работает )

Автор: FreeM@N 24.10.2009, 13:00

Может, у некоторых он и установлен.

Автор: botanov 31.10.2009, 21:30

Error: Memcached extension not installed

как убрать этот Memcached ?

Автор: FreeM@N 31.10.2009, 23:45

Его вообще-то не убрать, а установить нужно...
Но если хочется без него то в конфиге измените параметр:

Код
// Cache
$cfg['cache_type'] = 'none'; // Available cache types: none, memcached

Желательно создать файл config.local.php и в нем переопределять переменные из секции $cfg.

Автор: nkk 1.11.2009, 1:22

Видимо, я не достаточно ознакомился с данной темой и настрочил флуда...
FreeM@N, спасибо за ссылку.

ПС. То, что у меня получилось - gpk . org . ua / qbt / look . php

Автор: FreeM@N 1.11.2009, 13:30

это к чему? у нас и так в статистике показывается имя и ссылка откуда можно скачать? а также сколько сейчас пользователей учавствуют в обмене...Также если имя определить невозможно но предлагается ссылочки на гугл и isohunt для поиска по хешу...

А насиловать мускул такими запросами...он и поломаться может.

П.С.: Вы статистику-то смотрели, нет? вот ссылочка: http://re-tracker.ru/torrents.php

Автор: Name 8.11.2009, 16:51

Вопрос: это просто статистика или рабочий ретрекер??

Автор: FreeM@N 8.11.2009, 16:58

Только статистика, как ретрекер его использовать крайне не рекомендуется.

Автор: spawnkhv 9.11.2009, 11:35

Блина =( люди добрые помогите поставить эту Прекрасную вещь! (пошагово плизз)
Уже все перебробывал cray.gif

Автор: FreeM@N 9.11.2009, 11:58

Вы точно хотите поставить именно эту статистику? Она не будет ничего показывать если патчер не добавит для неё сециальные данные, но он добавляет их только для ретрекера re-tracker.ru...

Автор: vlad49 25.11.2009, 16:31

Есть глупый вопрос - это полноценный ретрекер, или он только ведет статистику?

Удалил xbtt, и поставил его, а также автопатчер с nag.ru, который незаметно добавляет в каждый торрент, скачиваемый пользователями, адрес ретрекера с данными name, size и т.п. После двух дней работы в статистике (torrents.php) появилась куча торрентов с описаниями. Выбрал тот, на котором было больше всего сидеров, скачал и добавил в клиента, предварительно удалив из него адрес оригального трекера. Так вот, он почему-то начал качать данные с инета, откуда-то взяв кучу инетовских IP (!), а местных сидеров так и не нашел. В случае с XBTT все было наоборот, работало как надо. Более того, порылся в базе данных в поисках info_hash этого торрента - его там не было, только в таблице tracker_stats. Загадка - где он тогда вообще хранит местных сидов?

Хотелось бы просто иметь ретрекер типа XBTT, но с расширенной статистикой - какие в локалке есть торренты, их название и количество сидеров/личеров на каждый. Что нужно ставить чтобы добиться этого? Не прописывать же в каждый торрент еще по два адреса (xbt и этот).

Автор: FreeM@N 25.11.2009, 19:40

это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся

Автор: vlad49 25.11.2009, 20:53

Цитата(FreeM@N @ 25.11.2009, 19:40) *
это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся

А как тогда добиться совместной работы этого ретрекера и xbtt? Пихать во все торренты по два новых адреса?

Автор: Dyr 30.11.2009, 12:14

Есть предложение по небольшому исправлению/добавлению ретрекера. Diff нашего ретрекера: http://www.pastie.org/720024

- Разделить регистрацию и показ "пустых" (то есть без размера,комментария и имени) торрентов по переменным "register_empty" и "show_empty"
- Magnet-ссылки для всех торрентов с href у хеша, а не у размера
Ну и уменьшить таймаут между поисками, пожалуй.

Посмотреть, как это выглядит в результате, можно на http://retracker.smarthome.spb.ru

Автор: FreeM@N 5.12.2009, 0:31

Про magnet - да.
А вот про разделение поподробнее пожалуйста - зачем их регистрировать если они нигде не будут показываться?

Таймаут можно уменьшать в настройках. У нас, к сожалению, не шибко мощный сервер и чаще он "неосилит". (Все желающие помочь материально - могут нажать на кнопку Donate в шапке и поделиться средствами)

Автор: FreeM@N 14.12.2009, 3:23

Сделал Magnet-ссылки и пошаманил с подсчётом страниц, рассчитываются как и раньше - без ограничений...вроде работает.

Magnet-ссылки кто-нибудь протестируйте пожалуйста.

Также добавлен поиск по хешу.

Позже сделаю апдейт исходников.

Автор: NiTr0 14.12.2009, 16:23

Цитата(FreeM@N @ 25.11.2009, 18:40) *
это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся

Почему же - у меня работает, только что проверил... Только с memcached проблемы могут возникать - хотя утверждать не буду.

Автор: FreeM@N 17.12.2009, 18:13

Ну да, но лучше всё же использовать для этой цели специализированные движки трекеров. С memcache лучше - без него как раз больше проблем будет.

P.S. Обновил исходники.

Автор: ctlan 13.1.2010, 0:50

установил кэшем sqlite
при запуске статистики получаю :
Fatal error: Cannot access protected property sqlite_common::$dbh in /var/www/retracker/re_tracker/www.2/cache.class.php on line 209

кто чем может помочь ?

Автор: FreeM@N 13.1.2010, 10:46

Кеш в sqlite не поддерживается:

Цитата
// Available cache types: none, memcached

Автор: MiB 17.1.2010, 12:13

небольшой патч:

Код
129a130,132
>     $row = $db->fetch_row("SELECT COUNT(DISTINCT(ts.torrent_id)) AS count FROM tracker_stats ts WHERE (ts.seeders > 0 AND ts.leechers > 0) LIMIT 1");
>     $torrents_act = (int) $row['count'];
>
132c135,136
<         'torrents_num' => $torrents_num
---
>         'torrents_num' => $torrents_num,
>         'torrents_act' => $torrents_act
137c141,142
> echo "Всего пиров: <b>{$stats['peers_num']}</b>, всего торрентов: <b>{$stats['torrents_num']}</b>, из них активных: <b>{$stats['torrents_act']}</b><br />\n";
204c209
< if($active)      { $where[] = "(ts.seeders > 0 OR ts.leechers > 0)";}
---
> if($active)      { $where[] = "(ts.seeders > 0 AND ts.leechers > 0)";}
278c283
<                         <label><input type="checkbox"  name="a"  value="1" <?=($active) ? 'checked="checked"' : '';?> />&nbsp;Активные (есть seeder или leecher)&nbsp;</label>
---
>                         <label><input type="checkbox"  name="a"  value="1" <?=($active) ? 'checked="checked"' : '';?> />&nbsp;Активные (есть seeder и leecher)&nbsp;</label>


Принимаем что "Активные" торенты это те где есть и сидеры и личеры.
соответвенно ищем по этому запросу и выводим количество таких торрентов в статистике.

diff в UTF-8:  torrents.diff.txt ( 1.16 килобайт ) : 1

Автор: FreeM@N 18.1.2010, 1:39

Цитата(MiB @ 17.1.2010, 12:13) *
Принимаем что "Активные" торенты это те где есть и сидеры и личеры.

Подумайте ещё раз smile.gif
По вашему алгоритму получается что если на торенте 100 сидеров и 0 личеров то он не активный? По-моему это не так...

А чем не устраивает текущая выборка?

Автор: MiB 19.1.2010, 18:58

Цитата(FreeM@N @ 18.1.2010, 1:39) *
Подумайте ещё раз smile.gif
По вашему алгоритму получается что если на торенте 100 сидеров и 0 личеров то он не активный? По-моему это не так...

А чем не устраивает текущая выборка?


по моему мнению "активные" это те по которым трафик между пользователями нашей сети идет в настоящее время.
сделано это было просто для отслеживания эффективности ретрекера.

а то что 100 человек скачало и теперь раздает - это не активные, а популярные.
то есть выборка по сидерам или личерам , с сортировкой по убыванию - вот тебе и самые популярные.

P.S. все конечно только IMHO. (хотя уже у 2х провайдеров где стоит данная система(кроме нас) увидел свой патч smile.gif)
P.P.S. я не против когда ко мне на ТЫ. как-то удобнее в неоффициальном, письменном общении на форумах. да и привычнее.
P.P.P.S сейчас разберемся с виртуализацией пары серверов и накатаю еще один патч в части статистики. побольше, а то надоело лазить в phpmyadmin чтобы то одно псомотреть, то другое.

Автор: FreeM@N 20.1.2010, 2:36

Цитата
а то что 100 человек скачало и теперь раздает - это не активные, а популярные.

Да, действительно. Можно добавить ещё один параметр - популярные smile.gif
Добавлю в следующем обновлении.

Цитата
сейчас разберемся с виртуализацией пары серверов и накатаю еще один патч в части статистики.

Давайте.

P.S.: Всё просто - вас много, а я один, чтобы никого не обидеть обращаюсь ко всем на Вы (ну может не всегда с большой буквы - нужно русский подучить smile.gif).

Автор: MiB 31.1.2010, 16:01

как и обещал патчик немного побольше:
- кометические правки;
- статистика перенесена сверху старницы вниз, и оформлена в стиле старницы;
- в статистику добавил количество пользователей;
- если в директории есть файл header.html то он выводится вверху страницы в iframe высотой 100px и шириной 100%;
- последняя строчка - это так, мое суперэго.... smile.gif;

http://pastie.org/802815

Автор: FreeM@N 1.2.2010, 0:41

Цитата(MiB @ 31.1.2010, 16:01) *
...
- в статистику добавил количество пользователей;
...


Собственно вот таких SELECT COUNT DISTINCT и хотелось бы избежать...шибко грузят sad.gif

По поводу активных выше уже написано...пока что нет времени, но когда появится будет большое обновление smile.gif

Автор: MiB 1.2.2010, 12:43

Цитата(FreeM@N @ 1.2.2010, 0:41) *
Собственно вот таких SELECT COUNT DISTINCT и хотелось бы избежать...шибко грузят sad.gif

это понятно, но мою спицифику я тебе описывал, а мне такие данные как раз нужны.
Цитата
По поводу активных выше уже написано...пока что нет времени, но когда появится будет большое обновление smile.gif


это гут. правда придется думать как мне потом свои патчи сверху накатывать smile.gif)

Автор: n_zheka 1.2.2010, 16:07

Мужики, помогите решить проблему с comment в статистике.
FreeM@Nу тоже в личку отписал, не знаю кто быстрей ответит.
Проблема заключается в следующем.
В базу не заносится comment т.е ссылка на раздачу на внешнем трекере.
В config.php переменная $cfg['skip_empty'] = false;
В принципе думаю это не особо важно т.к раздача выкачана полностью.
В таблице поле comment пустое
mysql> select * from tracker_stats;
+------------+------------------------------------------+---------+----------+------------+-------------+------+------+---------+------------+
| torrent_id | info_hash | seeders | leechers | reg_time | update_time | name | size | comment | last_check |
+------------+------------------------------------------+---------+----------+------------+-------------+------+------+---------+------------+
| 1 | 161401888924d83ffa719b2c24d3d440d2cdc9a1 | 1 | 0 | 1265028811 | 1265028811 | | 0 | | 0 |
+------------+------------------------------------------+---------+----------+------------+-------------+------+------+---------+------------+
1 row in set (0.00 sec)
В самом торрент файле в поле коммент ссылка присутствует.


Где трабла?
и вторая проблема, допустим если я в базе все таки инсертил поле коммент вручную при обновлении данных пишет
Could not obtain torrent name from url (tracker is down or not supported)
Первоочередная задача это конечно-же решить проблемы с добавлением в базу comment.

Автор: FreeM@N 1.2.2010, 22:53

Комментарий ретрекером берётся не из торента, а из announce URL-а.
В announce URL он попадает с помощью патчера, который переносит комментарий из торрента в урл.

Автор: n_zheka 1.2.2010, 23:42

Прошу прощение, а можно по действиям, ретркер установлен из http://code.google.com/p/re-tracker/source/checkout
Установлен на Linux
далее какие мои действия, что ставить и куда?
желательно со ссылками, чтобы все заработало как надо.
Еще раз прошу прощение, буду очень благодарен за помощь, раньше думал что коммент появляется get запросом.

UPD:
Смотрю этот вопрос рассматривался тут http://re-tracker.ru/index.php?showtopic=410
но решения проблемы не было, как сделать чтобы на моей локальной статистике заполнялись необходимые поля в том числе коммент?
Опять же просьба пошагово, спасибо.

Автор: FreeM@N 2.2.2010, 12:12

Там был и ответ:

Цитата
Покопавшись понял, что нужен определенный запрос к announce.php, вида ?name-...&size=...&comment=..., для создания которого в частности нужен патчер, без патчера не покажется имя и прочее, но патчер настроен это генерировать только под вашу статистику...

Автор: n_zheka 2.2.2010, 13:08

Спасибо.
Так, идем далее, подскажи пожалуйста куда именно патчер ставится, и каков алгоритм его работы.
Может я не совсем так понял, патчеры устанавливаются на сам трекер который в торрент фаил добавляет аннонсер retracker.local, но некоторые торренты и так по дефолту суют этот аннонсер. Теперь вообще запутался smile.gif
Наверно я не совсем ясно написал какова моя задача.
Задача просто локальный ретрекер со статистикой чтобы юзеры искали локальные пиры.
Это я добился самим анонсером. Теперь осталась только одна задача чтобы имена нормально отображались в локальной статистике.

Автор: FreeM@N 2.2.2010, 15:26

Патчер вот из этого раздела: http://re-tracker.ru/index.php?showforum=9
Но, как написано выше, некоторые патчеры добавляют статистику только к адресу re-tracker.ru (конкретно какие не знаю т.к. не пользуюсь).

Патчер должен быть установлен у клиента и должен обрабатывать все торенты которые он качает. К серверу он непосредственного отношения не имеет.

Автор: derSpinner 18.2.2010, 10:40

Вопрос: как данные исходники можно прикрутить к себе на сервер, что бы иметь статистику и подобную систему у себя.
Но только для torrents.ru и не касаясь так или иначе re-tracker.ru

Автор: access 11.4.2010, 19:03

Почему я не могу скачать файл?

Автор: FreeM@N 11.4.2010, 20:47

Если вам нужны исходники вы можете взять их с гугла: http://code.google.com/p/re-tracker/

Автор: FIGO 12.9.2010, 16:59

При добавлении в трекера в торрент файл выходит ошибка: Трекер отправляет неверные данные: <NULL>. В чем может быть проблема подскажите пожалуйста, сама статистика работает

Автор: FreeM@N 13.9.2010, 7:53

http://re-tracker.ru/index.php?showtopic=507&view=findpost&p=5640

Автор: VaultDweller 31.10.2011, 12:28

почему в статистике отображает 600+ торентов
А в списке около 350..
и в списке отображает торенты только с двух трекеров(nnm-club.ru и pirat.ca)..как это пофиксить?
ну и ошибка "Трекер отправляет неверные данные: <NULL>"

Автор: FreeM@N 2.11.2011, 21:12

В какой статистике, в каком списке?
Больше подробностей пожалуйста.

Цитата
ошибка "Трекер отправляет неверные данные: <NULL>"

По какому адресу?

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)