User Tools

Site Tools


flyrouter:microdc2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

flyrouter:microdc2 [2018/04/09 15:36]
flyrouter:microdc2 [2018/04/09 15:36] (current)
Line 1: Line 1:
 +====== microdc2 ======
 +
 +[[http://​corsair626.no-ip.org/​microdc/​|HomeSite *microdc2*]]
 +
 +Консольный текстовый клиент для DirectConnect (DC), популярной пиринговой (P2P, peer-to-peer) файлообменной системы.
 +
 +Для управления microdc2 использует командную строку:​
 +  * поддерживается история команд через readline,
 +  * работает автодополнение команд и имён клавишей TAB,
 +  * имеется встроенная справка.
 +
 +Инсталляция в FlyRouter (временно !!!):
 +
 +<​code>​
 +ipkg install -d usb libreadline libncurses libpthread libxml2
 +cd /tmp
 +wget http://​flyrouter.net/​downloads/​software/​builder/​microdc2_0.15.6-1_mipsel.ipk
 +ipkg install -d usb ./​microdc2_0.15.6-1_mipsel.ipk
 +</​code>​
 +
 +
 +
 +
 +Дополнительная информация:​
 +
 +<​code>​
 +Удалось-таки победить microdc2 на предмет понимания "​Великого и Могучего"​ русского языка. Проковырялся несколько дней, перекомпилировал и т.д., а оказалось все, как всегда,​ чрезвычайно просто!
 +Нужно всего лишь прописать в post-boot (ну или в скрипте,​ из которого запускается microdc2) ОДНУ строчку:​
 +export LANG="​ru_RU.KOI8-R"​
 +ну или же
 +export LANG="​ru_RU.UTF-8"​
 +Тут уж кому как нравится. Просто при втором варианте вам в PuTTY в Window->​Translation нужно будет выбрать/​прописать вручную "​UTF-8"​ без кавычек. Зато имена русских файлов на разделе ext3 будут читаться нормально. ​
 +Т.е. microdc2 просто не мог определить какой язык используется в системе.
 +Далее опишу как лично я немного упростил использование microdc2.
 +1) кладу файлы microdc2 и tthsum в папку /usr/bin . Ну это понятно.
 +2) поскольку microdc2 имеет смысл запускать только из-под sreen, то его нужно установить,​ если он не установлен:​
 +ipkg install screen
 +3) для удобной работы с microdc2 в окружении screen создаю два скрипта.
 +Первый с именем dcs , он будет запускать microdc2 в screen с прицепленным конфигом (о нем чуть позже):​
 +#!/bin/sh
 +screen -dmS microdc /​usr/​bin/​microdc2 -c /​etc/​.microdc2/​config
 +Второй с именем dc будет "​вытаскивать"​ консоль screen
 +#!/bin/sh
 +screen -x microdc
 +... и кладу оба скрипта опять же в /usr/bin . Ну и не забудьте сделать оба файла исполняемыми.
 +Теперь для ручного запуска достаточно просто набрать в консоли dcs
 +Для автоматического запуска просто нужно прописать в post-mount
 +/​usr/​bin/​dcs
 +Чтобы вызвать окно с работающим microdc2, достаточно просто набрать dc в консоли. Чтобы скрыть окно не прерывая работы программы,​ нужно последовательно нажать Ctrl-A и Ctrl-D.
 +4) Очень важно. Создаем конфигурационный файл для microdc2 .
 +создаем папку /​etc/​.microdc2 (с точкой в начале. Просто где-то в поисках проблемы с русским языком я вычитал,​ что для того, чтобы конфиг "​цеплялся",​ он должен лежать именно в такой папке. Скорее всего это неверно,​ но менять мне уже лень :) )
 +В этой папке создаем файл config примерно вот такого содержания:​
 +set filesystem_charset UTF-8
 +set hub_charset cp1251
 +set log_charset koi8-r
 +set auto_reconnect on
 +set filelist_refresh_interval 600
 +set display connections download joinpart publicchat searchresults upload
 +set log connections download joinpart publicchat searchresults upload
 +share /​tmp/​harddisk/​ftp_pub/​Download
 +set downloaddir /​tmp/​harddisk/​downloads
 +set listingdir /​tmp/​harddisk/​microdc
 +set nick MyNick
 +set description "Me just BOT. Don't talk with me!"
 +set email me@mydomen.ru
 +set logfile /​usr/​var/​log/​microdc.log
 +set slots 5
 +set speed LAN(T3)
 +set active off
 +set listenport 2477
 +connect 10.10.10.10
 +В принципе здесь все прозрачно и понятно,​ но все-таки попробуем разобраться.
 +1) filesystem_charset - кодовая страница файловой системы. Чрезвычайно важный параметр,​ если вы предполагаете скачивать и раздавать файлы (или папки) с русскими именами. Поскольку у меня шары расположеным на разделе ext3, то у меня выставлено значение UTF-8. Если у вас ext2 или FAT, то наверное нужно будет выставлять koi8-r или cp866 соответственно. Попробуйте разобраться сами.
 +2) hub_charset - кодовая страница,​ используемая на конкретном хабе. Вероятнее всего на русских хабах будет cp1251. Теоретически возможно и UTF-8, но это врядли. Тоже чрезвычайно важный параметр,​ поскольку отвечает не только за правильное отображение и ввод языка в чате, но и за запрос/​отдачу файлов с русскими именами.
 +3) log_charset - кодовая страница лога. Если вы в post-boot прописали ru_RU.KOI8-R,​ то выставляем koi8-r, чтобы мы могли читать лог в mc, если же выбрали ru_RU.UTF-8,​ то соответственно выставляем UTF-8.
 +4) auto_reconnect - автоматическое переподсоединение к хабу в случае разрыва коннекта. Ну здесь вес понятно - либо on, либо off. Переподсоединение происходит с периодичностью 10 сек.
 +5) filelist_refresh_interval (в секундах) - периодичность,​ с которой программа будет проверять папку с шарами на предмет изменения содержимого и, если таковое произойдет,​ именять файл-лист и хешировать новые файлы
 +6) display - что именно будет отображаться на дисплее. Понятно из названий. Если предполагается использовать программу чисто в виде робота без использования всяких чатов и т.п., то можно удалить,​ напривер,​ joinpart и publicchat. Если хочется заняться отладкой программы,​ то можно добавить debug
 +7) log - что будет записываться в лог. Аналогично предыдущему пункту.
 +8) share (обратите внимание,​ что для задания этой переменной не используется команда set) - папка, где у вас лежат файлы для раздачи.
 +9) downloaddir - папка, куда программа будет скачивать файлы
 +10) nick - ну это понятно. Ваш ник на хабе.
 +11) description - описание. Можно и не задавать эту переменную.
 +12) email - все понятно и так.
 +13) logfile - путь к файлу лога. Советую прописать.
 +14) slots - количество слотов на отдачу. Советую не слишком усердствовать. Ну ежели только у кого 128 метров памяти.... Количество слотов на закачку не лимитировано и не устанавливается конфигом.
 +15) speed - скорость. Честно говоря сильно сомневаюсь,​ что данный параметр в этой программе на что-то влияет,​ но... Доступные варианты:​
 +"​28.8Kbps",​ "​33.6Kbps",​ "​56Kbps",​ "​Cable",​ "​DSL",​ "​ISDN",​ "​LAN(T1)",​ "​LAN(T3)",​ "​Modem",​ "​Satellite"​ - все, естественно,​ без кавычек.
 +16) active - видимо устанавливает режим соединения - "​активный/​пассивный",​ точно пока не разобрался. Ну это у кого проблемы с файрволом,​ серым адресом,​ провайдером и т.п. on или off (соответственно активный или пассивный). У меня сложилось ощущение,​ что в режиме off работает менее глючно. Разбирайтесь сами.
 +17) listenport - точно не уверен,​ но видимо порт, на котором будут ожидаться соединения в пассивном режиме. Может я не неправ. Пишете что-нть от балды, но желательно выше 2000, чтобы не попасть на зарезервированные под стандартные сервисы)
 +18) connect - соединяет с хабом с указанным адресом.
 +19) password - ваш пароль,​ если он требуется на данном конкретном хабе. Если не нужен, то и не прописываем.
 +20) listingdir - папка, где будут храниться файллисты.
 +Вроде все. Обращаю ваше внимание,​ что любой из этих параметров можно менять "на лету",​ не перегружая программу. Просто вводите в консоли команды в том виде, в котором они прописаны в конфиге. Чтобы просто просмотреть установленные параметры,​ достаточно набрать в консоли set
 +Чтобы узнать,​ какие комманды можно вводить,​ наберите в консоли help.
 +Но вкратце принцип таков:
 +who - выводит список пользователей на хабе
 +browse User1 - запрашивает файл-лист у пользователя User1. Когда файл-лист скачается,​ то строка из "​microdc2:​(User1)>"​ поменяется на строку "​microdc2:​User1>"​ и уже можно пролистывать файлы и папки
 +ls - показывает содержимое текущей папки
 +cd dir1 - переход в папку dir1. Еще пример - cd dir1/​dir2/​dir3. Если путь содержит пробелы,​ то его нужно брать в кавычки. Например cd "dir 1/dir 2/dir 3"
 +get - задание на скачивание папки или файла. Например - get dir1/dir2 или get dir1/​dir2/​file1.ext Есои путь/​имя файла содержат пробелы,​ опять же берем в кавычки - get "dir 1/dir 2/my file.ext"​
 +Если просто набрать browse, то выйдите из режима "​пролистывания"​ текущего пользователя.
 +say Всем привет!!! - выдаст соответствующее сообщение в чате.
 +transfers - покажет текущее состояние закачек.
 +Ну и т.д., разбирайтесь сами.
 +microdc2 не умеет делать поиск по TTH и скачивать один файл сегментами с разных источников. Не понимает magnetto-ссылки. Не умеет соединяться одновременно с разными хабами. Но последнее,​ впрочем можно решить запуском одновременно в нескольких screen-ах с разными конфигами.
 +Имеются проблемы с докачкой в случае разрыва связи или ухода/​прихода юзверя,​ с которого качается.
 +Но я тут сейчас пытаюсь списаться с человеком,​ который,​ по его словам,​ уже сделал с десяток патчей для microdc2. Посмотрим,​ может и удастся сделать нечто юзабельное ;)
 +</​code>​
 +
 +
  
flyrouter/microdc2.txt · Last modified: 2018/04/09 15:36 (external edit)