DC++ консольный клиент

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-12 22:13:24

Други, подскажите - есть DC++ клиент более-мение юзабельный?
с возможностью ограничения скорости аплоада.

Существующий microdc2 всем устраивает, но задаваемый параметр speed там ни на что не влияет.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Lycane
старшина
Сообщения: 407
Зарегистрирован: 2008-05-23 15:25:58
Откуда: Волжский
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение Lycane » 2008-11-13 11:03:30

Работа системного администратора заключается в том, чтобы по пЬяни разбиратЬ то, что написали укуреные программисты.

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-13 12:04:45

Пользовались?
Он у вас собирается?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение zingel » 2008-11-13 12:12:33

rusty_j4ck писал(а):Пользовались?
Он у вас собирается?

Ошибку давайте.
Z301171463546 - можно пожертвовать мне денег

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-13 12:20:33

Код: Выделить всё

[root@gateway /usr/tmp/dcget-1.0.68]# ./configure --prefix=/usr/local
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
[root@gateway /usr/tmp/dcget-1.0.68]# make
"Makefile", line 17: Need an operator
"Makefile", line 19: Need an operator
"lib/common.mk", line 8: Need an operator
"lib/extern.mk", line 1: Missing dependency operator
"lib/extern.mk", line 6: Need an operator
"lib/extern.mk", line 8: Missing dependency operator
"lib/extern.mk", line 13: Need an operator
"lib/extern.mk", line 15: Missing dependency operator
"lib/extern.mk", line 20: Need an operator
"lib/extern.mk", line 22: Missing dependency operator
"lib/extern.mk", line 27: Need an operator
"lib/common.mk", line 21: Missing dependency operator
"lib/common.mk", line 26: Need an operator
"lib/common.mk", line 28: Missing dependency operator
"lib/common.mk", line 30: Need an operator
"lib/common.mk", line 33: Missing dependency operator
"lib/common.mk", line 35: Need an operator
"lib/common.mk", line 38: Missing dependency operator
"lib/common.mk", line 39: Missing dependency operator
"lib/common.mk", line 42: Need an operator
"lib/common.mk", line 43: Need an operator
"lib/common.mk", line 46: Missing dependency operator
"lib/common.mk", line 48: Need an operator
"lib/common.mk", line 82: warning: duplicate script for target "%.o" ignored
"lib/common.mk", line 83: warning: duplicate script for target "%.o" ignored
"lib/common.mk", line 89: Need an operator
"lib/common.mk", line 93: Need an operator
"lib/common.mk", line 127: Missing dependency operator
"lib/common.mk", line 129: Need an operator
"lib/common.mk", line 131: Need an operator
"lib/common.mk", line 133: Missing dependency operator
"lib/common.mk", line 134: Missing dependency operator
"lib/common.mk", line 135: Need an operator
"lib/common.mk", line 136: Missing dependency operator
"lib/common.mk", line 137: Missing dependency operator
"lib/common.mk", line 138: Need an operator
make: fatal errors encountered -- cannot continue

[root@gateway /usr/tmp/dcget-1.0.68]# uname -a
FreeBSD gateway.cswork 6.2-RELEASE FreeBSD 6.2-RELEASE 

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение zingel » 2008-11-13 12:24:35

Z301171463546 - можно пожертвовать мне денег

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-13 12:30:35

Код: Выделить всё

