DirectConnect RU

From MLDonkey
Jump to: navigation, search

Описание, настройка и история плагина Direct connect в MLdonkey




Direct connect это протокол обмена файлами зависимый от серверов (правильнее их будет назвать хабами) которые запускаются добровольцами. Таким образом вы расшариваете файлы (даёте в доступ) ваши файлы только тем пользователям которые подключены с вами на один хаб(сервер). Люди запускающие хаб(сервер) обычно ставят некоторые правила для тех кто может(и не может) подключаться к их хабу(как вариант - подключаться с ограничениями), например условием может быть определённое количество расшаренных файлов, количество включённых открытых слоты для подключений, ban(запрет, выкидывание) за некоторые материалы(обсуждения) например за детскую порнографию, рекламу(спам) и т.п. И это хорошо ибо такие действия избавляют от личеров(эгоистов, людей которые хотят качать и ничего не дают взамен, не шаря свои файлы).

Поддержка DC++ появилась в MLDonkey начиная с версии 2.8.7.

Contents

Возможности

Возможность Описание Поддержка
Сеть Direct Connect  ? 2.8.7
Протокол IPv6 Нет
Tiger Tree Hashing TTH Да
Протокол Advanced Direct Connect ADC Нет
XML hublists 3.0.2
Magnet-ссылка 3.0.3
Автоматическое перенаправление портов UPnP/NAT-PMP 3.0.6

Описание

Получить список доступных кнопок или команд можно командой dc в консоли, в том числе в вэб-интерфейсе.

Основные способы использования:

См. также

История

