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

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

Ответ
 
Опции темы Опции просмотра
  #281  
Старый 04.03.2008, 14:33
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Shurik, понять код XBTT мне слабо - он написан в лучших традициях С++, так что для меня он просто нечитаем... :-(
Если чего найдете в коде - отпишите здесь, все что я написал выше это проверенное тестами поведение стандартно собранного xbtt, возможно нужно указать какие-то опции при сборке...
Ответить с цитированием
  #282  
Старый 04.03.2008, 21:09
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,870
Отправить сообщение для ArjLover с помощью ICQ
Так, может нам где-нибудь на веблансе объявить задачу с ТЗ и попросить спецов поднять под ключ? Там это как-то совсем недорого стоило если мне не изменяет память - в пределах 20 долларов для трекера. Только я не готов формулировать задачу и принимать работу Кстати там бывают задачи просто запрос на консультацию за 5-10 долларов - тоже может имеет смысл...
Ответить с цитированием
  #283  
Старый 04.03.2008, 22:10
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Ну одним из плюсов xbt является то, что он на самом деле простой Почти весь трекер сосредоточен в server.cpp. Может, там и менять ничего особо не нужно - тогда платить даже 5 долларов будет жирно (а ведь ещё наверняка попытаются вздёрнуть цену).

В общем, посмотрю и скажу.
Ответить с цитированием
  #284  
Старый 05.03.2008, 00:51
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Патч. Работоспособность не проверял. По сути ключом в Cserver::t_file::peers теперь является не m_ipa, а pair<m_ipa,m_port>. Явное обращение по ключу встречается только три раза.

Код:
Index: server.cpp
===================================================================
--- server.cpp  (revision 1882)
+++ server.cpp  (working copy)
@@ -271,7 +271,7 @@
                file.ctime = time();
        if (v.m_left && user && user->wait_time && file.ctime + user->wait_time > time())
                return bts_wait_time;
-       t_peers::key_type peer_key = v.m_ipa;
+       t_peers::key_type peer_key = std::make_pair(v.m_ipa, v.m_port);
        t_peers::iterator i = file.peers.find(peer_key);
        if (i != file.peers.end())
        {
@@ -350,7 +350,7 @@
                if (!ti.m_left && !i->second.left)
                        continue;
                boost::array<char, 6> v;
-               memcpy(&v.front(), &i->first, 4);
+               memcpy(&v.front(), &i->first.first, 4);
                memcpy(&v.front() + 4, &i->second.port, 2);
                candidates.push_back(v);
        }
@@ -787,7 +787,7 @@
        std::string page;
        for (t_peers::const_iterator i = peers.begin(); i != peers.end(); i++)
        {
-               page += "<tr><td>" + Csocket::inet_ntoa(i->first)
+               page += "<tr><td>" + Csocket::inet_ntoa(i->first.first)
                        + "<td align=right>" + n(ntohs(i->second.port))
                        + "<td align=right>" + n(i->second.left)
                        + "<td align=right>" + n(::time(NULL) - i->second.mtime)
Index: server.h
===================================================================
--- server.h    (revision 1882)
+++ server.h    (working copy)
@@ -32,7 +32,7 @@
                boost::array<char, 20> peer_id;
        };

-       typedef std::map<int, t_peer> t_peers;
+       typedef std::map<std::pair<int, int>, t_peer> t_peers;

        struct t_deny_from_host
        {
Ответить с цитированием
  #285  
Старый 05.03.2008, 11:33
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
С патчем будем ждать mno, я в линуксе совсем не ориентируюсь (я там даже cvs найти не смог)... :-(

А пока о том что мне удалось сделать на текущий момент:
1. На torrent.arjlover.net:2710 отвечает, временно, а может нет, там видно будет, opentracker. Его использует, к примеру, ThePirateBay.
Пока он обслуживает все файлы "фильмиков".
Других файлов у меня просто нет в доступе... :-(

2. На "фильмиках" поднят торрент-клиент btpd. Он сидирует все файлы "фильмиков".
Под нагрузкой я его проверить не могу, у меня канал всего 1Мбит, но скачивание файла:
- uTorrent = 30-40 Кб/с
- mlDonkey = 40-45 Кб/с
по данным btpd на сервере:
- upload = 70-80 Кб/с
- нагрузка (top) ~ 0

1 файл и 70-80Кб для сервера - смешная нагрузка, но больше мой канал выдать не может... :-(
Ответить с цитированием
  #286  
Старый 05.03.2008, 14:13
Аватар для ArjLover
Администратор
 
Регистрация: 25.11.2006
Адрес: Czech Republic Прага
Пол: Male
Сообщений: 2,870
Отправить сообщение для ArjLover с помощью ICQ
Слушай, как я все вижу - по-моему у тебя получилось! На трекер не смотрел, хотелось бы услышать его возможности по нашим двум основным проблемам - где хранит хэши и как добавлять на автомате?
По торренту - ну уже счастье что его не видно в топе вообще, сейчас начал качать два файла - до 40 килов отдает, в топе по прежнему не видно, ну сейчас фильмикам плохо на одной сетевухе. Вообще скачивание начинается моментально - вся цепочка отрабатывает моментально.
Торренты мультов лежат там же - в моей дире. Вообще если возражений нет, то я бы выложил всю директорию с торрентами фильмиков в открытый доступ и новостью на главной странице призвал бы к массовому тестированию. Или не будем пока?

P.S. Скорость 70-80 - это нормально, я вообще планировал отдать один мегабит под торрент, т.е. 100 килов. Ну может для начала можно больше...
Ответить с цитированием
  #287  
Старый 05.03.2008, 14:35
Аватар для Madcap
Junior Member
 
Регистрация: 09.03.2007
Адрес: Russian Federation Московская обл.
Пол: Male
Сообщений: 4
Отправить сообщение для Madcap с помощью ICQ
Да, нам нужен торрент-трекер. Это снижение нагрузки на основной сервер, увеличение скорости скачивания, увеличение аудитории. Я скачал Каспера и
за три дня раздал на 2,05 гБ. А вопросы регистарции, лимиты скорости, прочие
рейтинги - это технические вопросы и их можно будет решать в процессе, по обстановке.
Думаю речь не идёт как у других, или пристегнуться к другим. Вязть у других
лучшее и сделать хорошо для себя!
Ответить с цитированием
  #288  
Старый 05.03.2008, 15:08
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
ArjLover, массовое тестирование можно начинать без особых проблем. Как раз и посмотрим как клиент держит нагрузку.
Я правда думал о том что можно уже перегенерить info-странички и на главной попросить по возможности качать через торрент на тестовый период, но можно и выложить всю диру. Хотя так много накачают того что не нужно было, чтобы потестить, так сказать, а если добавить в info то будут брать только нужное и только кому нужно. Наверное...
Ограничение на канал ставится в настройках клиента -поставить 1М сейчас или после тестирования?

По трекеру:
1. Хранит хэши в простом текстовом файле, то-есть список хэщей, каждый с новой строки.
2. Добавлять и удалять просто - текстовый файл.

ToDo:
1. Я пока не готов предоставить полностью выверенную схему работы торрент-части архива, так как не до конца еще протестировал разные комбинации - по трекеру и клиенту почти нет документации, по-этому все приходиться выуживать из исходного кода, а это достаточно длительный процесс (код на Си).
2. Пока не смог подсунуть клиенту торренты без перепроверки всего содержимого, а значит время начального запуска клиента на серверах будет измеряться десятками часов... :-( Там простая структура, но вот "метка" для торрента создается из внутренних структур клиента и воссоздать ее я пока не смог... К сожалению, исходя из свободного времени и сложности задачи - мне кажется что быстрее будет добавить с пересчетом чем ждать пока я разберусь... :-(
Ответить с цитированием
  #289  
Старый 05.03.2008, 15:38
Аватар для Bigfoot
Junior Member
 
Регистрация: 13.02.2008
Адрес: Russian Federation Ульяновск, Россия
Пол: Male
Сообщений: 18
Lightbulb

Спасибо вам, ребята, за ваши старания, за работу. Благодаря вашему архиву я исполнил давнишнюю мечту детства — посмотрел, наконец-то, полностью некоторые фильмы, которые помнил только отрывочно...

Но может, ну его нафиг, этот трекер? Честно, мне вас жаль. Вы тут столько мучаетесь с конфигами, со скриптами... это всё из-за того, что серверная часть BitTorrent-а действительно сложная.

Может, проще и эффективнее будет всё-таки задействовать eDonkey?
Всего делов-то — запустить eserver (lugdunum) и mlnet. Обе проги маленькие, автономные, не надо никаких SQL-баз, никаких дополнительных файлов они не создают, ссылки на страницах уже есть. Всё гораздо проще!

Я пользовался обоими протоколами для скачивания, и мне лично eDonkey (eMule (MorphXT)) нравится больше. Интереснее. Больше свободы. И честнее — отношения между участниками сети устанавливаются как бы двусторонние, это реально P2P. А в случае BitTorrent всё зависит от трекера. Нет трекера — нет закачки. Нагрузка на сервер опять же, на ваш...

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

С наилучшими пожеланиями,
Bigfoot

P.S. Мой MorphXT раздал уже 40 ГБ.

P.P.S. Могу написать руководство по установке и настройке клиента ED2K для чайников (греющихся на вашем архиве
Ответить с цитированием
  #290  
Старый 05.03.2008, 21:39
Аватар для Photographer
Супермодератор
 
Регистрация: 10.12.2006
Canada
Сообщений: 1,624
Цитата:
Сообщение от Bigfoot
...Могу написать руководство по установке и настройке клиента ED2K для чайников (греющихся на вашем архиве
Было-бы очень здорово. Если не передумали - напишите в "личку"
Ответить с цитированием
  #291  
Старый 05.03.2008, 22:20
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Цитата:
Сообщение от Bigfoot Посмотреть сообщение
Всего делов-то — запустить eserver (lugdunum) и mlnet.
Где сервер - не важно. У себя - толку мало. Он сожрёт очень много ресурсов.
Ответить с цитированием
  #292  
Старый 05.03.2008, 22:39
Аватар для Bigfoot
Junior Member
 
Регистрация: 13.02.2008
Адрес: Russian Federation Ульяновск, Россия
Пол: Male
Сообщений: 18
Ну, можно в настройках указать, что это community server, и указать, что подключаться могут только те, у кого в имени пользователя написано, например, [Arj] или еще какая-нибудь специфическая строка.

Когда все друзья архива будут подключены к одному и тому же серверу — это ж хорошо, источники лучше находится будут
Ответить с цитированием
  #293  
Старый 05.03.2008, 23:45
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Нет, ошибаешься. Ты не представляешь себе, какой шквал поисковых запросов обрушится на сервер. Я ставил - я знаю. Для современных ed2k-клиентов поиск серверов проблему вообще не представляет, тем более что в вайтлистах их осталось очень мало.
Ответить с цитированием
  #294  
Старый 06.03.2008, 00:04
Аватар для Bigfoot
Junior Member
 
Регистрация: 13.02.2008
Адрес: Russian Federation Ульяновск, Россия
Пол: Male
Сообщений: 18
Вот видите, лишние запросы вам не нравятся (и это понятно) — а сколько будет запросов к трекеру? Когда все файлы будут обторренчены?

Предлагаю закрыть доступ к файлам архива по HTTP и оставить только ED2K-сервер и раздающие клиенты

Кстати, они уже были, а потом куда-то делись, и люди в недоумении.

Последний раз редактировалось Bigfoot, 06.03.2008 в 00:48.
Ответить с цитированием
  #295  
Старый 06.03.2008, 00:06
Супермодератор
 
Регистрация: 10.12.2006
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 4,948
Bigfoot, устно предупреждаю, что на дальнейший оффтопик последуют административные меры.
Ответить с цитированием
  #296  
Старый 06.03.2008, 00:58
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Bigfoot, нагрузка на трекер конкретна - только интересующиеся контентом сайта. Нагрузка на ed2k-сервер - все кому не лень.

При желании, кстати, можно сократить нагрузку на трекер по одному пиру от каждой раздачи, зарезав коннекты к нему серверному клиенту и отпатчив трекер так, чтобы он выставлял пира принудительно на все раздачи.
Ответить с цитированием
  #297  
Старый 07.03.2008, 02:45
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Shurik, сиды для разных торрентов разные, так что нужно будет патчить хитро... И резать подключение тоже не хорошо - клиет будет сильно виснуть на тайм-аутах...
По-моему, если возникнет такая потребность, лучше будет сделать следующее:
1. Загрузить в торрент-клиенты архивов специальный набор .torrent-файлов. В этих файлах будет удален анонс-адрес трекера, то-есть они будут, как бы безтрекерными.
2. Написать скрипт который будет иногда проходиться по анонс-адресу трекера и добавлять в список пиров архивные клиенты. Так как анонс это простой GET, то сделать такой скрипт просто. Нужен будет netcat и список хэшей с каждого архива.

Хотя я сильно сомневаюсь что возникнет необходимость "помогать" трекеру такими методами...
Ответить с цитированием
  #298  
Старый 07.03.2008, 12:24
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Как раз проходить по анонсу в цикле нет смысла, если клиент это лучше сделает.
Ответить с цитированием
  #299  
Старый 07.03.2008, 14:44
Senior Member
 
Регистрация: 10.02.2008
Адрес: Russian Federation Москва
Пол: Male
Сообщений: 111
Отправить сообщение для AlekseyS с помощью ICQ Отправить сообщение для AlekseyS с помощью Skype™
Клиент это сделает хорошо, это понятно, только вот делать это он будет по интервалу, полученному от трекера (30-60 минут) и по сети.
А в моем варианте можно пройтись анонсом после рестарта трекера один раз и далее по необходимости, а не по расписанию. К тому же делать это может сервер трекера, который по определению менее нагруженный чем сервера архивов и делать он это будет локально у себя.
Ответить с цитированием
  #300  
Старый 07.03.2008, 20:37
Member
 
Регистрация: 19.12.2006
Пол: Male
Сообщений: 74
Если клиент архива не будет себя анонсировать, его вытрет по таймауту. Так что разницы нет - обновлять клиентом или как-то специально. Объём данных, передаваемых при анонсе, совсем невелик - основную проблему представляет как раз обработка их, и тут php-трекеры испытывают серьёзные проблемы - они вынуждены подгружать из базы список пиров при каждом обращении и обновлять его при этом. Что приводит к блокировкам и тормозам.
Ответить с цитированием
Ответ


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

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


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