microdc2 0.15.4
Консольный клиент для *nix систем.
Поддержка TTH и некоторых расширений ADC
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Консольный клиент для *nix систем.
Поддержка TTH и некоторых расширений ADC
пара вопросов по microdc2
Большое спасибо Владимиру за создание консольного клиента DC++ с поддержкой TTH.
При запуске microdc2 на машине с FreeBSD6 у меня возник ряд вопросов:
1. где можно посмотреть все опции конфигурационного файла (вероятно
часть следующих вопросов вызвана именно незнанием всех опций конфига)?
2. как ограничить скорость скачивания с клиента (аналог опции --upload
в dctc)
3. как определить порт входящих соединений (аналог опции -p в dctc)
4. как сделать microdc2 фоновым процессом.
1) конфиг
1) конфиг стандартен с DC++/linuxDC++ если я правильно помню
2) никак пока
3) см 1
4) стандартный *nix путь - microdc &
Объясните
Объясните тупому как у этого клиента работает TTH я так и не понял если честно , спасибо
vdkri
microdc2 - TTH глючит?
Собрал microdc2-0.15.6 для "железного" файл-сервера QNAP TS-101
(на базе PowerPC, ядро Linux 2.6.12, ucLibc, busybox)
Долго мучался с русскими буквами - вроде победил -
все работает, но теперь наткнулся на новую проблему -
TTH считается неправильно.
Когда скачиваешь с него файл, то ApexDC говорит
"TTH inconsensty", хотя скачанный файл совпадает
байт в байт.
Утилитка TTHSUM выдают разные хэши на PC и QNAP.
Я знаю, что microdc2 нормально работает на PC -
проблема в конкретном скомпильнутом бинарнике...
В чем может быть грабл?
покурить сорцы
покурить сорцы TTHSUM
Все проще оказалось
Там configure настолько тупое,
что больших индийских не понимает...
(в смысле big endian)
Честно говоря, я в этих скриптах - не очень,
(программирую много, но в основном в "embedded"
без осей и наворотов, ну и виндах)
мне проще было воткнуть #define руками...
Так что свою проблему я решил.
Если кто-то из линуховых гуру заинтересован,
может скажет, как подправить правильно,
чтобы портируемость сохранить.
(патчик там... или как там принято???)
Чтоб народ на те же грабли не вставал...
показывай чего
показывай чего наделал. и на мыло разрабу microdc2. тупо описание проблемы и diff, думаю он сам решит как лучше фиксить
Quote:показывай
Да тупо после запуска конфигуре
в начало config.h воткнул
#define WORDS_BIGENDIAN 1
и потом мэйк, как обычно...
Но это же непортируемо...
Да и вообще, должно, типа, само работать :)))
Написал сразу же, естественно...
Вообще говоря,
Вообще говоря, нормальный софт должен сам уметь определять big-endian.
тык
Как запустить
Как запустить его в фоне? У меня есть сервера, которые нужно подключить к хабу, там кроме как отдавать файлы ничего ненужно... ПРобовал и & и nohup - ничего не выходит, клиент вываливается :(
Уже сам
Уже сам нашел...кому интересно - run-скрипт для gentoo
microdc2 under FreeBSD
Решил поделится может кому-нибудь и пригодится. Используется сугубо для раздачи контента. Запущено в фоновом режиме и никакого внимания не требует. Расшарено 700+ Gb
Система
FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:18:52 UTC 2008
CPU: AMD Athlon(tm) XP 2500+ (1836.13-MHz 686-class CPU)
real memory = 1073676288 (1023 MB)
Мой конфигурационный файл
gw# ee /usr/home/duty/.microdc2/config
Для запуска при загрузке системы добавлен скрипт в /usr/local/etc/rc.d/, запускаем из под screen под пользователем duty (у вас как хотите), добавлена проверка на живость процесса microdc2 (переодически вылетает, не понял почему, решил не понимать а просто запускать заново)
gw# cat /usr/local/etc/rc.d/microdc2.sh
Не забываем разграничить доступ и дать разрешение на запуск
gw# ls -li /usr/local/etc/rc.d/ |grep microdc2.sh
Чтобы периодически запускался скрипт добавляем в конец /etc/crontab
P.S: для подключения к другому хабу надо запускать под другим пользователем
microDC2
На FreeBSD 7.0 х64 стоит верлихаб, к нему в компанию нужен был клиент для задействования оставшихся ресурсов ПК. Поставил из портов microdc2 (вот только не понял, что и как делается командой ./configure - один ответ, нет такого файла). Вручную прописал все сеты, указал папку шары, запустил клиента - работает, пишет в статусе про TTH для файлов...
Вот только проблема: на хабе клиент (зарегистрирован, повышен до OP-ов :) ) видин с шарой в размере за 150 ГБ, а при скачивании с него файл-листа - в виндовс-клиенте видны лишь папки, подпапки... с объёмами = 0.
Что делать, в чём ошибка?
P.S.: сделал конфиг-файл, в котором поуказывал
при запуске показывается папка шары, количество принятой-отосланой инфы, адрес хаба... и "Segmentation fault" после которого выпадаю в баш.
Убрал "set logfile" - запускается, работает... но при скачивании файл-листа во Flylink'e (локальная сеть) опять пустые папки при огромной общей шаре на хабе.
Есть утилитка "tthsum" - но она только для просмотра, я так понимаю?
Нет файла "microdc_tth" (но клиент о TTH что-то в статусен пишет..)
Help!
_______________________________________________________________________
Вернувшись к машине с хабом и microdc2 спустя 5 часов, скачал с клиента файл-лист - а там уже всё файлы, все обьёмы! Единственное обьяснение этому явлению - обновление файл-листа для отдачи только в конце хеширования всех файлов (это нормально), но почему тогда папки файлов в шаре видны сразу же (это ненормально) ?!
Проблему с "Segmentation fault" при укзании файла для лога в конфиге не решил (дискового места - лет на 100 логирования, запись в файл программой осуществляется). У кого какие мысли?
FreeBSD 6.4 amd64 + Microdc2
FreeBSD 6.4RC1 amd64
Использую версию 2.0.15.6_2
Много чего читал но нигде не нашёл готового решения для моих задач - надеюсь кому-то пригодится.
У меня несколько клиентов бегают на одной машинке на разных IP и для простоты и скорости шарят разный контент. Поэтому выложу здесь пример только для одного из них, у остальных аналогично.
В локалку смотрит IP 10.18.XX.XX Создан пользователь ZZZZZZ, его консоль русифицирована. Автозапуск стартует как демон и в случае необходимости к консоли можно подключится.
Проблему с логами (как в предыдущих постах) и автозапуском решил так:
/usr/home/ZZZZZZ/.microdc2/config
/usr/local/etc/rc.d/xxxdc
#!/bin/sh . /etc/rc.subr # PROVIDE: xxxdc # REQUIRE: DAEMON # BEFORE: LOGIN name=xxxdc rcvar=`set_rcvar` start_cmd="xxxdc_start" stop_cmd="xxxdc_stop" required_files="/usr/home/ZZZZZZ/.microdc2/config" xxxdc_enable=${xxxdc_enable:-"NO"} xxxdc_start() { echo "XXXdc client started." /usr/local/bin/screen -d -m su -l ZZZZZZ -c "/usr/local/bin/microdc2 -c /usr/home/ZZZZZZ/.microdc2/config | tee -a /var/log/logfile.log " } load_rc_config $name run_rc_command "$1"/etc/rc.conf
Осталось добавить правила в ipfw и собственно всё.
Пока с проблемой вылета не столкнулся - если возникнет, то надо будет добавить проверку демона в cron.
microdc2 за фаирволом
пытаюсь настроить microdc2 за фаирволом, порты пробросил, но вот вопрос:
есть параметры listenaddr и listenport а где у казывается внешний ip и порт? или возможен только пассив? тогда что указывается в listenaddr и listenport?