Ниже описан лог(журнал) IRC общения, что является первым шагом к созданию документации для этого модуля:
Апр 29 20:13:11 <Alffa>
Привет MLDonkey-еры (МЛданкейры - фанаты, и пользователи вообще MLdonkey)...
Апр 29 20:13:47 <Alffa>
я был удивлён тем что кто-то проявил интерес к поддержке DC++ в MLDonkey
Апр 29 20:15:07 <Alffa>
Я использую версию которую я разработал с начала этого года(прим.перев. речь о давнем достаточно годе, предположительно 2006-2007), но сейчас я оказался в сложной личной ситуации и не могу продолжать дальше заниматься этим :-(
Апр 29 20:18:31 <Alffa>
так вот, если кто желает получить исходный код, он есть в в версии 2.8.3 CVS(коллективной сборки) MLdonkey, но я не знал как его ещё по другому можно было передать.
Апр 29 20:20:08 <spiralvoice>
Alffa: создайте патч для CVS версии и пошлите его в Savannah(Прим. перев. - Саванна, GNU Savannah — площадка Фонда свободного программного обеспечения для хостинга и совместной разработки свободного ПО.): http://savannah.nongnu.org/patch/?group=mldonkey
Апр 29 20:20:52 <spiralvoice>
Alffa: я не могу гарантировать, что добавление в средство коллективной разработки (CVS) приведёт к обязательной дальнейшей разработке, но наличие исходного кода в Savannah("Саванне") откроет для этого благоприятную возможность. :-)
Апр 29 20:21:00 <Alffa>
Я нуждаюсь в непосредственной помощи так как я не помню, как использовать CVS(колл.средство разраб.) и как передать туда свой код
Апр 29 20:21:43 <Alffa>
Это работает вполне хорошо по моему мнению и моих нужд, но если кто-нибудь сможет сделать ещё больше и лучше, я буду только рад...
Апр 29 22:28:59 <Alffa>
Если при компиляции вы выбрали поддержку DC++(прим. переводчика, в готовых сборках, как правило DC++ надо включить), это работает в вэб интерфейсе, вызвать меню DC++ вы можете если введётся в консоли(в вэб-консоли) буквы "dc" и нажмёте кнопку "ОК"("ввод" в русской версии)...
Апр 29 22:32:53 <Alffa>
в файлах конфигурации(configs) много разных настроек... настройки хаб-листа, адресов и т.п.
Апр 29 22:35:36 <Alffa>
точнее в опциях, я имел в виду (прим.перев. если у вас включён и работает плагин DC++, то в каталоге MLdonkey должен быть файл direct_connect.ini)
Апр 29 22:39:29 <Alffa>
если у вас есть зарегестрированная учётная запись на хабах, вы можете задать пароль непосредственно в файле directconnect.ini
Апр 29 22:44:34 <spiralvoice>
Alffa: есть ли в твоём модуле ДЦ++ для MLDonkey отличия/недостатки возможностей сравнивая с официальными DC++ клиентами ?
Апр 29 22:45:06 <Alffa>
Я пытался сделать копию windows клиента DC++
Апр 29 22:48:41 <spiralvoice>
Alffa: твой код требует Bzip2 ?(прим. перев: это алгоритм сжатия, архиватор, с открытым исходным кодом, а так же библиотеки к нему)
Апр 29 22:48:48 <Alffa>
да
Апр 29 22:49:51 <spiralvoice>
Alffa: это обязательно для DC++ ? В программе MLDonkey bzip2 является опцией(на выбор), чтобы добавить код плагина ДЦ++ в основной код MLdonkey я должен сделать выбор, изменить твой код чтобы он не требовал обязательно использовать bzip2 или же добавить библиотеки архиватора bzip2 в обязательный зависимости для MLdonkey
Апр 29 22:50:28 <Alffa>
без bzip2 вы не сможете открыть хаблисты (прим.перев: список Хабов(серверов) к которым можно подключиться)
Апр 29 22:51:02 <Alffa>
вдобавок файллисты с шарами пользователей тоже запакованы в формате bzip2
Апр 29 22:54:13 <spiralvoice>
хорошо, тогда я изменю файл configure.ini(прим. перев. файл насройки для сборки\компиляции mldonkey при сборке из исходного кода) на отключение плагина dc++ если библиотеки bzip2 не были найдены
Апр 29 22:55:00 <spiralvoice>
Alffa: твой код dc++ имеет ограничение на размеры файла ? Ты загружал файлы больше 4GB им ?
Апр 29 22:57:06 <Alffa>
самое большее, что я заружал было меньше < 1G
Апр 29 22:58:03 <Alffa>
я не могу быть полностью уверян
Апр 29 22:58:31 <Alffa>
в тексте кода я не помню каких либо ограничений
Апр 29 23:00:13 <spiralvoice>
Alffa: содержит ли код хеширования поддержку больших файлов ? Is che3 the hash code of dc++?
Апр 29 23:00:37 <Alffa>
В DC++ есть пользователи которые расшаривают 1-5 Tbytes данных, в таких случаях файллист настолько большой, что приводит к заеданию вэб-интерфейса
Апр 29 23:17:15 <Alffa>
вы можете фильтровать список с помощью: dchublist show filteringword filteringword ...
Апр 30 00:27:07 <spiralvoice>
понятно. Я получил 2910-ть записей хабов
Апр 30 00:33:53 <spiralvoice>
я добавил несколько хабов, но они стоят в состоянии "ожидания"("Waiting")
Апр 30 21:57:13 <spiralvoice>
Alffa: у тебя есть утечки памяти в твоём патче "dc"?
Апр 30 21:57:56 <spiralvoice>
Alffa: Расшаренное - показывает в два раза больше, чем есть
Апр 30 21:59:40 <Alffa>
актуальных не замечал, в два раза больше показывает так как первое это глобальная шара, а второй лист это файлы зашаренные с помощью tigertree (прим.перев. TTH (Tiger Tree Hashing) один из типов хеша, используется в DC++ с версии 0.400.)
Апр 30 22:00:27 <spiralvoice>
Alffa: есть время когда списки не являются одинаковым деревом TTH(thLeafe)?
Апр 30 22:00:52 <spiralvoice>
Alffa: e2k шары показываются только один раз, пока хеш не известен, не показывается ссылка е2k
Апр 30 22:02:42 <Alffa>
процесс расшаривания весьма запутан... это была худшая часть кода
Апр 30 22:03:22 <spiralvoice>
тоже самое касается и e2k, я пробывал однажды выполнить сохранение всех значений отдачи , чтобы их можно было загрузить позже.
Апр 30 22:03:36 <spiralvoice>
я уже видел, ты создал новый файл *.ini для шар(расшаренных файлов) ;-)
Апр 30 22:03:44 <Alffa>
Я решил сделать дубликат системы для ДЦ++ шар(расшаренных фалов)... это лучший способ по унификации расшаренного
Апр 30 22:04:42 <Alffa>
с моей квалификацией и пониманием общего кода MLdonkey это было мои решением (реализацией)
Апр 30 22:05:06 <Alffa>
мне не нравиться этот способ, но как сделать по другому я не знаю
Апр 30 22:06:09 <spiralvoice>
Мне не нравится управление шарами в MLdonkey в целом, файл shared_files_new.ini только для е2к зашаривания, файл shared_files.ini для Gnutella/G2/Fasttrack (обрабатывается общей шарой ? - commonShares ?)
Апр 30 22:06:18 <spiralvoice>
это бардак
Апр 30 22:06:28 <spiralvoice>
но если ваш код плагина ДЦ++ работает, этого достаточно для меня
Апр 30 22:07:36 <spiralvoice>
Alffa: ты можешь мне сейчас помочь пользоваться ДЦ++ плагином ? Я ранее никогда не пользовался этой сетью, хаблист загружен и часть моей шары(расшаренных файлов) захеширована, что делать дальше ?
Апр 30 22:07:42 <Alffa>
Я соглашусь с тем, что кто-нибудь из главных разработчиков проверил код расшаривания... я убил много времени для понимания операция atm
Апр 30 22:07:50 <spiralvoice>
Alffa: порт дц+ открыт и перенаправлен
Апр 30 22:08:25 <Alffa>
тогда ты можешь подключиться к хабу(серверу)
Апр 30 22:08:41 <Alffa>
если вы про список хабов, то там есть кнопка "Добавить"
Апр 30 22:08:45 <spiralvoice>
Alffa: мне необходима регистрация на хабе, перед тем как подсоединяться к нему при помощи MLDonkey ?
Апр 30 22:09:00 <Alffa>
когда вы добавите хаб, он станет виден в общем(глобальном) списке серверов
Апр 30 22:09:21 <Alffa>
нет, только если на самом хабе стоит такое ограничение(прим. перев: требование обязательной регистрации)
Апр 30 22:09:25 <spiralvoice>
Alffa: я пробывал так вчера вечером, но хаб оставался в статусе "Waiting" ("ожидаю") несколько минут, я не дождался и пошёл спать ;-)
Апр 30 22:09:26 <Alffa>
и там обычно так
Апр 30 22:09:55 <Alffa>
вы должны расшарить достаточно (прим. перев. в соответствии с лимитом на хабе) или же должны сделать\обеспечить больше свободных слотов и т.п. (прим.перев. вообщем соблюсти все условия, требуемые организатором хаба дц++).
Апр 30 22:10:44 <spiralvoice>
Alffa: я добавил 8 хабов, все они по прежнему в состоянии ожидания, мне нужно добавить больше хабов ?
Апр 30 22:11:19 <Alffa>
надпись "waiting"(ожидаю) значит лишь только, что этот сервер/хаб добавлен в ваш список избранных хабов и больше ничего ни делает
Апр 30 22:12:21 <Alffa>
вам необходимо подключиться к нему(хабу) из общего(глобального) списка серверов нажав кнопку connect(подкл.), если статус подключения начнёт показывать "connected"(подключён) и в списке dc hub (дц++ хабы) будет написано "user"(пользователь) или "op"(оператор). Прим. перев, глобальный список серверов это: вэб-интерфейс>кнопка servers(серверы)>подкнопка all servers(все серверы) )
Апр 30 22:13:08 <Alffa>
там нету ограничений на количество хабов, вы можете добавить столько много, сколько будет удобно для вас
Апр 30 22:13:16 <Alffa>
тоже самое и для списка favourites(избранных) хабов...
Апр 30 22:14:04 <Alffa>
также если хаб действительно подключён, то будет мигать надпись\кнопка "open chat"(откр. чат) и нажав на неё вы сможете читать сообщения с сервера.
Апр 30 22:16:29 <spiralvoice>
я подключён к моей машине с внешнего сервера на порт клиента DC используя telnet, и должен был увидеть подключение, я могу увидеть это telnet подключение также на локальной машине запустив команду "ngrep port xxxx" (прим. перев. где xxxx - номер порта).
Апр 30 22:16:42 <spiralvoice>
но я не видел никаких попыток подключений MLDonkey к хабу
Апр 30 22:17:23 <Alffa>
оно будет пробывать подключиться, только когда вы нажмёте в глобальном (общем) списке серверов кнопку "conn" (подкл.)
Апр 30 22:18:06 <Alffa>
также, если вы установите autoconnect state(автоподключение) в списке хабов, оно будет всегда автоматически подключаться к серверу
Апр 30 22:19:32 <spiralvoice>
теперь лучше, я вижу много трафика
Апр 30 22:20:37 <spiralvoice>
сейчас я подключён к 9 хаба, что дальше ?
Апр 30 22:22:17 <Alffa>
тогда начинай искать :-)
Апр 30 22:22:26 <Alffa>
и наслаждаться полученными результатами
Апр 30 22:22:40 <Alffa>
и наблюдайте за серверами, как они реагируют на вас...
Апр 30 22:23:02 <Alffa>
некоторые операторы хабов, очень недоверчивы к тем, кто подключается и что вы шарите :)
Апр 30 22:23:13 <spiralvoice>
[dcInt] Невыполнение исключения ("Buffer.add: не могу увеличить буфер") при выводе списка пользовалетей (оригинал: [dcInt] Exception Failure("Buffer.add: cannot grow buffer") )
Апр 30 22:24:12 <spiralvoice>
провал вывода пользователей dc
Апр 30 22:24:46 <spiralvoice>
Alffa: это известное ограничение, буфер может хранить 16Мб, и не больше: https://savannah.nongnu.org/bugs/?17712
Апр 30 22:25:35 <Alffa>
возможно, если вы имеете чудовищно большое количество пользователей в списке ДЦ++ (когда подключаетесь ко множетсву хабов). Я не тестировал это столь широко и дотошно.
Апр 30 22:25:45 <Alffa>
для меня 1500 пользователей много :)
Апр 30 22:26:07 <Alffa>
но я был на хабах, где люди расшаривали террабайты данных
Апр 30 22:26:07 <spiralvoice>
я был подключён к 10 хаба, и каждый примерно по 5000 пользователей.
Апр 30 22:26:24 <Alffa>
да, вероятно это черезчур много:)
Апр 30 22:26:24 <spiralvoice>
я отключился от нескольких хабов и теперь оно работает, но лист всё ещё невороятно огромен
Апр 30 22:26:43 <Alffa>
возможно там был запрограммирован некоторый вид лимита пользователей :)
Апр 30 22:26:46 <spiralvoice>
firefox использует 500MB RAM(оперативной памяти)
Апр 30 22:27:18 <Alffa>
dc++ использует МНОГО трафика если там много пользователей
Апр 30 22:27:28 <Alffa>
все поисковые запросы приходят ко всем пользователям
Апр 30 22:27:40 <Alffa>
потому что там проходит много данных для поиска
Апр 30 22:27:47 <spiralvoice>
хорошо, я отключился от всех хабов кроме одного
Апр 30 22:28:10 <Alffa>
попробуй найти хаб или парочку хабов где найдено достаточно искомого
Апр 30 22:28:39 <Alffa>
просто хабы где малое количество пользователей с большим количеством файлов (шарами) - лучше
Апр 30 22:28:57 <Alffa>
кроме того если вы расшариваете много в будете желанным "гостем" на любом хабе
Апр 30 22:29:05 <Alffa>
это есть культура(традиция, негласное правило) dc++
Апр 30 22:29:45 <Alffa>
also it wont hurt to "know" someone and get operator passwords to the best hubs
Апр 30 22:29:45 <Alffa>
также не помешало бы иметь знакомых которые дадут операторский пароль на лучших хабах
Апр 30 22:29:56 <spiralvoice>
я положил 460 Мб в мои расшаренные файлы для тестирования dc++ atm
Апр 30 22:30:27 <Alffa>
Я расшарил 450 Гб и всё ещё получаю от некоторых хабов собщение "Слишком мало файлов расшарено"
Апр 30 22:31:42 <Alffa>
теперь я прошу меня извинять, я отправляюсь спать :) спокойной ночи
Апр 30 22:31:53 <spiralvoice>
Я увидел несколько предупреждений в ngrep полученных от клиентво: "ВНИМАНИЕ": Ваш клиент использует(пишет) IP 192.168.1.1 для скачки, в то время как вы используете IP 84....."
Апр 30 22:32:19 <spiralvoice>
the port is open and forwarded, do I need to setup something else?
Апр 30 22:32:19 <spiralvoice>
порт открыт и перенаправлен на роутере(форвардинг), мне нужно настраивать что-нибудь ещё ?
Апр 30 22:32:55 <spiralvoice>
хм..., старая проблема, client_ip(ip адрес клиента) обновляется только через серверные соединения EDK
Апр 30 22:36:14 <spiralvoice>
ВАУ, получен первый файллист
Апр 30 22:37:06 <spiralvoice>
получен первый файл через dc++
Апр 30 22:50:47 <spiralvoice>
счастливого дня, до свидания


LanguagesEnglish  • Русский

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox