Архив Об архиве FAQ New BAN List Полезные ссылки Друзья архива Архив новостей
Архив by ArjLover   Архив by ArjLover
Мультики by ArjLover
Приёмная ArjLover-a
Перезагрузить страницу Нам нужен торрент-трекер
Регистрация СправкаПравила форума Поиск Сообщения за день Все разделы прочитаны Пользователи Календарь

Приёмная ArjLover-a Послания и пожелания по работе Архива

Ответ
 
Опции темы Опции просмотра
  #181  
Старый 20.02.2008, 10:39
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,886
Отправить сообщение для ArjLover с помощью ICQ
Упс, а что такое трекер? мне казалось это тоже http-сервер, всегда с каким-то announce.php на конце урла. Его-то задача какая? Мне казалось что как раз эти файлы раздавать. Или он только говорит что знает о пирах и сидах? В любом случае файлы эти будут делать на разных серверах и передавать их после этого автоматом куда-то еще - это еще одна задача. Которая кстати ни разу мной не решалось, поэтому я только за чтобы эти файлы лежали рядом с фильмами. Задача ясная и хорошо укладывается в существующую систему.

Алексей, можешь изобразить шел-скрипт?

если не существует \путь\$film_name.torrent
make_torent \путь\$film_name.torrent

а всего-то две строчки ну конечно со всеми опциями и т.д.
Ответить с цитированием
  #182  
Старый 20.02.2008, 17:40
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
1. .torrent-файлы можно начать создавать уже сейчас. но задачка эта достаточно длительная, похожая на хеширование файлов для eDonkey сети... mno приводил текст скрипта, который это может сделать уже сейчас. Единственное чтобы я добавил в него, это паузу между обработкой файлов, чтобы давать серверу хоть немного "вздохнуть". Он подойдет для первоначальной обработки всего архива, случаи же замены, удаления, добавления одиночных файлов в дальнейшем нужно будет обрабатывать отдельно...
Единственное что нужно будет прописать в него это папка с файлами архива и папка в которую скрипт будет складывать готовые .torrent-файлы.

2. Настроить mlDonkey для сидирования всех этих файлов, для этого, как минимум, нужно будет указать ему где брать .torrent-файлы.

3. Добавить .torrent-файлы на трекер... Вот это задачка, которую, как я понимаю, пока не решили ни как... Есть варианты, на вскидку:
---3.1 Переделать страницу загрузки трекера (она на php и здесь я ничего не могу сказать как)
---3.2 Добавлять торренты в базу трекера "в обход" интерфейса, напрямую при помощи скрипта. Для этого нужно подключаться к базе скуля. Тут опять же есть варианты:
------3.2.1 Подключаться к базе трекера по сети с архивных машин, как я понимаю для этого нужно установить, как минимум, клиентские части от скуля на каждый архив, что по моему не сильно хорошо.
------3.2.2 Передать .torrent-файлы с архивов на трекер и уже на трекере запускать скрипт добавления торрентов в базу трекера. Здесть опять же есть варианты:
---------3.2.2.1 Можно поднять на трекере ftp и архивы будут подключаться к этому ftp и передавать на него свои .torrent-файлы.
---------3.2.2.2 Можно создать на архивных машинах специальные папки и открыть по FTP для трекера, который будет с интервалом проверять эти папки на предмет появления новых файлов, забирать их к себе и добавлять в свою базу.
---------3.2.2.3 Можно так же передавать данные по http, но это по-моему более хитро...

4. Обработка info-страниц файлов в архиве для добавления на них информации по торренту для этого файла. А может помещение ссылки на торренты на главные страницы архивов, хотя они и так сильно большие уже, но это будет удобнее для пользователей...

5. Расширение механизма управления архивом для автоматического создания, изменения, удаления торрентов (сами .torrent-файлы, раздачи в mlDonkey, торренты в трекере)

Вот как я понимаю ситуацию "на сейчас".

Последний раз редактировалось AlekseyS, 20.02.2008 в 17:43.
Ответить с цитированием
  #183  
