Версия для печати темы
Re-Tracker | Система локальных ретрекеров | Ретрекер _ Статистика _ Re-Tracker source
Автор: RoadTrain 7.3.2009, 11:37
В общем, представляю первый открытый релиз нашего анонсера.
Включает в себя сам анонсер и список торрентов (стата как здесь).
Поддерживается ipv6 (
совково)
В принципе, на него можно много чего навесить...
Есть 4 способа кеширования (файлы, APC, memcache, sqlite).
Установка:
1. скопировать все файлы на сервер.
2. создать БД, залить базу из table.sql
3. настроить config.php (данные для доступа к базе,...)
Если используете файловый кеш, поставьте chmod 0777 на папку cache_tr
Автор: JDVU 7.3.2009, 19:56
не могу разобратся почему не может обновить имя темы с сайта трекера
движок такой же как и на торрентсру, только чуть новее, а обновить имя по ссылке не может.
Автор: Shift 7.3.2009, 20:01
если нету доступа тогда не сможет
Автор: JDVU 7.3.2009, 20:07
Цитата(Shift @ 7.3.2009, 18:01)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
если нету доступа тогда не сможет
доступ есть, они на одном сервере находятся
может из-за разного кода страниц?
Автор: 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
спасибо разобрался
Автор: 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
ну можно , надо поставить апатчег на тот порт где и стоял 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
поменять порт апатчега 2710 и разархивировать туда содержимое нашего патчера
А под словами Создать и залить базу что подразумевается?
Автор: Shift 10.3.2009, 2:38
создать базу в мускуле и залить туда SQL файлик
Автор: Yodj 10.3.2009, 2:42
Цитата(Shift @ 10.3.2009, 2:38)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
создать базу в мускуле и залить туда SQL файлик
А в двух словах описать как конкретно это сделать?
Как создать базу в мускуле? Куда "туда" залить SQL файлик, и где его взять???
Я не тупой, но и не телепат.
Автор: Shift 10.3.2009, 8:35
ну либо через клиент Heidi или через phpmyadmin
Автор: b2k 10.3.2009, 9:52
Цитата(JDVU @ 9.3.2009, 20:23)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Цитата(b2k @ 9.3.2009, 20:13)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
При просмотре статистики (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](https://re-tracker.ru/style_emoticons/default/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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
проблему из поста #34 решил обновлением скриптов из svn'а
теперь вопрос : вместо имени торрента почти всегда пишется "ссылка" (сама ссылка присутствует), я так понимаю это из-за этого :
Код
(!empty($name) ? "<b>$name</b>" : "ссылка")
неужели ни в одном торренте нет его имени ? или это у меня что-то не так ?
имен действительно нету, т.к. у последнего патчера проблемы с прописывание его в адрес.
Автор: The Raven 17.3.2009, 0:10
жду обновления с фиксом, заранее спасибо
Автор: Gri.fon 17.3.2009, 0:26
А с мой проблемой кто нибуть поможет?
Автор: RoadTrain 17.3.2009, 1:05
Цитата(The Raven @ 17.3.2009, 0:10)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
по интервалу, заданному в конфиге.
А не подскажете какой именно параметр задает интервал?
Автор: Shift 19.3.2009, 8:34
Цитата(Gri.fon @ 19.3.2009, 7:06)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
А не подскажете какой именно параметр задает интервал?
$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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
как можно реализовать банлист на анонс для некоторых трекеров?
Я у себя реализовал так:
Добавил в таблицы 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](https://re-tracker.ru/style_emoticons/default/smile.gif)
Если у торрента есть имя - то оно не обновляется.
А вот если у торента нету имени, но в комментарии у него есть ссылка на топик с этой раздачей, то раз в минуту запускается срипт, который выполняет метод batchUpdate из класса CheckMe. В свою очередь этот метод вытаскивает последние n-торентов без имени и пытается по ссылке из комментария выпотрошить имя ![smile.gif](https://re-tracker.ru/style_emoticons/default/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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
вообще 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
так так так, а можно про крон поподробнее ? я так понимаю у меня не внесена запись в него (если верно помню это демон-планировщик в линухе)
Да, вы правы, статьи о 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
так крон только в этом файле и определен, я больше не нашел. может архив неполный?
Его нету в поставке, потому что batch_checkname.php - для примера, что вот эту функцию можно использовать вот так.
выглядит он приблизительно вот так:
cron.php
Код
<?
define('CRON',TRUE);
include_once "/путь/к/файлу/batch_checkname.php";
?>
Далее, как я уже писал выше, вы складываете cron.php куда нибудь вне зоны видимости браузера и запускаете его с помощью планировщика заданий cron.
Очень сложный код, не правда ли? я кажется уже 2 раза всё подробно объяснил.
--------------------------
Если вы чего-то не знаете - значит это вам не нужно.
Автор: JDVU 24.3.2009, 13:45
Цитата
Его нету в поставке
вот это всё и решило
Автор: 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
При просмотре статистики (torrents.php) не выводятся ссылки для страниц.
Т.е. "Статистика Всего пиров: 43, всего торрентов: 42"; на странице выводится 25 строк, ссылок"Страницы: 1, 2 След" нет.
Проблема из-за этого:
Цитата(John Doe @ 19.3.2009, 0:17)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Тут и смотреть нечего - статистика показывает только нечётные страницы, то есть оканчивающиеся на 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Что нужно изменить - смотрим 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Добавьте директорию кеша в include_path, похоже у вас из-за этого и возникает ошибка.
имеете ввиду что кешировать списки пиров (папка cache_tr) в путь /usr/share/pear или /usr/share/php ? (include_path='.:/usr/share/pear:/usr/share/php') я не совсем понял фразу
cache.class.php взял из 61-го
Автор: FreeM@N 27.4.2009, 20:14
Цитата(The Raven @ 27.4.2009, 11:30)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
имеете ввиду что кешировать списки пиров (папка cache_tr) в путь /usr/share/pear или /usr/share/php ? (include_path='.:/usr/share/pear:/usr/share/php') я не совсем понял фразу
![unsure.gif](https://re-tracker.ru/style_emoticons/default/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. С файловым кешем вы огребёте много проблем...что собственно и происходит
Автор: 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](https://re-tracker.ru/style_emoticons/default/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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
......
по поводу мемкеша - дайте плз линки где можно конкретно про него почитать, инструкций по установке в гугле много, а вот описаний нету.
......
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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
......
Хочется знать насколько с ним увеличится потребление оперативки и т.д.
Вы сами задаёте сколько он может использовать, больше чем дадите не возьмёт.
P.S.: Работаю поисковиком, недорого.
Автор: 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
Подскажите а что необходимо, чтоб ретрекер сам мог находить и вставлять имена закачек? У меня он пишет "не задано", как сделать, чтобы он мог показывать имена и размеры закачиваемого файла?
Автор: FreeM@N 13.9.2009, 14:09
Цитата(Abraxis @ 13.9.2009, 14:57)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Подскажите а что необходимо, чтоб ретрекер сам мог находить и вставлять имена закачек? У меня он пишет "не задано", как сделать, чтобы он мог показывать имена и размеры закачиваемого файла?
Никак, если в комментарии к торенту есть ссылка то можно вытащить оттуда.
Используйте патчер, он вставляет необходимую информацию автоматически.
Автор: Abraxis 13.9.2009, 21:11
Цитата(FreeM@N @ 13.9.2009, 15:09)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Никак, если в комментарии к торенту есть ссылка то можно вытащить оттуда.
Используйте патчер, он вставляет необходимую информацию автоматически.
Спасибо за информацию, все правильно настроил теперь работает
Автор: Abraxis 21.9.2009, 21:14
Ребята а подскажите есть ли возможность забанить некоторые IP, чтобы они не показывались в списке закачек. Если да то как это сделать, ибо через ретрекер стали качать киношки жанра XXX, поэтому хочу забанить...
Автор: FreeM@N 22.9.2009, 0:37
Цитата(Abraxis @ 21.9.2009, 22:14)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Ребята а подскажите есть ли возможность забанить некоторые 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
Ну вообще последняя всегда рабочая
Автор: chmv 22.9.2009, 20:18
Сказка. Тогда расскажу, что я сделал.
Апач + PHP + MySQL свежеустановленные, взяты с официальных сайтов.
В MySQL создал DB, выполнил скрипт по созданию таблиц.
Апачу сконфигурил виртуальный хост.
В конфиге ретрекера прописал доступ к DB. (это точно работает, проверил
)
В тестовом торренте прописал адрес тестового ретрекера (больше трекеров там нет) в виде
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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Ну вообще последняя всегда рабочая
![smile.gif](https://re-tracker.ru/style_emoticons/default/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](https://re-tracker.ru/style_emoticons/default/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;
Вы продолжаете утверждать о работоспособности этого кода?
Автор: FreeM@N 23.9.2009, 8:21
Цитата
Вы продолжаете утверждать о работоспособности этого кода?
Конечно
![smile.gif](https://re-tracker.ru/style_emoticons/default/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.
Продолжайте комментировать код, это полезно
Автор: 4e4ako 23.9.2009, 11:28
Цитата(chmv @ 23.9.2009, 3:54)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Вы продолжаете утверждать о работоспособности этого кода?
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
этот ретрекер, ретрекер от т.ру и псевдотрекер - совершенно разные коды и таблицы. не забывайте, если пробуете поставить друг на друга.
З.ы. если вы не смогли запустить этот код - поставьте ретрекер от т.ру и не мучайтесь (и вам нервы целее - и автору этого кода)
Автор: chmv 23.9.2009, 20:51
Цитата(4e4ako @ 23.9.2009, 11:28)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
этот ретрекер, ретрекер от т.ру и псевдотрекер - совершенно разные коды и таблицы. не забывайте, если пробуете поставить друг на друга.
Да, спасибо большое, после ночи в дебаггере я разобрался. Жаль только, что это не было написано в первом сообщении.
Цитата(4e4ako @ 23.9.2009, 11:28)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
З.ы. если вы не смогли запустить этот код - поставьте ретрекер от т.ру и не мучайтесь (и вам нервы целее - и автору этого кода)
Уже запустил, и уже отказался. Кода не много, ночи на разборки хватило. Кстати, я так и не понял, что мешает сделать два исправления -- не требовать наличие нестандартных параметров. Кроме того, ретрекер от т.ру (как я подозреваю и псевдотрекер), поддерживают технологию bep22, которая изумительно работает. Жаль только в utorrent не включена по умолчанию. Достаточно было добавить строку в днс, и utorrent с включенным bep22 тут же полез на ретрекер. Сказка.
Автор: chmv 23.9.2009, 22:11
Думаю это последнее мое сообщение здесь, все проблемы с ретрекерами в своих сетях мы решили. Пишу я его только с одной целью. Вдруг Вы задумаетесь.
Цитата(FreeM@N @ 23.9.2009, 8:21)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Конечно
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
Он же работает.
Да. По стандарту, который был придуман здесь, нигде не описан, при полном игнорировании уже существующего и работающего стандарта, а тажке планируемого (bep22). Именно так убиваются хорошие идеи.
Цитата(FreeM@N @ 23.9.2009, 8:21)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Я ещё раз повторяю если вы это не прочитали ранее - это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся из-за наличия ненужных для обычного ретрекера функций!
Простите, я прочел только половину форума. Теперь, после анализа кода, я знаю что это, как оно работает, какова его идея.
Цитата(FreeM@N @ 23.9.2009, 8:21)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Там так-то аяксовый запрос идёт на заполнение. 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Хреновый топор у вас...ретрекер - это единое целое, а едином целом нормально когда одни кусочки программы используют другие.
"Хреновый топор"... Я ничего не говорил о профессиональных способностях ни Вас, ни автора. Вы открыли мне право ответить Вам тем же.
Цитата(FreeM@N @ 23.9.2009, 8:21)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Если ещё не поняли - так и было задумано.
Было задумано, чтобы ничего не работало. Ни одна из функций этого кода не заработала с первого раза. Везде пришлось либо топором либо напильником.
Еще пример банальных ошибок? Пожалуйста, это не сложно, код изобилует ими.
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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
а кусочек кода:
Код
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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Поробуйте выполнить вот такой SQL:
....
А так да, вы правы, лучше будет заранее выставить 0.
Выше я написал, где именно ошика. И я не говорил "лучше". Это необходимо. Либо не указывать тот же size в запросе, тогда возьмется 0 из свойств поля таблицы, либо if (!$size) $size = 0; . Других вариантов нет. Число не может быть задано как '' в SQL.
Цитата(FreeM@N @ 23.9.2009, 8:21)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Продолжайте комментировать код, это полезно
![smile.gif](https://re-tracker.ru/style_emoticons/default/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, смысла пока нет, нагрузка смешная.
Патчер в сети не используем, договариваемся с трекерами об автоматическом прописывании ретрекера.
Сорри если вопрос дебильный, но при таком раскладе возможно ли заставить его выводить названия раздач с торрентсру в статистике? Крон из примера в теме запускать пробовал, безрезультатно - в БД ничего не добавилось нового. Допиваю третью бутылку пива, ситуация не прояснилась
Автор: FreeM@N 27.9.2009, 18:41
Цитата(xmanpsk @ 27.9.2009, 19:37)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Поставил ревизию 73
Есть 74-я - там исправлен небольшой косяк в экспорте списка ретрекеров, но если вы не пользуетесь экспортом то можно и не обновлять...
Цитата(xmanpsk @ 27.9.2009, 19:37)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
работает без memcached, смысла пока нет, нагрузка смешная.
Если пиров мало то можно и без кеша, но при увеличении пиров без кеша не выжить...
Цитата(xmanpsk @ 27.9.2009, 19:37)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Сорри если вопрос дебильный, но при таком раскладе возможно ли заставить его выводить названия раздач с торрентсру в статистике?
К сожалению - нет.
Для того чтобы "вытащить" название нужно чтобы был передан комментарий к раздаче (там обычно ссылка на тему), а он получается только через патчер...
Автор: 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
Блина =( люди добрые помогите поставить эту Прекрасную вещь! (пошагово плизз)
Уже все перебробывал
Автор: 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся
А как тогда добиться совместной работы этого ретрекера и 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)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся
Почему же - у меня работает, только что проверил... Только с 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"' : '';?> /> Активные (есть seeder или leecher) </label>
---
> <label><input type="checkbox" name="a" value="1" <?=($active) ? 'checked="checked"' : '';?> /> Активные (есть seeder и leecher) </label>
Принимаем что "Активные" торенты это те где есть и сидеры и личеры.
соответвенно ищем по этому запросу и выводим количество таких торрентов в статистике.
diff в UTF-8:
torrents.diff.txt ( 1.16 килобайт )
: 1
Автор: FreeM@N 18.1.2010, 1:39
Цитата(MiB @ 17.1.2010, 12:13)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Принимаем что "Активные" торенты это те где есть и сидеры и личеры.
Подумайте ещё раз
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
По вашему алгоритму получается что если на торенте 100 сидеров и 0 личеров то он не активный? По-моему это не так...
А чем не устраивает текущая выборка?
Автор: MiB 19.1.2010, 18:58
Цитата(FreeM@N @ 18.1.2010, 1:39)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Подумайте ещё раз
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
По вашему алгоритму получается что если на торенте 100 сидеров и 0 личеров то он не активный? По-моему это не так...
А чем не устраивает текущая выборка?
по моему мнению "активные" это те по которым трафик между пользователями нашей сети идет в настоящее время.
сделано это было просто для отслеживания эффективности ретрекера.
а то что 100 человек скачало и теперь раздает - это не активные, а популярные.
то есть выборка по сидерам или личерам , с сортировкой по убыванию - вот тебе и самые популярные.
P.S. все конечно только IMHO. (хотя уже у 2х провайдеров где стоит данная система(кроме нас) увидел свой патч
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
)
P.P.S. я не против когда ко мне на ТЫ. как-то удобнее в неоффициальном, письменном общении на форумах. да и привычнее.
P.P.P.S сейчас разберемся с виртуализацией пары серверов и накатаю еще один патч в части статистики. побольше, а то надоело лазить в phpmyadmin чтобы то одно псомотреть, то другое.
Автор: FreeM@N 20.1.2010, 2:36
Цитата
а то что 100 человек скачало и теперь раздает - это не активные, а популярные.
Да, действительно. Можно добавить ещё один параметр - популярные
Добавлю в следующем обновлении.
Цитата
сейчас разберемся с виртуализацией пары серверов и накатаю еще один патч в части статистики.
Давайте.
P.S.: Всё просто - вас много, а я один, чтобы никого не обидеть обращаюсь ко всем на Вы (ну может не всегда с большой буквы - нужно русский подучить
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
).
Автор: MiB 31.1.2010, 16:01
как и обещал патчик немного побольше:
- кометические правки;
- статистика перенесена сверху старницы вниз, и оформлена в стиле старницы;
- в статистику добавил количество пользователей;
- если в директории есть файл header.html то он выводится вверху страницы в iframe высотой 100px и шириной 100%;
- последняя строчка - это так, мое суперэго....
;
http://pastie.org/802815
Автор: FreeM@N 1.2.2010, 0:41
Цитата(MiB @ 31.1.2010, 16:01)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
...
- в статистику добавил количество пользователей;
...
Собственно вот таких SELECT COUNT DISTINCT и хотелось бы избежать...шибко грузят
![sad.gif](https://re-tracker.ru/style_emoticons/default/sad.gif)
По поводу активных выше уже написано...пока что нет времени, но когда появится будет большое обновление
Автор: MiB 1.2.2010, 12:43
Цитата(FreeM@N @ 1.2.2010, 0:41)
![*](https://re-tracker.ru/style_images/ip.boardpr/post_snapback.gif)
Собственно вот таких SELECT COUNT DISTINCT и хотелось бы избежать...шибко грузят
![sad.gif](https://re-tracker.ru/style_emoticons/default/sad.gif)
это понятно, но мою спицифику я тебе описывал, а мне такие данные как раз нужны.
Цитата
По поводу активных выше уже написано...пока что нет времени, но когда появится будет большое обновление
![smile.gif](https://re-tracker.ru/style_emoticons/default/smile.gif)
это гут. правда придется думать как мне потом свои патчи сверху накатывать
![smile.gif](https://re-tracker.ru/style_emoticons/default/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](https://re-tracker.ru/style_emoticons/default/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)