IPB

Здравствуйте, гость ( Вход | Регистрация )

Re-Tracker source
RoadTrain
сообщение 7.3.2009, 11:37
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 148
Регистрация: 15.12.2008
Из: Псков
Пользователь №: 14



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

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

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

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

Прикрепленные файлы
Прикрепленный файл  re_tracker.zip ( 76.85 килобайт ) Кол-во скачиваний: 1001
 
Перейти в начало страницы
 
+Цитировать сообщение
 
Начать новую тему
Ответов
FreeM@N
сообщение 23.9.2009, 8:21
Сообщение #2


Активный участник
***

Группа: Главные Админы
Сообщений: 661
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



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

Конечно 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


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
chmv
сообщение 23.9.2009, 22:11
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.9.2009
Пользователь №: 2 703



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

Цитата(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

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

Сообщений в этой теме
- RoadTrain   Re-Tracker source   7.3.2009, 11:37
- - Shift   ну либо через клиент Heidi или через phpmyadmin   10.3.2009, 8:35
- - JDVU   я у себя вырезал форму городов и провайдеров, поме...   10.3.2009, 11:32
- - b2k   Да я верю Может прикрепишь тут свой torrents.php...   10.3.2009, 12:01
- - JDVU   вот, сравни   10.3.2009, 12:18
- - Gri.fon   Как можно в апатче перенаправить народ на порт 271...   11.3.2009, 4:18
- - The Raven   как мне сказали он может и несколько портов слушат...   11.3.2009, 7:31
- - Gri.fon   После того как прописываю доп строку, апатч вылета...   11.3.2009, 7:41
- - JDVU   2 приложения на 1 порту не могут висеть   11.3.2009, 9:59
- - Gri.fon   Почему 2 приложения, я изменил настройик апатча до...   11.3.2009, 12:22
- - JDVU   ну потомучто у тебя ретрекер слушает порт 2710 а т...   11.3.2009, 12:55
- - Gri.fon   Точняк, забыл отрубить XBT, все норм вообщем   11.3.2009, 17:14
- - The Raven   при указании птички "Есть описание" полу...   13.3.2009, 22:12
- - Gri.fon   как нужно написать путь до announce.php в файле an...   15.3.2009, 1:32
- - Shift   ну делать либо инклюдом php или редиректом htacces...   15.3.2009, 2:44
- - RoadTrain   там валяется бланк announce, надо лишь разрешить в...   15.3.2009, 4:11
- - Gri.fon   А можно поподробней что именно нужно сделать ?   15.3.2009, 21:25
- - The Raven   проблему из поста #34 решил обновлением скриптов и...   16.3.2009, 19:53
- - RoadTrain   Цитата(The Raven @ 16.3.2009, 19:53) проб...   16.3.2009, 23:30
- - The Raven   жду обновления с фиксом, заранее спасибо   17.3.2009, 0:10
- - Gri.fon   А с мой проблемой кто нибуть поможет?   17.3.2009, 0:26
- - RoadTrain   Цитата(The Raven @ 17.3.2009, 0:10) жду о...   17.3.2009, 1:05
- - Gri.fon   А по какому принципу происходит отчиста статистики...   18.3.2009, 1:29
- - RoadTrain   по интервалу, заданному в конфиге.   18.3.2009, 21:51
|- - Gri.fon   Цитата(RoadTrain @ 18.3.2009, 22:51) по и...   19.3.2009, 7:06
|- - Shift   Цитата(Gri.fon @ 19.3.2009, 7:06) А не по...   19.3.2009, 8:34
- - The Raven   имеется ли блэклист для торрент-трекеров ? хочу ло...   19.3.2009, 0:24
- - RoadTrain   а время хранения торрентов задаёт TORRENTS_EXPIRE   19.3.2009, 13:35
- - The Raven   выложи, интересно   21.3.2009, 7:21
- - xut   Хотелось бы увидеть статистику по типу псевдотреке...   22.3.2009, 4:54
- - Gri.fon   Всего пиров: 406, всего торрентов: 1036 - а может...   23.3.2009, 11:54
- - Shift   Может так как торреты он сохраняет и чистит раз в ...   23.3.2009, 14:15
- - Gri.fon   TORRENTS_EXPIRE - я так понял эта команда отвечает...   23.3.2009, 14:50
- - Shift   если в течении месяца на торренте не появилось не ...   23.3.2009, 15:42
- - The Raven   какой квар отвечает за забор имени торрента с трек...   23.3.2009, 16:29
- - JDVU   checkme.class.php   23.3.2009, 18:48
- - 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
- - The Raven   вообще n-последних или тех у кого есть ссылка на о...   23.3.2009, 22:59
|- - FreeM@N   Цитата(The Raven @ 23.3.2009, 22:59) вооб...   23.3.2009, 23:10
- - The Raven   так так так, а можно про крон поподробнее ? я так ...   23.3.2009, 23:18
|- - FreeM@N   Цитата(The Raven @ 23.3.2009, 23:18) так ...   23.3.2009, 23:51
- - JDVU   может я неверно понял но единственное что связывае...   24.3.2009, 1:32
- - FreeM@N   и? В чём вопрос? я уже выше писал: по крону запуск...   24.3.2009, 8:59
- - JDVU   так крон только в этом файле и определен, я больше...   24.3.2009, 10:16
|- - FreeM@N   Цитата(JDVU @ 24.3.2009, 10:16) так крон ...   24.3.2009, 11:35
- - JDVU   ЦитатаЕго нету в поставкевот это всё и решило   24.3.2009, 13:45
- - The Raven   /etc/crontab Код# run re-tracker checknames */1 * ...   25.3.2009, 0:25
- - FreeM@N   Эх... Вот так: /etc/crontab Код* * * * * root /us...   25.3.2009, 1:22
- - reddy   Все-таки, как сделать строку страницы: 1,2,3... вн...   1.4.2009, 15:33
- - JDVU   как это нет   1.4.2009, 22:20
- - b2k   Скорее всего это то, что и у меня было. Цитата(b2k...   2.4.2009, 20:35
|- - FreeM@N   Цитата(b2k @ 2.4.2009, 20:35) Что нужно и...   2.4.2009, 22:44
- - aka dd   Интересует пара вопросов. Как вырезать список горо...   18.4.2009, 14:55
- - 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
- - The Raven   перешел на 58 ревизию, ошибки по прежнему есть по...   26.4.2009, 23:20
- - FreeM@N   Если есть возможность то лучше используйте memcach...   27.4.2009, 8:06
|- - The Raven   Цитата(FreeM@N @ 27.4.2009, 8:06) Добавьт...   27.4.2009, 11:30
|- - FreeM@N   Цитата(The Raven @ 27.4.2009, 11:30) имее...   27.4.2009, 20:14
- - The Raven   наверх cache.class.php вписал это, получилось: Ко...   29.4.2009, 0:24
|- - FreeM@N   Цитата(The Raven @ 29.4.2009, 0:24) ........   29.4.2009, 10:51
- - Gri.fon   А где сменить часовой поис что бы время добавления...   30.4.2009, 20:59
- - NeX   где последнюю версию скрипта можно скачать?   1.5.2009, 13:38
- - The Raven   http://re-tracker.googlecode.com/svn/trunk/   1.5.2009, 18:14
- - 4e4ako   в torrents.php не работает запрос живых раздач (га...   30.6.2009, 23:11
- - Abraxis   Подскажите а что необходимо, чтоб ретрекер сам мог...   13.9.2009, 13:57
|- - FreeM@N   Цитата(Abraxis @ 13.9.2009, 14:57) Подска...   13.9.2009, 14:09
|- - Abraxis   Цитата(FreeM@N @ 13.9.2009, 15:09) Никак,...   13.9.2009, 21:11
|- - Abraxis   Ребята а подскажите есть ли возможность забанить н...   21.9.2009, 21:14
|- - FreeM@N   Цитата(Abraxis @ 21.9.2009, 22:14) Ребята...   22.9.2009, 0:37
- - chmv   Падает при попытке распарсить файл trackers.list ...   22.9.2009, 6:34
- - FreeM@N   Какая ревизия у вас установлена? Давно обновлялись...   22.9.2009, 8:12
|- - chmv   Ревизия последняя из транка. Вытянул svn'ом. Т...   22.9.2009, 15:50
|- - FreeM@N   Ну вообще последняя всегда рабочая   22.9.2009, 19:37
|- - chmv   Сказка. Тогда расскажу, что я сделал. Апач + PHP +...   22.9.2009, 20:18
|- - chmv   Цитата(FreeM@N @ 22.9.2009, 19:37) Ну воо...   23.9.2009, 2:54
- - FreeM@N   ЦитатаВы продолжаете утверждать о работоспособност...   23.9.2009, 8:21
|- - chmv   Думаю это последнее мое сообщение здесь, все пробл...   23.9.2009, 22:11
- - 4e4ako   Цитата(chmv @ 23.9.2009, 3:54) Вы продолж...   23.9.2009, 11:28
|- - chmv   Цитата(4e4ako @ 23.9.2009, 11:28) этот ре...   23.9.2009, 20:51
- - FreeM@N   >>>> Пишу я его только с одной целью. ...   24.9.2009, 0:21
- - FreeM@N   Обновление: ревизия 73. Удалены кеши, использовани...   25.9.2009, 0:07
- - xmanpsk   Поставил ревизию 73, работает без memcached, смысл...   27.9.2009, 18:37
|- - FreeM@N   Цитата(xmanpsk @ 27.9.2009, 19:37) Постав...   27.9.2009, 18:41
- - POWExR   http://www.whitsoftdev.com/opentracker Это может ...   24.10.2009, 12:22
- - FreeM@N   Может, у некоторых он и установлен.   24.10.2009, 13:00
- - botanov   Error: Memcached extension not installed как убра...   31.10.2009, 21:30
- - FreeM@N   Его вообще-то не убрать, а установить нужно... Но ...   31.10.2009, 23:45
- - nkk   Видимо, я не достаточно ознакомился с данной темой...   1.11.2009, 1:22
- - FreeM@N   это к чему? у нас и так в статистике показывается ...   1.11.2009, 13:30
- - Name   Вопрос: это просто статистика или рабочий ретрекер...   8.11.2009, 16:51
- - FreeM@N   Только статистика, как ретрекер его использовать к...   8.11.2009, 16:58
2 страниц V  < 1 2 >


Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 25.5.2024, 21:24
Top.Mail.Ru