|
![]() |
Como todos sabemos el primer programa o los primeros programas de este tipo ya dejaron de existir, o si no lo han hecho tienen tantas restricciones que los hacen inutilizables, para aquellos que consideren seriamente la política de compartir de GNU impulsada por Richard Stallman, entonces porqué no compartir nuestros archivos con otros en la red?????, bueno mientras no compartamos nada ilegal está todo bien y si no es así lo que descarguemos lo borramos enseguida ;-). DC-gui es una interface para Direct Connect, que nos permite conectarnos a una gran cantidad de hubs con muchos usuarios conectados a ellos, nos permite continuiar descargas desde otros usuarios que posean el mismo archivo, no lo hace de forma automática, pero pero el autor está programando nuevas betas, y creo que vale la pena usarlo y estar pendiente de nuevas actualizaciones.
Como encontramos dc-gui, muy fácil, entramos a www.sourceforge.net que es el nido del código fuente de muchos programas GNU/GPL tanto para linux como para windows, y buscamos en el buscador la palabra dc-gui, con guión y todo porque hay muchos otros programaas que se le parecen. En su sección de descarga descargamos tanto el dc-gui como la librería direct connect hecha por el autor, dc-lib. ambos... Si descargamos el primero, estamos descargando los dos, en este ejemplo está hecho por separado.
Vamos a necesitar por supuesto las librerías QT versión 3.0 porque este programa es muy nuevo y al autor se nota que le gustó el qt-designer, yo lo he probado y la verdad es muy sencillo y cómodo, así que es muy probable que no tengan esa librería si tienen una distribución vieja, SuSE y muchas nuevas distribuciones ya disponen de los paquetes con las QT 3 y y su código fuente, comunmente llamado qt-devel o qt3-devel. También el que quiera puede encargarse de descargar y compilar las qt, lleva mucho tiempo y es engorroso, pero se puede hacer, yo lo hice en SuSE 7.2 para instalar dc-gui, pero ahora en SuSE 8.0 ya están incorporaas por defecto en el sistema.
La instalación es casi como cualquier otra instalación de un programa con su código fuente en linux, pero en el caso que hayamos compilado las librerías qt manualmente o que por defecto no sean las librerías usadas en el sistema y tengamos qt1 qt2 y qt3, tendremos que especificar al script configure donde están, así que paso uno, descomprimir los archivos descargados en una consola como root, puede ser una xterm de usuario normal donde se ejecute su root.
superg:/home/arcava/ # tar -xzvf dcgui-0.1beta9.tar-gz superg:/home/arcava/ # tar -xzvf dclib-0.1beta9.tar-gz |
Paso dos, Configurando y compilando dclib, esta librería no necesita que le especifiquemos la instalación de qt.
superg:/home/arcava/dclib-0.1beta9 # ./configure
loading cache ./config.cache
checking for Cygwin environment... (cached) no
checking for mingw32 environment... (cached) no
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for c++... (cached) c++
checking whether the C++ compiler (c++ ) works... yes
checking whether the C++ compiler (c++ ) is a cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking whether c++ supports -fno-exceptions... (cached) yes
checking whether c++ supports -fno-check-new... (cached) yes
checking whether c++ supports -fexceptions... (cached) yes
checking how to run the C++ preprocessor... (cached) c++ -E
checking whether c++ supports -frepo... (cached) yes
checking for ANSI C header files... (cached) yes
checking for ranlib... (cached) ranlib
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for ld used by GCC... (cached) /usr/i486-suse-linux/bin/ld
checking if the linker (/usr/i486-suse-linux/bin/ld) is GNU ld... (cached) yes
checking for /usr/i486-suse-linux/bin/ld option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached) /usr/bin/nm -B
checking whether ln -s works... (cached) yes
checking how to recognise dependant libraries... (cached) pass_all
checking for object suffix... (cached) o
checking for executable suffix... (cached) no
checking for ranlib... (cached) ranlib
checking for strip... (cached) strip
loading cache ./config.cache within ltconfig
checking whether -lc should be explicitly linked in... (cached) yes
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... (cached) yes
checking if gcc static flag -static works... (cached) yes
finding the maximum length of command line arguments... (cached) 73729
checking if gcc supports -c -o file.o... (cached) yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/usr/i486-suse-linux/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse /usr/bin/nm -B output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
loading cache ./config.cache
loading cache ./config.cache within ltconfig
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
ltcf-cxx: with_gcc=yes ; with_gnu_ld=yes
checking for objdir... .libs
checking for c++ option to produce PIC... -fPIC -DPIC
checking if c++ PIC flag -fPIC -DPIC works... yes
checking if c++ static flag -static works... yes
finding the maximum length of command line arguments... (cached) 73729
checking if c++ supports -c -o file.o... (cached) yes
checking if c++ supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/usr/i486-suse-linux/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse /usr/bin/nm -B output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
appending configuration tag "CXX" to libtool
checking for bzlib.h... (cached) yes
checking for BZ2_bzlibVersion in -lbz2... (cached) yes
checking for socklen_t... (cached) socklen_t
checking for xml2-config... (cached) /usr/bin/xml2-config
checking for libxml - version >= 2.0.0... yes (version 2.4.12)
creating ./config.status
creating Makefile
creating dclib/Makefile
creating config.h
config.h is unchanged
superg:/home/arcava/dclib-0.1beta9 #
|
A continuación, ejecutamos make install
Seguimos ahora con la interface gráfica que es la que hace uso de esta librería en particular. Entramos a su directorio y ejecutamos otra vez configure, pero esta vez sí le decimos al script donde están las qt, podemos ver que otras opciones hay ejecutando dentro de la carpeta con el código fuente del dc-gui lo siguiente: ./configure --help. Por lo pronto sólo le diremos donde está la librería qt3 y la librería dc-lib que compilamos antes en este ejemplo. Veamos que pasa si no le decimos nada, veamos que error da.
superg:/home/arcava/dcgui-0.1beta9 # ./configure
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for xml2-config... (cached) /usr/bin/xml2-config
checking for libxml - version >= 2.0.0... yes (version 2.4.12)
configure: error: You must call configure with the --with-libdc option.
This tells configure where to find the LIBDC C++ library and headers.
e.g. --with-libdc=/usr/local or --with-libdc=/usr
|
Un error similar a este se obtendrá si no se especifican las librerías qt3 en el caso que estas no sean las instaladas por defecto. Así que aparte de indicar dclib vamos a indicar qt3.
superg:/home/arcava/dcgui-0.1beta9 # ./configure --with-libdc=/usr/local --with-qt=/usr/lib/qt3
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for xml2-config... (cached) /usr/bin/xml2-config
checking for libxml - version >= 2.0.0... yes (version 2.4.12)
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for c++... (cached) c++
checking whether the C++ compiler (c++ ) works... yes
checking whether the C++ compiler (c++ ) is a cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking whether c++ supports -fno-exceptions... (cached) yes
checking whether c++ supports -fno-check-new... (cached) yes
checking whether c++ supports -fexceptions... (cached) yes
checking how to run the C++ preprocessor... (cached) c++ -E
checking whether c++ supports -frepo... (cached) yes
checking for ld used by GCC... (cached) /usr/i486-suse-linux/bin/ld
checking if the linker (/usr/i486-suse-linux/bin/ld) is GNU ld... (cached) yes
checking for /usr/i486-suse-linux/bin/ld option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached) /usr/bin/nm -B
checking whether ln -s works... (cached) yes
checking how to recognise dependant libraries... (cached) pass_all
checking for ranlib... (cached) ranlib
checking for strip... (cached) strip
checking for Cygwin environment... (cached) no
checking for mingw32 environment... (cached) no
loading cache ./config.cache within ltconfig
checking whether -lc should be explicitly linked in... (cached) yes
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... (cached) yes
checking if gcc static flag -static works... (cached) yes
finding the maximum length of command line arguments... (cached) 73729
checking if gcc supports -c -o file.o... (cached) yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/usr/i486-suse-linux/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse /usr/bin/nm -B output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for dlfcn.h... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) no
creating libtool
loading cache ./config.cache
loading cache ./config.cache within ltconfig
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
ltcf-cxx: with_gcc=yes ; with_gnu_ld=yes
checking for objdir... .libs
checking for c++ option to produce PIC... -fPIC -DPIC
checking if c++ PIC flag -fPIC -DPIC works... yes
checking if c++ static flag -static works... yes
finding the maximum length of command line arguments... (cached) 73729
checking if c++ supports -c -o file.o... (cached) yes
checking if c++ supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/usr/i486-suse-linux/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse /usr/bin/nm -B output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for dlfcn.h... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) no
appending configuration tag "CXX" to libtool
checking for object suffix... (cached) o
checking for executable suffix... (cached) no
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for main in -lutil... (cached) yes
checking for main in -lcompat... (cached) no
checking for crypt in -lcrypt... (cached) yes
checking for socklen_t... (cached) socklen_t
checking for dnet_ntoa in -ldnet... (cached) no
checking for dnet_ntoa in -ldnet_stub... (cached) no
checking for inet_ntoa... (cached) yes
checking for connect... (cached) yes
checking for remove... (cached) yes
checking for shmat... (cached) yes
checking for res_init... (cached) no
checking for killpg in -lucb... (cached) no
checking size of int... (cached) 4
checking size of long... (cached) 4
checking size of char *... (cached) 4
checking size of char... (cached) 1
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... (cached) no
checking for extra includes... no
checking for extra libs... no
checking for libz... (cached) -lz
checking for X... (cached) libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... (cached) yes
checking for libXext... (cached) yes
checking for Xinerama... no
checking for pthread_create in -lpthread... (cached) yes
checking for libpng... (cached) -lpng -lz -lm
checking for libjpeg6b... (cached) no
checking for libjpeg... (cached) -ljpeg
checking for Qt... (cached) libraries /usr/lib/qt3/lib, headers /usr/lib/qt3/include using -mt
checking if Qt compiles without flags... (cached) no
checking for moc... (cached) /usr/lib/qt3/bin/moc
checking for uic... (cached) /usr/lib/qt3/bin/uic
checking for sigcontext... (cached) yes
checking for sigcontext linux... (cached) yes
checking for sigcontext freebsd... (cached) no
checking if CVS should be compiled... no
checking if admin should be compiled... no
checking if dcgui should be compiled... yes
creating ./config.status
creating Makefile
creating dcgui/Makefile
creating dcgui/docs/Makefile
creating dcgui/docs/en/Makefile
creating config.h
config.h is unchanged
superg:/home/arcava/dcgui-0.1beta9 #
|
Por supuesto, a continuación ejecutamos make install para compilar todo. suficiente, salimos de la terminal de root y vamos a ver como se configura el programa para un fácil uso. Cargamos el programa ejecutando dcgui en una xterm o en kde con ALT+F2 y vamos a ver el programa en blanco y vacío, vamos entones al menú archivos (files) y elegimos opciones (options).

Vamos a ver el cuadro de diálogos con varias solapas para seleccionar sus opciones, lo primero que recomiendo es elegir un nick nada convencional, algo raro y que no sea común que a otros se les ocurra, ya que si entramos luego a un HUB donde ya hay alguien con ese nick seremos baneados (pateados). La dirección de correo electrónico puede ser falsa, y es mejor dejar tildado el checkbox que dice anti spam, eso confundirá nuestra direción de e-mail a los scripts de chat. La descripción la podemos dejar como está o poner una descripción de los archivos que tenemos para compartir. La velocidad no nos conviene falsearla, por ejemplo si poseemos una conexión cablemodem o DSL o TX es mejor decirlo, ya que hay muchos HUBS para el descontento de algunos, que nos banearán si no disponemos de una conexión de alta velocidad, es decir hay HUBs que nos miden la transferencia para checar si realmente transmitimos rápido o no. Y por supuesto si para que otros usuarios no descargen archivos de nuestra máquina decidimos poner que tenemos un módem y no DSL etc. el HUB no testeará ninguna velocidad, así que nos baneará directamente. Sean sinceroscon los datos excepto con la dirección de correo.

Pasamos a la segunda solapa y vemos que hay opciones acerca de la transferencia. Elegimos un directorio download, para guardar todo lo que bajemos. Para esta configuración tengamos en cuenta que la regla número 1 es compartir, no como en otros programas de windows que si lo deseamos no compartimos nada y podemos descargar sinque nadie nos diga nada, estos HUBs realmente testean nuestros archivos y si realmente somos generosos o no, así que si quieren evitar que los pateen de los HUBs apenas entraron, deben ser generosos. No elijan carpetas del sistema que tengan muchos archivos pequeños como ser /usr, ya que mientras dcgui fabrica la listta de archivos bloquea las librerías QT3 y si estamos usando kde3 vamos a tener que esperar mucho tiempo dependiendo de la velocidad de la máquina para que dcgui las libere, así que recomiendo copiar al disco rígido unos tres o cuatro GB de mp3 o DIVX. Hay que agregar uno a uno los directorios a compartir. Luego presionamos rebuild y con info

vemos que estemos compartiendo 4GB o más, en mi caso uso 13GB de archivos para compartir, y hay HUBs que para ser miembro requieren de 100GB de archivos compartidos y una conexión de 512Kbits. En los slots, debemos poner más de tres, es la cantidad de archivos máximo que podrán descargar de nuestra máquina al mismo tiempo, sepamos que si nosotros vamos a descargar archivos no vamos a ocupar la transferencia de salida, así que no nos influirá en lo más mínimo que nos lean archivos. Salvo que queramos hacer mil cosas más, pero ahí el problema será lo que estemos descargando y no lo que nos estén leyendo. esto es válido incluso para usuarios de modem. Ahh y demás está decir que limitar la transferencia es un problema con los HUBs que nos testean la velocidad de transferencia, así que mejor no la limitamos.

En esta otra solapa (transfer), yo dejé las opciones tal y como están, alguien que tenga realmente problemas de conexión porque no disponga de salida directa, puede probar ajustando aquí, pero no lo recomiendo, por eso se llama direct connect, (conexión directa).

Ya hecho esto podemos proceder a intentar conectarnos, buscamos el resto de las opciones en el menú View o Action. Abramos la ventana Server List (Lista de Servidores) la recargamos (reload) y elegimos un servidor.

Si nos resulta interesante su contenido o sus reglas (si no nos patean) lo podemos agregar a favoritos (bookmarks)

Bueno, al conectar a un servidor haciendo doble click o con el botón derecho eligiendo la opción connect, vamos a ver que se nos abren varias ventnas de chat, no las cierren sin leerlas, porque en estas ventanas están las reglas para entrar y si nos patean podemos ver porqué fue.

A continuación buscamos la ventana con los usuarios.

Para buscar un archivo hagamos click en a solapa buscar y en el cuadro de textos pongamos un trozo del texto que queramos buscar en el nombre de los archivos. Presionamos ENTER para que nos busque o hacemos click en el botón search.

Dado el caso que encontremos un archivo para descargar, entonces presionamos el botón derecho sobre el nombre del archivo y tenemos varias opciones, Download, lo guarda en el directorio que configuramos antes para guardar las descargas. Download to, lo guarda en una carpeta que no sea la configurada y Download As, nos permite cambiarle el nombre al archivo al descargarlo, particularmente si elegimos el nombre de un archivo existente que nos quedó por la mitad de un usuario que se fue o de un HUB que nos patearon, podemos elegir resume (continuar la descarga desde donde quedó)



Activamos desde el menú la Transfer List y podemos ver la lista de archivos preparados para descargar y los que se están descargando.

Recomiendo que usen mplayer para reproducir los videos, ya que usando los win32 codecs en linux se puede abrir hasta archivos ASF.



Y que lo disfruten. si no pueden con algo, me preguntan por el buzón o por icq.