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

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

MyDC.ru _ Всё о Direct Connect _ Как получить все файл-листы пользователей?

Автор: AHbKA 6.8.2009, 13:01

Всем доброго времени суток!
Делаю в локальной сети каталог фильмов с магнет-ссылками на них.
Ссылки добавляются или вручную, или загрузкой файл-листа какого-нибудь юзера.
Подскажите, как лучше всего сделать автоматический переодический сбор файл-листов со всех юзеров?
Сервер с каталогом на freebsd.

Автор: ANDRBEST 20.8.2011, 0:04

кликнуть мышью на список юзеров нажать ctrl+a и скачать списоки файлов всех юзеров big_smile1.gif

Автор: Littlemuk 20.8.2011, 6:50

На просторах рунета попадалась программулинка MagnetoSid от создателей медиа-каталога Magneto. Может, кстати, лучше на Магнето все сделать?
Мда, на дату первого поста я и не посмотрел big_smile1.gif

Автор: HackFresse 22.8.2011, 12:26

Тем не менее, вопрос до сих пор остаётся актуальным (про сбор файл-листов). Мне Magneto не подходит по ряду причин, и идея у меня другая...
Прогу эту найти "сходу" не получается, что именно и как именно она делает?

CTRL+A с запросом списка файлов - вариант только для небольших хабов (от кучи открытых файл-листов все DC-клиенты умирают, разница только в количестве открытых списков файлов), да и проблема с частыми $ConnectToMe / $RevConnectToMe.

Больше всех подошел perl-скрипт от pro, но тоже есть проблемки и нюансы..

Автор: Littlemuk 22.8.2011, 16:27

Цитата
что именно и как именно она делает?

Создает бота на хабе. Тот сканирует шары пользователей и сравнивает наличие файлов в шаре со ссылками на эти файлы на магнето. Если хаб большой, то похоже тоже не Ваш вариант. Разработчик этой программулины, по-моему, тот же Atlantis.

Автор: PRIZrak 22.8.2011, 20:55

А ссылку на этот чудо MagnetoSid можно получить?

Автор: Enyby 18.1.2012, 14:29

Я делал LUA скрипт для грея, он скачивал файл листы и складывал их в папочку. Ну и тупил безбожно. Далее там на PHP все работало с фалами на диске, но это не суть важно, главное что скачать греем можно.

Автор: HackFresse 19.1.2012, 19:24

Проблема в том, файл-лист после скачивания открывается, чем и отъедает ресурсы компа. как отключить открытие файл-листа, я не нашел (только открывать в фоновой или активной вкладке ), делаю периодически "закрыть все списки файлов".