Старый 20.02.2008, 23:32
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,886
Отправить сообщение для ArjLover с помощью ICQ
клиентскую часть от мускуля я уже все равно везде вздул - все равно понадобится для других дел.
и это, вопрос остался прежним - скрипт где?
У тебя есть рут на фильмики - вздуй там из портов все что надо, я так понимаю одну тулзу. и давай уже нагенерим, никаких пауз не надо, все равно они соразмерны по времени, да и погоды не делают.
А я попробую разобраться как добавлять торент в базу...
Ответить с цитированием
  #184  
Старый 20.02.2008, 23:55
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Если клиентская часть скуля уже везде есть, тогда осталось только написать скрипт который загонит напрямую в базу трекера информацию о наших торрентах прямо с архивных машин и тогда .torrent-файлы уже не надо гонять по сети.
я до конца не разобрался, конечно, для этого нужно все таки реально глянуть на базу, но по коду на php, котороый я не знаю, я понял что нам нужно будет заполнить 2 таблицы:
1. "torrents"
INSERT INTO `torrents` (`info_hash`, `name`, `metadata`)
где:
info_hash = sha1 хэш торрента
name = название .torrent-файла
metadata = .torrent-файл целиком, закодированный в base64
2. "namemap" (там много полей, но как я понял, она нажна для отображения информации о торренте на страницах трекера)

