Установка MLDonkey і DC++ плагіна для нього

Поставив я собі недавно завдання — створити в локальній мережі бота, який був би встановлений на самому серверному комп'ютері, і управлявся б, в ідеалі, через web-інтерфейс, але можна і по SSH. Завдання бота — цілодобово сидіти на роздачі. При спробі знайти такий DC++ клієнт, я з прикрістю виявив, що продуктів відповідали моїм вимогам поки немає. Ncdc і MicroDC2 так і не вдалося запустити як демон, так і працювали вони зі скрипом. У бік MLDonkey не дивився т. к. розглядав його швидше як альтернативу торрент-клієнт Transmission, ніж як клієнт мереж DC++. А даремно! Побачивши на форумах, що народ ставить MLDonkey для мереж DirectConnect, я все ж вирішив спробувати.

Так як найдорожчий і непоправний ресурс у нас всіх — час, результати викладаю тут, в надії, що Вам ця інформація допоможе уникнути перегляду форумів, щоб використовувати цей час на більш продуктивні справи. Отже, приступимо!

Знайти інструкцію по установці не склало праці. Ставити будемо на FreeBSD. Свіжа версія завжди є в портах, так що ставимо звідти:

cd /usr/ports/net-p2p/mldonkey-core/
make install clean

Прописуємо в /etc/rc.conf завантаження як демон, а так само користувача, в папці якого буде додаток:

echo 'mlnet_enable="ТАК"' >> /etc/rc.conf
echo 'mlnet_user="p2puser"' >> /etc/rc.conf

Т. к. вказаного користувача «p2puser» у нас немає, створимо його:

pw useradd p2puser -G wheel -s /bin/sh -m -d /home/p2puser

Перезавантажуємо, що б система запустила програму як daemon. Перевіряємо чи запустився MLDonkey:

/usr/local/etc/rc.d/mlnet status
mlnet is running as pid 1133.

Якщо замість «mlnet is running as pid nnnn» пише «mlnet is not running.» — швидше за все проблема з користувачем. Або він не створений, або не прописаний в /etc/rc.conf.

Тепер нашим MLDonkey потрібно якось керувати. Є кілька варіантів, але краще все ж web-інтерфейс. Їм і займемося. Для початку пропишемо діапазон IP-адрес, з яких будемо підключатися до MLDonkey. Робиться це через Telnet. Поки що у нас дозволено тільки один ip 127.0.0.1, тому підключитися ми зараз можемо тільки з самого сервера. Для цього запускаємо в консолі Telnet, реєструємо адміна і прописуємо адреси:

telnet 127.0.0.1 4000
> auth admin "" (*так порожні лапки і залишаємо*)
> passwd newpassword (*замість newpassword придумуємо пароль*)
> set allowed_ips "127.0.0.1 192.168.1.0/255"
> save
> exit

Готово! Можна підключатися до MLDonkey за адресою сервера, не забувши через двокрапку вказати номер порту за замовчуванням — 4080.

image

Судячи з інформації в інтернеті, далі — кожен сам за себе. Інформація уривчаста і неповна. Багато часу пішло, щоб хоч якось зібрати все воєдино, а подекуди і дійти самому.

І так, першим ділом зайдемо на вкладку «Параметри» та в вікні, що з'явилося, виберемо вкладку «Net». Відключаємо там все і вмикаємо плагін DirectConnect:

image

Далі, у вкладці «Client» того ж вікна знімаємо обмеження на швидкість завантаження і віддачі, встановивши 0 (нуль) навпроти пунктів:

max_hard_upload_rate = 0
max_hard_download_rate = 0
max_hard_upload_rate_2 = 0
max_hard_download_rate_2 = 0

Увага! На строкових змінних, що б ваша запис збереглася, необхідно натиснути Enter. Запис на частку секунди буде в червоній рамці — ознака того, що запис збережено. В значеннях типу True/False Enter натискати не потрібно.

Переходимо у вкладку All, інші настройки там. Міняємо по порядку:

