DirectConnect RU
Описание, настройка и история плагина 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 в консоли, в том числе в вэб-интерфейсе.
Основные способы использования:
- добавьте ссылку на список хабов в опцию web_infos(вэб_информация) (по умолчанию ссылка там уже добавлена)
- ввод команды dc в консоли(в вэб инт. это длинная строка ввода) откроет страницу управления DC функциями (в виде ряда кнопок)
- увидев ряд кнопок нажмите кнопку hublist(рус = список хабов) и выбрите подходящий хаб (нажав кнопку 'add'(добавить), чтобы добавить этот хаб в общий список серверов)
- также вы можете добавить хаб вручную, выполнив в вэб-консоли команду dcn ip port (вместо ip может быть также задан текстовый адрес хаба, пример dcn coolhub.ru 411
- выполните dc, нажмите кнопку hubs и вы увидите все добавленные хабы (статус waiting(ожидание) означает, что хаб не подключён)
- чтобы сделать автоматическое подключение к какому-либо хабу нажмите Set(Уст) в строке с ним, в колонке Auto(Автоподк)
- перейдите на страницу серверов(servers), выбранные сервера будут там, перейдите на страницу all servers(все серверы) и нажмите conn(подкл) для подключения к хабам вручную
- подключённые хабы будут добавлены на страницу connected servers(подключённые сервера)
- перейдите на главную страницу и ищите на вкладке search(поиск) как обычно
- дополнительно, вы также можете открыть панель управления DC и далее нажать кнопку Users(Пользователи), выбрать какого-нибудь пользователя и нажать get list(получить список файлов), дождаться пока файл лист пользователя скачается, затем опять открыть панель управления DC и выбрать кнопку filelists (списки файлов) посмотреть все файлы выложенные пользователем в общий доступ.
- dc->clients покажет текущую сетевую активность (отдача/скачивание, то же самое отобразится на основной странице передач)
- dc->shared выдаст список расшаренных файлов
- в dc->hubs начинает мигать ссылка open chat когда появляются новые сообщения в чате хаба к которому вы подключены. Вы можете нажать на нее и пообщаться с другими пользователями этого хаба.
- dc->users(пользователи) выдаст список всех пользователей хаба, open chat будет мигать если есть непрочтенные сообщения.
См. также
История
Ниже описан лог(журнал) 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> счастливого дня, до свидания