[root@gateway /usr/tmp/dcget-1.0.68]# gmake
for d in shakespeer lib/confuse lib/splib ; do (cd $d; make; cd ..) ; done
"common.mk", line 8: Need an operator
"./extern.mk", line 3: Need an operator
"./extern.mk", line 18: Need an operator
"./extern.mk", line 21: Need an operator
"./extern.mk", line 22: warning: duplicate script for target "define" ignored
"./extern.mk", line 23: warning: duplicate script for target "define" ignored
"./extern.mk", line 24: warning: duplicate script for target "define" ignored
"./extern.mk", line 29: warning: duplicate script for target "define" ignored
"./extern.mk", line 30: Need an operator
"./extern.mk", line 93: Missing dependency operator
"./extern.mk", line 98: Need an operator
"./extern.mk", line 100: Missing dependency operator
"./extern.mk", line 105: Need an operator
"./extern.mk", line 107: Missing dependency operator
"./extern.mk", line 112: Need an operator
"./extern.mk", line 114: Missing dependency operator
"./extern.mk", line 119: Need an operator
"common.mk", line 21: Missing dependency operator
"common.mk", line 26: Need an operator
"common.mk", line 28: Missing dependency operator
"common.mk", line 30: Need an operator
"common.mk", line 33: Missing dependency operator
"common.mk", line 35: Need an operator
"common.mk", line 38: Missing dependency operator
"common.mk", line 39: Missing dependency operator
"common.mk", line 42: Need an operator
"common.mk", line 43: Need an operator
"common.mk", line 46: Missing dependency operator
"common.mk", line 48: Need an operator
"common.mk", line 51: Missing dependency operator
"common.mk", line 53: Need an operator
"common.mk", line 87: warning: duplicate script for target "%.o" ignored
"common.mk", line 88: warning: duplicate script for target "%.o" ignored
"common.mk", line 94: Need an operator
"common.mk", line 95: warning: duplicate script for target "define" ignored
"common.mk", line 97: warning: duplicate script for target "define" ignored
"common.mk", line 98: Need an operator
"common.mk", line 132: Missing dependency operator
"common.mk", line 134: Need an operator
"common.mk", line 136: Need an operator
"common.mk", line 138: Missing dependency operator
"common.mk", line 139: Missing dependency operator
"common.mk", line 140: Need an operator
"common.mk", line 141: Missing dependency operator
"common.mk", line 142: Missing dependency operator
"common.mk", line 143: Need an operator
"Makefile", line 21: Missing dependency operator
"Makefile", line 25: Need an operator
"Makefile", line 29: Need an operator
make: fatal errors encountered -- cannot continue
"../common.mk", line 8: Need an operator
"../extern.mk", line 1: Missing dependency operator
"../extern.mk", line 6: Need an operator
"../extern.mk", line 8: Missing dependency operator
"../extern.mk", line 13: Need an operator
"../extern.mk", line 15: Missing dependency operator
"../extern.mk", line 20: Need an operator
"../extern.mk", line 22: Missing dependency operator
"../extern.mk", line 27: Need an operator
"../common.mk", line 21: Missing dependency operator
"../common.mk", line 26: Need an operator
"../common.mk", line 28: Missing dependency operator
"../common.mk", line 30: Need an operator
"../common.mk", line 33: Missing dependency operator
"../common.mk", line 35: Need an operator
"../common.mk", line 38: Missing dependency operator
"../common.mk", line 39: Missing dependency operator
"../common.mk", line 42: Need an operator
"../common.mk", line 43: Need an operator
"../common.mk", line 46: Missing dependency operator
"../common.mk", line 48: Need an operator
"../common.mk", line 82: warning: duplicate script for target "%.o" ignored
"../common.mk", line 83: warning: duplicate script for target "%.o" ignored
"../common.mk", line 89: Need an operator
"../common.mk", line 93: Need an operator
"../common.mk", line 127: Missing dependency operator
"../common.mk", line 129: Need an operator
"../common.mk", line 131: Need an operator
"../common.mk", line 133: Missing dependency operator
"../common.mk", line 134: Missing dependency operator
"../common.mk", line 135: Need an operator
"../common.mk", line 136: Missing dependency operator
"../common.mk", line 137: Missing dependency operator
"../common.mk", line 138: Need an operator
make: fatal errors encountered -- cannot continue
"../common.mk", line 8: Need an operator
"../extern.mk", line 1: Missing dependency operator
"../extern.mk", line 6: Need an operator
"../extern.mk", line 8: Missing dependency operator
"../extern.mk", line 13: Need an operator
"../extern.mk", line 15: Missing dependency operator
"../extern.mk", line 20: Need an operator
"../extern.mk", line 22: Missing dependency operator
"../extern.mk", line 27: Need an operator
"../common.mk", line 21: Missing dependency operator
"../common.mk", line 26: Need an operator
"../common.mk", line 28: Missing dependency operator
"../common.mk", line 30: Need an operator
"../common.mk", line 33: Missing dependency operator
"../common.mk", line 35: Need an operator
"../common.mk", line 38: Missing dependency operator
"../common.mk", line 39: Missing dependency operator
"../common.mk", line 42: Need an operator
"../common.mk", line 43: Need an operator
"../common.mk", line 46: Missing dependency operator
"../common.mk", line 48: Need an operator
"../common.mk", line 82: warning: duplicate script for target "%.o" ignored
"../common.mk", line 83: warning: duplicate script for target "%.o" ignored
"../common.mk", line 89: Need an operator
"../common.mk", line 93: Need an operator
"../common.mk", line 127: Missing dependency operator
"../common.mk", line 129: Need an operator
"../common.mk", line 131: Need an operator
"../common.mk", line 133: Missing dependency operator
"../common.mk", line 134: Missing dependency operator
"../common.mk", line 135: Need an operator
"../common.mk", line 136: Missing dependency operator
"../common.mk", line 137: Missing dependency operator
"../common.mk", line 138: Need an operator
"Makefile", line 28: Unassociated shell command "SOURCES += fgetln.c"
make: fatal errors encountered -- cannot continue
compiling hublist.c
In file included from hublist.c:33:
lib/splib/xml.h:29:19: expat.h: No such file or directory
In file included from hublist.c:33:
lib/splib/xml.h:49: error: syntax error before "XML_Parser"
command was: cc -Wp,-MD,.deps/hublist.d -c -o hublist.o hublist.c -DDCGETCONF="/usr/etc/dcget.conf"     -g -O2 -Wall -DVERSION="0.9.5" -DPACKAGE="shakespeer" -Ilib/splib -Ilib/.. -DCOREDUMPS_ENABLED=1
gmake: *** [hublist.o] Error 1

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-13 12:32:59

Понятно, библиотек не хватает, дома попробую собрать.

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1398
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение server801 » 2008-11-14 0:18:22

Код: Выделить всё

DCOREDUMPS_ENABLED=1
это что за значение?

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-14 5:46:01

rusty_j4ck писал(а):

Код: Выделить всё

for d in shakespeer lib/confuse lib/splib ; do (cd $d; make; cd ..) ; done
"common.mk", line 8: Need an operator
интересно, что курил автор Makefile.in. Там надо не make, а $(MAKE).

Вот "слегка" недоделанный порт из одного Makefile'а:

Код: Выделить всё

# New ports collection makefile for:	dcget
# Date created:		Dunno
# Whom:			anonymous <anonymous@anonymous>
#
# $FreeBSD$
#

PORTNAME=	dcget
PORTVERSION=	1.0.60
CATEGORIES=	net-p2p
MASTER_SITES=	SF

MAINTAINER=	anonymous@anonymous
COMMENT=	Open Source Direct Connect client for embeded Linux

LIB_DEPENDS=    expat.6:${PORTSDIR}/textproc/expat2 \
		event-1.4:${PORTSDIR}/devel/libevent

USE_BZIP2=	yes
USE_ICONV=	yes
USE_GMAKE=	yes
GNU_CONFIGURE=	yes

post-extract:	.SILENT
	${REINPLACE_CMD} '/SUBDIRS/s/make/$$(MAKE)/' ${WRKSRC}/Makefile.in
	${REINPLACE_CMD} 's|EXPAT_LDFLAGS=.*|& -L${PREFIX}/lib|' \
		${WRKSRC}/shakespeer/config.mk
	${REINPLACE_CMD} '/Need -liconv/,/ifeq/s/Linux/FreeBSD/' ${WRKSRC}/shakespeer/common.mk
	${REINPLACE_CMD} 's|sys/types.h>|sys/endian.h>|' \
		${WRKSRC}/shakespeer/splib/tigertree.c \
		${WRKSRC}/lib/splib/tigertree.c

.include	<bsd.port.mk>
Недоделанный потому, что я не знаю как решить вот эту проблему:

Код: Выделить всё

dcget.c: In function 'add_shares':
dcget.c:440: error: 'shared_path' undeclared (first use in this function)
dcget.c:440: error: (Each undeclared identifier is reported only once
dcget.c:440: error: for each function it appears in.)

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-14 7:43:38

Гость писал(а):

Код: Выделить всё

dcget.c: In function 'add_shares':
dcget.c:440: error: 'shared_path' undeclared (first use in this function)
dcget.c:440: error: (Each undeclared identifier is reported only once
dcget.c:440: error: for each function it appears in.)
Это пофиксено в 1.0.68. Вот полный diff рабочего порта:

Код: Выделить всё

 Makefile  |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 distinfo  |    3 +++
 pkg-descr |    3 +++
 3 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4d51ea9
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,48 @@
+# New ports collection makefile for:	dcget
+# Date created:		dunno
+# Whom:			anonymous <anonymous@anonymous>
+#
+# $FreeBSD$
+#
+
+PORTNAME=	dcget
+PORTVERSION=	1.0.68
+CATEGORIES=	net-p2p
+MASTER_SITES=	SF
+
+MAINTAINER=	anonymous@anonymous
+COMMENT=	wget-like Direct Connect client
+
+LIB_DEPENDS=	expat.6:${PORTSDIR}/textproc/expat2 \
+		event-1.4:${PORTSDIR}/devel/libevent
+
+USE_BZIP2=	yes
+USE_GMAKE=	yes
+GNU_CONFIGURE=	yes
+USE_ICONV=	yes
+
+PLIST_FILES=	bin/dcget \
+		bin/share_tool \
+		bin/sphashd \
+		bin/sphubd \
+		bin/queue_tool
+
+post-extract:	.SILENT
+	${REINPLACE_CMD} '/SUBDIRS/s/make/$$(MAKE)/' ${WRKSRC}/Makefile.in
+
+	${REINPLACE_CMD} 's|\(CFLAGS+=\)-g -O2|\1-I${LOCALBASE}/include|' \
+		${WRKSRC}/lib/common.mk \
+		${WRKSRC}/shakespeer/common.mk
+
+	${REINPLACE_CMD} 's|sys/types.h>|sys/endian.h>|' \
+		${WRKSRC}/shakespeer/splib/tigertree.c \
+		${WRKSRC}/lib/splib/tigertree.c
+
+	${REINPLACE_CMD} 's|\(LIBS=\)\(.*\)|\1-L${LOCALBASE}/lib \2|' \
+		${WRKSRC}/lib/extern.mk \
+		${WRKSRC}/shakespeer/extern.mk
+
+	${REINPLACE_CMD} '/Need -liconv/,/ifeq/s/Linux/FreeBSD/' \
+		${WRKSRC}/shakespeer/common.mk
+
+.include	<bsd.port.mk>
diff --git a/distinfo b/distinfo
new file mode 100644
index 0000000..878df69
--- /dev/null
+++ b/distinfo
@@ -0,0 +1,3 @@
+MD5 (dcget-1.0.68.tar.bz2) = 7485568caa2dbc7a2408ffb9ae511852
+SHA256 (dcget-1.0.68.tar.bz2) = e2227fba760848b6a7b31435642978a68192b561e48297f22d64230521f29e4d
+SIZE (dcget-1.0.68.tar.bz2) = 1889781
diff --git a/pkg-descr b/pkg-descr
new file mode 100644
index 0000000..60a15b5
--- /dev/null
+++ b/pkg-descr
@@ -0,0 +1,3 @@
+wget-like Direct Connect client
+
+WWW: http://sourceforge.net/projects/dcget
Может кто-нить проверить хотя бы компиляцию?

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-14 8:18:23

можно также накатить в порт последнюю версию из svn:

Код: Выделить всё

(~/dist). svn co -q https://dcget.svn.sourceforge.net/svnroot/dcget
(~/dist). tar xkf /usr/ports/distfiles/dcget-1.0.68.tar.bz2
(~/dist). cd dcget
(~/dist/dcget). diff -Nurd -x .svn ../dcget-1.0.68 . >~/ports/dcget/files/patch-svn

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-11-14 21:48:02

Скомпилял программулину, объясните как пользоваться?

Код: Выделить всё

#в common.mk
CFLAGS+=-I/usr/local/include
CFLAGS+=-L/usr/local/include

#заменить make на
$(make)

#добавить
-liconv

# не объявлена функция htole64 в tigertree.c:99, добавить
#include <sys/endian.h> 

# запускаем

root@j4ckHOST/usr/local/etc # dcget                                                                                                                                                     21:49 ttyp4
Read hublist:  [192.168.1.2],
wait for connection....connected
Дальше че делать надо? Есть где доки?

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1398
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение server801 » 2008-11-15 16:32:19

определить адреса хабов ,шару и т д

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-21 17:35:08

а кто то пробовал собирать не во фре?
лично у меня при вводе dcget в консоли, такой вывод:
aborted sig=11, sphubd(-1)

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-22 3:40:49

упс, я забыл добавить etc/dcget.conf.sample в PLIST_FILES
Гость писал(а):а кто то пробовал собирать не во фре?
лично у меня при вводе dcget в консоли, такой вывод:
aborted sig=11, sphubd(-1)
создай $PREFIX/etc/dcget.conf

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-11-28 15:12:35

dcget.conf выглядит так

Код: Выделить всё

bookmark Nlink {
	nick = "anykey"
	hub-address = "172.16.0.2"
	password = "aeknyy"
	auto-connect = true
	email = "some@mail.com"
	connection = "10"
	port = 1024
	passive = false           
}
shared-paths = {
        "/media/virtm/download"
}
client-tag = "DCGET"
part-size = 3000000
log-level = "debug"
connection = "LAN(T3)"
description = "hah"
email = "anykey-nah@yandex.ru"
download-directory = "/media/virtm/download"
incomplete-directory = "/media/virtm/incomplete"
working-directory = "/media/virtm/dctest"
sphubd-executable-path = "/usr/local/bin/sphubd"
passive = false
slots = 7
а вот так выглядит лог

Код: Выделить всё

opened logfile '/media/virtm/dctest/dcget.log'
Fri 28 15:00:59 [8033] (main:1230) working-directory /media/virtm/dctest
Fri 28 15:00:59 [8033] (main:1231) connecting to sphubd...
Fri 28 15:00:59 [8033] (main:1235) /usr/local/bin/sphubd: No such file or directory
Fri 28 15:00:59 [8033] (io_connect_unix:317) connecting to socket '/media/virtm/dctest/sphubd'...
Fri 28 15:00:59 [8033] (io_connect_unix:325) /media/virtm/dctest/sphubd: Connection refused
Fri 28 15:00:59 [8033] (sp_exec:587) spawning executable: /usr/local/bin/sphubd -w /media/virtm/dctest -i /media/virtm/incomplete -g /media/virtm/download -t DCGET -d debug
Fri 28 15:00:59 [8033] (sp_exec:612) forked, pid = 8034
Fri 28 15:00:59 [8033] (io_connect_unix:317) connecting to socket '/media/virtm/dctest/sphubd'...
Fri 28 15:00:59 [8033] (main:1247) sphubd is running as pid 8035
Fri 28 15:00:59 [8033] (add_shares:477) add path: /media/virtm/download
вернее так он выглядит когда каталог download шары содержит файлы, если же он пуст то продолжается подключение к хабу...

опять же если download пуст, то подключение судя по статусу в консоли происходит, когда же я пытаюсь скопировать туда хотя бы один файл, то всё заканчивается на Read Hublist

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-12-08 13:04:16

хоть бы кто чё сказал чтоли... а то я как будто просто так писал предыдущий пост

Гость
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение Гость » 2008-12-09 10:16:47

Гость писал(а):хоть бы кто чё сказал чтоли... а то я как будто просто так писал предыдущий пост
где знак вопроса в том посте?

rusty_j4ck
рядовой
Сообщения: 34
Зарегистрирован: 2008-11-10 18:12:36
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение rusty_j4ck » 2008-12-09 12:31:39

гость, ты сам с собой беседуешь?
пользуйся Microdc ибо пока лучше для консоли нет.

angel_il
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение angel_il » 2009-01-06 21:32:23

Ну так у кого то хоть что то завелось?

yur0k
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение yur0k » 2009-04-24 12:03:46

Про консольного DC клиента.
Занимался (и занимаюсь) такой вещью - на сервер под опенбздой поставил microdc2 для качалова файлов с локалки. Работает в скрине, очень удобно. Ищем файлы в каком-нибудь linuxdcpp, а можно и прямо в микре, потом делаем очередь на закачку, детачимся от скрина, закрываем ssh и идём по своим делам. Проблемы случились с докачкой. При обрывах соединения, или отключении пользователя, у которого качали микра бросает качалово (хорошо ещё к хабу переподцепиться сама умеет), в результате остаётся недокаченный кусок файла <имя файла>.part При попытке подцепиться к тому же пользователю и продолжить качать этот же файл ругается "File Not Available" и ни в какую не качает. Причём, такая картина наблюдалась и на опенбзде и на фрибзде. Желание посетить исходники (благо, они есть) нарастало и наконец, появилось время разбираться что же там на самом деле происходит. Сначала прорабатывалась версия каких-то архитектурных особенностей, в силу которых то ли открыть файл для append'а не получается, то ли ещё что-то. Но курение исходников показало, что механизм докачки как раз присутствует, смещение верно вычисляется и команда для докачки корректно формируется. А вот до открытия недокаченного файла даже не доходит. Ошибку шлёт удалённый клиент, когда видит смещение, отличающееся от 1 (1 - качаем сначала файла). Дальше раскопки пошли в сторону описания dc-шного протокола. Оказалось всё правильно, микра формирует команду так, как написано в документации, но современные клиенты (FlyLink, StrongDC и т.д.) почему-то с такими командами шлют куда подале. Причём, эксперимент с докачкой между двумя микрами завершился успешно, докачка состоялась. Планирую дальше проанализировать межклиентские диалоги какого-нибудь linuxdcpp, у него докачка успешно работает.

yur0k
проходил мимо

Re: DC++ консольный клиент

Непрочитанное сообщение yur0k » 2009-04-27 23:45:17

Вести с полей. Прозанимавшись любовью с microdc2-0.15.6 где-то с полдня, удалось обучить детектить расширение протокола ADCGet и применять одноимённую команду, при этом не забыв и старый добрый Get. Кстати, с TTH эта программина работает только на аплоад, а при подстановке имени файла в команду ADCGET качались только файллисты, а запрашиваемые файлы просто игнорировались. Стало ясно, надо внедрять TTH в эту прграмму глубже. Пока что она умеет хранить TTH в очереди даунлоада вместе с файлами и подставлять его в команду вместо имени файла, при этом современные форточные клиенты отдают нужные куски файлов, в следствие чего после долгого перерыва снова ожила докачка и сэкономила массу времени и нервов. Следующим шагом планируется обучить микру по запросу закачки по TTH находить нужных юзеров и циклически опрашивать их, пока кто-нибудь не отдаст нужный файл. Такая фича так же известна как 'search for alternates'. Ну а если совсем много дури выкурить, то можно будет подумать о многопоточном качалове одного файла с динамическим вычислением длинны сегментов для каждого источника в зависимости от скорости качки предыдущего куска, вот тогда форточные монстры уйдут курить куда подале.
PS: самое сложное с микрой - это понять как она работает, там несколько форков и каждый выполняет свою задачу, при этом они обмениваются данными между собой, видимо предыдущие авторы курили что-то забористое. Программа эта не такая простая, как может показаться, слишком много нюансов при работе в сети и все их надо предусмотреть, чуть чего забыли и получаем segfault.

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение savio » 2009-04-30 21:39:16

установил microdc2, долго хеширует, ну да ладно. Проблема в том что после ребута сервера microdc2 начинает с нуля все заново хешировать. почему не сохраняется? и сохраняется ли вообще предыдущее хеширование у этого консольного клиента?
Помни о смерти, все суета сует....

Аватара пользователя
Lycane
старшина
Сообщения: 407
Зарегистрирован: 2008-05-23 15:25:58
Откуда: Волжский
Контактная информация:

Re: DC++ консольный клиент

Непрочитанное сообщение Lycane » 2009-05-04 12:04:29

Вообще должно сохранятЬся.
Где то в ./microdc2/filelist
Работа системного администратора заключается в том, чтобы по пЬяни разбиратЬ то, что написали укуреные программисты.