microdc2 – это консольный текстовый клиент для DirectConnect (DC),
популярной пиринговой (P2P, peer-to-peer) файлообменной системы.

microdc2 не поддерживает следующие возможности:
– списки хабов,
– одновременное подключение к нескольким хабам,
– скачивание файлов из нескольких источников по TTH (tiger hash).

Для управления microdc2 использует командную строку:
– поддерживается история команд через readline,
– работает автодополнение команд и имён клавишей TAB,
– имеется встроенная справка.

Перед установкой применяем патчи

  • Русификация
  • Исправление проблемы с загрузкой на 100% CPU
  • Slave-режим

При использовании на нескольких хабах, на дополнительных инстансах программы в конфиге укажите интервал refresh’а файлов в 0, тогда будет использоваться один и тот же файллист на все инстансы.
microdc2_ru.patch.gz (16.08k)
microdc2_slave_mode.patch.gz ( 13.11k )
Применять последовательно, что мы и сделаем

1
2
# cd /usr/ports/net-p2p/microdc2
# make extract

Распаковываем microdc2_ru.patch.gz и копируем содержимое папки po в /usr/ports/net-p2p/microdc2/work/microdc2-0.15.6/po.
Применяем патч

1
2
# patch < LINGUAS.diff
# patch < ru.po.diff

Аналогично распаковываем microdc2_slave_mode.patch.gz и копируем папки po и src

1
2
3
4
5
6
7
8
9
10
11
12
# cd po
# patch < ru.po.diff
# cd ../src
# patch < filelist-in.c.diff
# patch < hash.c.diff
# patch < local_flist.c.diff
# patch < lookup.c.diff
# patch < main.c.diff
# patch < microdc.1.diff
# patch < microdc.h.diff
# patch < user.c.diff
# patch < variables.c.diff

Теперь устанавливаем

1
2
# cd /usr/ports/net-p2p/microdc2
# make install clean

Далее создаем конфиг(/usr/local/etc/microdc.cnf), примерно такого вида

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
set active on
set auto_reconnect on
set hub_charset KOI8-U
set filesystem_charset KOI8-U
set log connections download upload
set log_charset kio8-r
set logfile /var/log/mircodc
set nick mynick
set password mapassword
set description client from LAN
set filelist_refresh_interval 120
set email admin@mysite.com
set speed LAN(T3)
set slots 15
share /var/data
connect <ip-адрес хаба>:411

пробуем запустить, на моем тестовом ПК это выглядит так

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#microdc2 -c /usr/local/etc/microdc.cnf
Соединяемся к узлу по адресу 192.168.0.1:411.
Присоединён к узлу с адреса 192.168.0.1:57982.
Всем: <VerliHub> This Hub Is Running Version 0.9.8d-RC2 (Thursday September 13 2007) of VerliHub[RunTime:2min 25sec ].[Current User Count:0].
Всем: <VerliHub> This hub is enhanced by plugman for Verlihub.
Sharing 94896030527 байт (89GiB) totally
Название узла: test-hub.
Ваше имя принято. Вход на узел завершён.
Всем: <MOTD>
 | This file contains the text that will be displayed to users upon entering the hub.
 | Change it to suit your needs or use the file trigger definition to store your motd.
 |
 | Welcome to Verlihub
 |
 |
 | +rules       -- Displays a listing of the hub rules.
 | +faq         -- Displays a list of helpful links if you are having trouble.
 | +motd        -- Redisplays this message.
 | +help        -- Displays a list of all commands available to you. Dependent upon user type.
 |
 |
 | The verlihub project's homepage is located at http://www.verlihub-project.org
 | The verlihub forums are located at http://verlihubforums.com
 |
Всем: <VerliHub>
 | [::] Your info:
 | [::] Nick: mynick
 | [::] Class: Guest (0)
 | [::] IP: 192.168.0.1
 |
microdc2>

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

Теперь что касается автозагрузки, нашел на opennet.ru скрипт запуска, подправил под себя

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#cat microdc2.sh
#!/bin/sh

. /etc/rc.subr

# PROVIDE: microdc2
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown

name=microdc2
conf="/usr/local/etc/microdc.cfg"
rcvar=`set_rcvar`
#command="/usr/local/bin/${name}"
start_cmd="${name}_start"
stop_cmd="${name}_stop"

load_rc_config $name

eval "${rcvar}=${${rcvar}:-'NO'}"
eval "${name}_conf=${${name}_conf:-'/usr/local/etc/${name}.conf'}"
eval "${name}_flags="-c ${${name}_conf}""

microdc2_start()
{
    echo "Starting MicroDC2."
    eval "/usr/local/bin/screen -d -m -S microdc /usr/local/bin/${name} -c ${conf}"
}

microdc2_stop()
{
    echo "Stopping MicroDC2."
    /usr/local/bin/screen -r microdc -X quit
}

run_rc_command "$1"

а также не забываем о следующем

1
#echo microdc2_enable="YES" >> /usr/local/etc/rc.conf

ну и собственно сам запуск

1
#/usr/local/etc/rc.d/microdc2.sh start

Поскольку на данный момент времени сайт проекта недоступен, выкладываю пропатченый пакет клиента microdc2-0.15.6.tar.gz

Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!