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

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

MyDC.ru _ Всё о Direct Connect _ Скачивание файл-листа, nmdc

Автор: HackFresse 23.10.2009, 16:45

А какая последовательность команд/действий при скачивании файл-листа (и файла вообще)? Напишите, пожалуйста/подскажите, где расписано..

Я нашел в теме выше, что

Цитата
Для извлечения файл-листа служит команда:
$Get MyList.DcLst$1|
,
однако не знаю, как её использовать..

Автор: Setuper 23.10.2009, 17:10

Последовательность такая:

Активное соединение:

Код
Клиент1 -> Хаб: $ConnectToMe Ник2 ip1:port1|
Хаб -> Клиент2: $ConnectToMe Ник2 ip1:port1|
Клиент2 -> Клиент1: $MyNick Ник2|
Клиент1 -> Клиент2: $MyNick Ник1|$Lock ...|
Клиент2 -> Клиент1: $Lock ...|
Клиент1 -> Клиент2: $Supports ...|$Direction Download Number1|$Key ...|
Клиент2 -> Клиент1: $Supports ...|$Direction Upload Number2|$Key ...|
Клиент1 -> Клиент2: $ADCGET ...|
Клиент2 -> Клиент1: $ADCSND ...|


Пассивное соединение:
Код
Клиент1 -> Хаб: $RevConnectToMe Ник1 Ник2|
Хаб -> Клиент2: $RevConnectToMe Ник1 Ник2|
Клиент2 -> Хаб: $ConnectToMe Ник1 ip2:port2|
Хаб -> Клиент1: $ConnectToMe Ник1 ip2:port2|
Клиент1 -> Клиент2: $MyNick Ник1|
Клиент2 -> Клиент1: $MyNick Ник2|$Lock ...|
Клиент1 -> Клиент2: $Lock ...|
Клиент2 -> Клиент1: $Supports ...|$Direction Download Number2|$Key ...|
Клиент1 -> Клиент2: $Supports ...|$Direction Upload Number1|$Key ...|$ADCGET ...|
Клиент2 -> Клиент1: $ADCSND ...|


Номерами помечены параметры, которые относятся к соответствующим клиентам.
Вместо команд $ADCGET и $ADCSND могут использоваться команды $Get и $Send. Всё зависит от поддерживаемых клиентами характеристик, которыми они обмениваются при помощи команды $Supports.

Подробнее о каждой команде читай тут: http://mydc.ru/index.html?showtopic=915

Автор: HackFresse 23.10.2009, 17:27

Спасибо, буду разбираться big_smile.gif

вот еще нашел:

http://mydc.ru/r/?http://www.teamfair.info/wiki/index.php?title=Main_Page
http://mydc.ru/r/?http://www.teamfair.info/DC-Protocol.htm

Автор: Atlant 26.10.2010, 11:59

Прошу прощения, а в первом примере вызовы $Get и $Send местами не перепутаны? А то получается, что скачивающий отправляет $Send, а отдающий - $Get ?

Ну и заодно, чтобы темы не плодить. Хабу PtokaX Нельзя отправлять запрос $UserIP чтоль? Он почему-то сразу отключает моего клиента после попытки отправить такой запрос. Хотя у клиента права администратора хаба...

Автор: Atlant 1.11.2010, 19:42

Никто не подскажет ? :(

Автор: Setuper 1.11.2010, 21:12

Да, перепутаны были. Исправил.

Теперь по поводу команды $UserIP. В ptokax достаточно вещей, которые не работают или работают только лишь на половину по протоколу. Поэтому удивляться не стоит.

Автор: Atlant 2.11.2010, 7:42

Ну, то есть, это нормально? big_smile.gif Тогда, соответственно, другой вопрос - есть ли шанс на хабе PtokaX узнать IP пользователя в рамках протокола при условии наличия оповских прав и неиспользования специальных скриптов для этого?

Автор: Nickolya 2.11.2010, 8:26

Тебе надо настроить профиль, под которым ты заходишь, в хабе так, чтобы получать айпи всех юзеров, т.е. в менеджере профилей поставить галку на:

Цитата
Посылать IP всех юзеров

Автор: Atlant 2.11.2010, 9:39

Имеется в виду не только мой хаб. Клиент мультихабовый и я не имею возможности повлиять на настройки всех хабов. При включении этой настройки, как я понимаю, мне просто тупо на порт будут валиться ИП-шники пользователей, а не по запросу?

Автор: Setuper 2.11.2010, 10:04

Именно так.

Однако, в любом случае не привилегированные пользователи не имеют возможности получать при помощи команды $UserIP ip адреса пользователей хаба. Команда $UserIP как правило работает на благо операторов.

Автор: Atlant 2.11.2010, 11:52

Ясно, спасибо. Пользователь-то привилегированный, но как-то не улыбается необходимость сохранять все ИП-шники вместо простого получения их по запросу, как от Верлихаба :(

Автор: Setuper 2.11.2010, 14:17

Это в какой же версии верлихаба возможно такое действие?

Автор: Atlant 2.11.2010, 14:44

При запросе UserIP, отправленном верлихабу, он возвращает значение этого самого ИП.

Автор: Setuper 2.11.2010, 21:02

Не верю!

Что именно отсылаешь верлихабу, и что принимаешь от верлихаба?

Может ты отправляешь не $UserIP, а $WhoIP ?

Автор: Atlant 3.11.2010, 7:04

Да нет, Отправлял к примеру $UserIP UserName приходит $UserIP UserName IP

Автор: Setuper 3.11.2010, 8:05

Это очень странно, так как в исходниках нету такого функционала. Может на хабе, на котором это работает стоит какой-то плагин или lua скрипт, который позволяет такое делать.

Автор: Atlant 3.11.2010, 12:48

Хм. Похоже на то. Так получается, что эту часть протокола ни один хаб толком не поддерживает? Печально.