Есть надежда на автоматизацию этого дела через eiskaltdcpp-daemon (рулить через XML/JSON-RPC), но нужные команды получения списка пользователей хаба и скачивания файл-листа выбранного юзера пока(?) недоступны (http://code.google.com/p/eiskaltdc/w/list)

Автор: Enyby 19.1.2012, 20:53

В грее он не открывается после скачивания.

Автор: Master255 13.1.2015, 0:39

Цитата(HackFresse @ 19.1.2012, 19:24) *
Проблема в том, файл-лист после скачивания открывается, чем и отъедает ресурсы компа. как отключить открытие файл-листа, я не нашел (только открывать в фоновой или активной вкладке ), делаю периодически "закрыть все списки файлов".

Есть надежда на автоматизацию этого дела через eiskaltdcpp-daemon (рулить через XML/JSON-RPC), но нужные команды получения списка пользователей хаба и скачивания файл-листа выбранного юзера пока(?) недоступны (http://code.google.com/p/eiskaltdc/w/list)

вообще-то с любым хабом можно работать по telnet. Т.е. любую задачу можно автоматизировать через cmd.
Другое дело как в CMD автоматизировать подсчёт key или как записывать входящий поток в файл...и можно ли это вообще я не знаю...
Но задача скачать файл листы всех пользователей хаба решается одним фором и парой команд внутри...на любом языке программирования умеющим работать с сокетами и писать в файлы.
Вот я тут пробовал что-то http://mydc.ru/r/?http://toster.ru/q/162311

Автор: Артём 13.1.2015, 21:29

не прошло и 3 года...

Автор: HackFresse 13.1.2015, 22:01

Цитата(Master255 @ 13.1.2015, 0:39) *
Но задача скачать файл листы всех пользователей хаба решается одним фором и парой команд внутри...на любом языке программирования умеющим работать с сокетами и писать в файлы.

Не решается.

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

Скачать файл у юзера со свободными ресурсами (если он готов отдавать прям сейчас) - можно, но если удалённый клиент говорит "приходи через 2 часа" -- придётся подождать и повторить через 2 часа.

Если файл начал качаться, а потом какой-то обрыв (или юзер вышел с хаба) - придётся перекачивать (или обрывать закачку). Или ждать, пока юзер появится. И посылать запросы снова и снова..

Обратиться к дц-клиенту напрямую нельзя, нужно обязательно отправить запрос через хаб, на котором этот юзер сидит. А это сразу куча ограничений со стороны хаба, типа частоты запросов на $ConnectToMe / $RevConnectToMe.


А учитывать, что уже скачалось / качается сейчас / нужно качать / качать уже не нужно / нужно перекачать / скачать не получится / скачивать не получается -- это никак не "решается одним фором и парой команд внутри..."



Автор: Master255 17.1.2015, 19:16

Цитата(HackFresse @ 13.1.2015, 22:01) *
Не решается.

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

Скачать файл у юзера со свободными ресурсами (если он готов отдавать прям сейчас) - можно, но если удалённый клиент говорит "приходи через 2 часа" -- придётся подождать и повторить через 2 часа.

Если файл начал качаться, а потом какой-то обрыв (или юзер вышел с хаба) - придётся перекачивать (или обрывать закачку). Или ждать, пока юзер появится. И посылать запросы снова и снова..

Обратиться к дц-клиенту напрямую нельзя, нужно обязательно отправить запрос через хаб, на котором этот юзер сидит. А это сразу куча ограничений со стороны хаба, типа частоты запросов на $ConnectToMe / $RevConnectToMe.


А учитывать, что уже скачалось / качается сейчас / нужно качать / качать уже не нужно / нужно перекачать / скачать не получится / скачивать не получается -- это никак не "решается одним фором и парой команд внутри..."


Решается!
Просто в форе надо паузу вставить и если ты качаешь, то пользуйся белыми айпишниками. В чём проблема? Это же круто. Кстати не помню, но кажется можно как-то использовать no-ip dns имя если у тебя динамический ip.
Ну а если юзер пропал и не докачалось, то закачка должна обрываться...и начинаться закачка с нового пользователя. Причём недокаченный файл, если он не в архиве, то можно использовать...парсингом текста конечно, а не xml запросами.
Если бы мне платили бы за это деньги, то я такие задачи целый день бы решал с удовольствием))). А то приходится кодить какие-то сайты...не понятно кому и зачем...

Автор: alex82 18.1.2015, 1:12

Цитата(Master255 @ 17.1.2015, 18:16) *
Решается!
Просто в форе надо паузу вставить
А если слот освободится через 6 часов, то пауза и будет такая да?
Цитата
пользуйся белыми айпишниками. В чём проблема? Это же круто. Кстати не помню, но кажется можно как-то использовать no-ip dns имя если у тебя динамический ip.
Человек, называющий себя программистом, и пытающийся писать программы, работающие с сетью, не знает, чем отличается серый IP от динамического. Это выглядит странно after_boom.gif
Цитата
Если бы мне платили бы за это деньги, то я такие задачи целый день бы решал с удовольствием))). А то приходится кодить какие-то сайты...не понятно кому и зачем...
За такое решение таких задач деньги заплатит разве что лох.

Вам нужно умерить пафос, и учиться писать программы по-человечески, а иногда еще и прислушиваться к советам других, более опытных программистов, вместо того, чтобы молоть чушь на форумах. Если бы все поступали так же, то убогих, кое-как работающих программ было бы меньше.