allow_browse_share = 2 (якщо хочете, що б вашу кулі переглядали не лише друзі)
allow_local_network = true (що б вирішити локальні мережі)
upnp_port_forwarding = true (якщо потрібно прокинути порти на роутері)
DC-dc_open_slots = 15 (за замовчуванням стоїть 2, це мало)
DC-login = Ваш логін на хабі
DC-default_encoding = CP1251 ( CP1251 — найбільш поширена кодування на російськомовних хабах).

Готово! Тепер у командному рядку MLDonkey (вгорі рядок вводимо команду dcn, що б додати новий хаб. Наприклад:

dcn 192.168.1.42:411

І йдемо на вкладку «Servers» -> «All Servers»(в нижньому ряду). Там ми знаходимо наш ще не підключений хаб. Натискаємо «conn» що б підключитися:

image

На даному етапі, клієнт вже має бути підключений до хабу. Якщо цього не сталося, переходити до наступного кроку безглуздо. Спочатку підключіться. Проблеми можуть бути у правильності зазначення портів, кириличному логін, налаштування з'єднання. Загалом шукайте і знайдете.

Настав час розшарити файли. Натискаємо кнопку «Options» і, у вікні другому ряду, кнопку «shares». З'явиться три вікна:

1. Список розшарених папок
2. Коментар про те, що дві расшаренные папки повинні мати стратегію incoming_files і incoming_directories
3. Перелік стратегій, які ви можете вказати при розшарювання файлів.

Нас интересуйт верхнє, перше вікно. Натискаємо в шапці цього віконця посилання «Add Share» і з'явилися поле вводимо через пробіл: пріоритет, шлях до папки, стратегію. Пріоритет я ставлю 0, сенсу в ньому поки не побачив. Шлях до папки труднощів викликати не повинен. Ну і стратегію я ставлю найповнішу «all_files», яка не накладає ніяких обмежень на розмір, тип файлів і папок, а так само рекурсивно заходить в кожну вкладену папку. Як це виглядає у мене:

0 /labuda/downloads all_files

Після оновлення чи повторного заходження на вкладку, ваша папка повинна з'явитися у списку, а через деякий час і в кулі.

Якщо потрібно вказати пароль до хабу, доведеться ще попрацювати. Сподіваюся цю прикру прогалину скоро виправлять, а поки йдемо таким шляхом:

1. Відключаємо наш MLDonkey (Обов'язково, інакше потрібний нам файл перезапишется програмою)

/usr/local/etc/rc.d/mlnet stop

2. Редагуємо файл /home/p2puser/.mldonkey/directconnect.ini заповнивши поля:

(* Your login on DC (no spaces !!!) *)
login = "сюди логін" - в лапках!

і

hubs_passwords = [
("адреса хаба", "логін", пароль);]

Адреса хаба і логін пишемо в лапках, пароль — без них. Природно, у лапках пишемо свої дані. В якості адреси можна використовувати як домен, так і IP-адресу. Номер порту вказувати не треба!

3. Запускаємо MLDonkey:

/usr/local/etc/rc.d/mlnet start

І знову підключаємося до хабу як показано вище. Якщо логін з паролем вказані правильно, а так само в логіні немає кирилиці, проблем з підключенням виникнути не повинно.

висновок запустимо сам плагін DirectConnect. У командному рядку MLDonkey вводимо команду dc і у нас з'явиться новий ряд кнопок. Тут розібратися просто. Хочеться відзначити тільки одне. У вікні ви побачите свій хаб. Якщо натиснути в рядку з хабом на слово «Set», клієнт буде підключатися до даного хабу автоматично, але тільки якщо підключення не потребує авторизації. Підключення з логіном та паролем доведеться встановлювати вручну — ще одна дитяча хвороба плагіна.

На цьому все. Сподіваюся я заощадив ваш час. Намагатимуся і далі ділитися досвідом, що б і самому закріпити і допомогти таким, як я «натуралістам».
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.