Скрипт для начального обторренчивания всего архива или для дальнейшей синхронизации изменений?
Для синхронизации я еще не писал ничего, а для обторренчивания скрипт, по большому счету и не нужен, достаточно find |xargs.
Я попробую на паре файлов в фильмиках и отпишусь...
Сегодня ничего не успел - теща в гости приезжала... :-(
P.S. Про рут для фильмиков я не совсем в курсе...

Последний раз редактировалось AlekseyS, 21.02.2008 в 00:20.
Ответить с цитированием
  #185  
Старый 21.02.2008, 20:48
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Неожиданные сложности:
createtorrent не правильно создает .torrent-файлы...
Тестировал createtorrent на FreeBSD 5.4 и собранный в ручную из исходников и установленный из портов... Созданный .torrent-файл торрент-клиенты не понимают, говорят что ошибочный .torrent-файл... :-(

Может, конечно, на серверах архива все пройдет, но сомневаюсь.
Ошибку в коде createtorrent вроде нашел, исправил, нужно протестировать заплатку...
Ответить с цитированием
  #186  
Старый 21.02.2008, 21:05
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,886
Отправить сообщение для ArjLover с помощью ICQ
Хм, ничего так история. Ты первый кто решил заюзать эту тулзу? а где же мировое сообщество?
Ответить с цитированием
  #187  
Старый 21.02.2008, 22:57
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Да самому странно... Хотя под линуксом она, по данным mno, работает отлично. А вот у меня на "нулевой" фре не хочет...
А про мировое сообщество... В этой же тулзе есть маленькая "бажка" в обработчике коммандной строки, так вот я ее заметил с первого взгляда, а в программе она практически с первых версий и никто не исправил до сих пор... :-)
Ответить с цитированием
  #188  
Старый 22.02.2008, 01:17
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Я ее уговорил все таки...
В итоге:
+1. createtorrent последней версии работает на FreeBSD.
+2. Есть скрипт для создания одиночного .torrent-файла.
./create.sh /ARCHIVE/FILES/filmik1.avi где create.sh файл со скриптом, и файл для обработки с полным путем, чтобы можно было обрабатывать файлы лежащие в разных местах, если нужно.

?3. Можно запустить начальную обработку просто коммандой типа
find |xargs
или же я завтра напишу скрипт-диспетчер для первого скрипта, который сделает всю работу и в дальнейшем может использоваться при добавлении файлов в архивы. Хотя, правильнее будет при добавлении нового файла вызывать первый скрипт и сразу готовить .torrent-файл для него.
?4. Как будем запускать это все?
?5. Трекер почему-то до сих пор лежит... Уже несколько дней ошибка...


Первый скрипт:

#!/bin/sh

anURL=http://tp3.rtcomm.ru
anPath=/tracker/tracker.php/announce
anPort=80
pieceLen=1048576

torrentsDir=./Torrents/

if [ $# -eq 0 ]
then
echo -e "Usage: ./create.sh <input file>\n"
return 0
fi

srcFile=`basename ${1}`
comText=http://filmiki.arjlover.net/info/${srcFile}.html

tFile=${torrentsDir}${srcFile}.torrent

createtorrent -a $anURL -P $anPath -p $anPort -l $pieceLen -c "$comText" ${1} $tFile
Ответить с цитированием
  #189  
Старый 22.02.2008, 14:41
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Скрипты:

Скрипты для запуска createtorrent.
В них нужно прописать/настроить папки для работы, маски файлов, строки комментариев для каждого архива (multiki, filmiki и т.д.) и можно запускать.
Только, конечно же, нужно установить пропатченную версию createtorrent.
Файлы прикладываю (расширение .txt сделал чтобы загрузить файлы на форум):
1. createTF - создает .torrent-файлы запуская createtorrent с нужными параметрами для каждого файла, указанного в его коммандной строке. Пример:

createTF /FILMS/Film1.avi /NEW_FILMS/Film3.avi

2. checkTF - создает и выводит на консоль список файлов архива для которых нет соответствующего .torrent-файла, запускается без параметров.

Соединяем их вместе:

checkTF |xargs createTF

через много часов получаем кучу .torrent-файлов.
Вложения
Тип файла: txt createTF.txt (552 байт, 4 просмотров)
Тип файла: txt checkTF.txt (235 байт, 5 просмотров)
Ответить с цитированием
  #190  
Старый 23.02.2008, 00:06
Аватар для mno
Senior Member
 
Регистрация: 25.01.2008
Адрес: France Париж
Пол: Male
Сообщений: 103
Отправить сообщение для mno с помощью ICQ
Всем привет. После долгого отпуска, мы только что с ArjLoverом запустили тест торрент. Проблеммы с "ципленком" из-за меня, я там еще учился с этой шткуой работать. Я завтра зайду и все тут детально прочитаю, что пропустил. А потом напишу мои комменты.
Ответить с цитированием
  #191  
Старый 23.02.2008, 00:29
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,886
Отправить сообщение для ArjLover с помощью ICQ
Алексей, попробуй поставить на фильмиках это чудо патченное и сделать один торент, потом вместе с mno попробуйте его скормить вручную трекеру - если он его опознает как валидный - будем дальше пилить, чтобы напрямую в базу его запихивать. Отследить что вставляет в базу админка - совсем несложно. База простенькая совсем.
Кстати а этот хэш - это опять какой-то стандартный md4/5 или что-то свое?
Ответить с цитированием
  #192  
Старый 23.02.2008, 01:38
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
да поставить не проблема, но как я на него зайду...

Хэш, в битторренте, это sha1 хэш info-секции .torrent-файла - .torrent-файл разбирается и из него выделяется определенный кусок информации, который затем прогоняют чере sha1...
Так что рассчитать этот самый sha1 это еще одна задача, которую нужно решить при добавлении торрента вручную на трекер.
Ответить с цитированием
  #193  
Старый 23.02.2008, 13:24
Аватар для mno
Senior Member
 
Регистрация: 25.01.2008
Адрес: France Париж
Пол: Male
Сообщений: 103
Отправить сообщение для mno с помощью ICQ
Для того, что-бы вставить торрент в базу данных, нужно сделать следующие:
1. Записать его в таблицу torrents.
2. Сгенерировать две таблици x<HASH> и y<HASH>
3. Записать инфо про торрент в namemap

Для этих операция, нам нужно знать его хеш.

Есть еще один подход: сделать POST его через админ интерфейс используя curl. Этип путем проще сделать все записи, и он сам подсчитает хеш и так далее, создат нужные таблици и тд. Если честно, то этот подход мне больше нравится...
Ответить с цитированием
  #194  
Старый 23.02.2008, 14:12
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
mno, я уже говорил что если кто-то сможет сделать загрузку через "родной" для трекера интерфейс - это будет очень хорошо, по-этому если вы можете это сделать - давай-те будем пробовать! Но, к сожалению, я вам здесь помочь не смогу - не знаком с этими способами...

P.S. Вы, как я помню, согласились дать мне доступ на чтение к базе трекера. Для вашего способа с cURL это уже не актуально, но мне бы все таки хотелось посмотреть на базу трекера, для общего развития, так сказать.

Последний раз редактировалось AlekseyS, 23.02.2008 в 14:14.
Ответить с цитированием
  #195  
Старый 23.02.2008, 16:24
Аватар для mno
Senior Member
 
Регистрация: 25.01.2008
Адрес: France Париж
Пол: Male
Сообщений: 103
Отправить сообщение для mno с помощью ICQ
AlekseyS, я вам послал логин приватм. Как я описал выше, треккер создает 2 таблички для гаждого торрента, где хранит инфо каждого спец. для каждого. Я бы это делал через одну страницу, но они решили сделать иначе.

Я думаю что через cURL ложить торренты будет проще всего. Я еще не уверен, если проще будет делать это через ПХП (вряд-ли) или на прямую через консоль (думаю так будет проще). Скрипты написать я без проблем. Когда вы сможете сгененировать один .торрент файл и положить его на сид на сервере, пришлите мне его через форум, я его вручную добавлю в треккер. Тогда, мы сможем потестировать настоящие настройки как они будут на сервере.

Вы решили пользоваться какой программой? mlDoney или rTorrent? Мне rTorrent очень нравится.
Ответить с цитированием
  #196  
Старый 24.02.2008, 00:25
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
mno, спасибо, я получил логин.
Если можете сделать через cURL, то это самое лучшее, наверное. Так что давай-те пробовать.
Я рад бы сгенерировать .torrent-файлы, сколько надо, но вот проблема, которую мне не преодолеть: у меня нет доступа к серверам, я не понял почему ArjLover считает что у меня есть рут от фильмиков, у меня его не было никогда и сейчас, как я понимаю, тоже нет...
По-этому я бы сделал, но доступа к серверам у меня нет и не будет.

Насчет программы, как я понял, вопрос об установке rTorrent пока не возник, но и не снят, так что начнем, как мне видиться, с mlDonkey - он уже стоит на машинах и добавить в него раздачи можно буквально за 5 минут, а дальше уже нужно будет смотреть что и как пойдет. Хотя я не уверен в том что mlDonkey потянет такую нагрузку, но пока не проверим, не сможем понять...

mno, интересная вещь происходит у меня:
в моем uTorrent до сих пор стоит раздача "alenkin.cyplenok.avi" и трекер без проблем на нее отвечает, то-есть получается что она все еще у него в базе, об этом говорят и таблица в базе, но в списке на странице трекера его нет. Как я понимаю очистка удаленных торрентов производиться какой-то обслуживающей процедурой трекера? А так достаточно странно выглядит...

Последний раз редактировалось AlekseyS, 24.02.2008 в 02:05.
Ответить с цитированием
  #197  
Старый 24.02.2008, 13:33
Аватар для mno
Senior Member
 
Регистрация: 25.01.2008
Адрес: France Париж
Пол: Male
Сообщений: 103
Отправить сообщение для mno с помощью ICQ
Тогда ждем доступа к filmikam
Я с cURL по работаю, это впринципе не сложно. Я его раньше часто использовал, но не на прямую, а через PHP.

По поводу того цепленка -- там такая штука вышла. Я удалил частично таблици для него через дбадмин в треккере, и треккер на нем загнулся. И хорошо загнулся. Я потом вынужден был его тчательно почистить. И таким образом он пропал, но у вас он остался. И когда вы потом след. раз подключились, вы выложили .торрент файл на треккер в очередной раз. Я еще ни разу не мог сделать так, что-бы таким образом закачать торрент файл правильно на трекер, что-то всегда не срабатывает. Просто некоторая информация наверное не вводиться правильно в БД. Но аплоад функции я уже отключил, так что больше на треккер через торрент-программы выкладывать торренты нельзя
Ответить с цитированием
  #198  
Старый 24.02.2008, 15:36
Аватар для mno
Senior Member
 
Регистрация: 25.01.2008
Адрес: France Париж
Пол: Male
Сообщений: 103
Отправить сообщение для mno с помощью ICQ
Одно "но" что я заметил когда проходил по скриптах:
Вы используете только имя фильма в торренте. Если так, то сид должен будет запущен с директорнии где находятся файлы, или ему должен будет указан путь где-то, где искать файлы. Может путь нужно будет записывать полностью, со всеми директориями?
Еще, думаю что стоит написать скрипт, который возьмет имя директории и для каждого файла там запустит скрипт который генерирует торренты. Думаю для начала, это будет удобно.
Ответить с цитированием
  #199  
Старый 24.02.2008, 16:18
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
mno, если я правильно понимаю, то указывать полный путь нельзя:
При открытии .torrent-файла в программе, к примеру, uTorrent она берет путь к файлу и создает такую же структуру в папке по умолчанию или в указанной при добавлении папки - представляете что она будет делать если там будет абсолютный путь из никсов? К тому же, я честно и не уверен что это можно сделать будет в режиме создания .torrent-файла для одного файла. В таком .torrent-файле даже структура info-секции иная, расчитанная только на имя файла.

Так как мы с вами, mno, ни как не можем учавствовать в процессе создания .torrent-файлов на серверах архива, я, для тестирования трекера, сделал следующее:
1. Взял 3 мультика, которые я точно качал с архива и под своей freebsd 5.4 с createtorrent 1.1.4 запустил создание .torrent-файлов при помощи моих скриптов. Единственное что я поменял в скриптах - размер "куска" на, использованный вами ранее, 512К - файлы больно маленькие, хотя здесь все таки нужно будет еще подумать...
2. Добавил созданные .torrent-файлы в 2 своих клиента:
--- uTorrent 1.6
--- mlDonkey 2.9.3
и начал сидировать.

Все 3 .torrent-файла нормально загрузились в оба клиента и оба клиента встали на сидирование. uTorrent с открытым портом для входящих подключений и с DHT, mlDonkey с закрытым портом.

Я прикладываю все 3 .torrent-файла чтобы вы могли добавить их на трекер вручную и проверить как он их загрузит.

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

Так же можно выложить эти раздачи в ветку с первое тестовой раздачей, для проверки на большЕй нагрузке.
Конечно же, пока загрузка будет идти только с моей машины, но запустить раздачу с архива можно будет просто положив эти 3 файла в папку mlDonkey/torrents/seeded
После этого нужно будет или дать в консоли/GUI комманду reshare_torrents или же подождать немного и mlDonkey сам их увидит и начнет сидировать.
Вложения
Тип файла: zip test_torrents.zip (14.7 Кб, 2 просмотров)

Последний раз редактировалось AlekseyS, 24.02.2008 в 16:21.
Ответить с цитированием
  #200  
Старый 24.02.2008, 21:29
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,886
Отправить сообщение для ArjLover с помощью ICQ
уф, как в осле все просто - хэш вот и все документы.
что есть торрент-файл? Какие принципиально важные данные в нем содержится, вот я сделал парочку и смотрю в них... я правильно понимаю что даже если мне друг принесет на дискетке этот файл то моему юторенту больше ничего и не надо? в торент-файле содержится много? хэша, адрес трекера и его урл. какие-то еще комменты наверно, но принципиально важны первые три вещи? И все начинается с торент-файла неважно где я его возьму?
Дальше мой юторент бежит по урлу и трекер ему говорит по каким айпям я могу найти нужный мне файл?
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 20:28.


vBulletin® Version 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot