jueves, 11 de septiembre de 2008

Ares en Linux sin emular

En la cruzada para que mi Linux Slackware sea un sistema 100% funcional con los requerimientos que un taringuero como yo requiere para su vida diaria, me cruce con la necesidad de bajar música de la red p2p mas popular para esta función, Ares.

Siendo un usuario de linux de hace años, recordé un cliente de redes como fasttrack (kazza), gnutella o openFT, llamado giFT. Este programa es un poderoso cliente para redes p2p, que solo necesita que instales el pluginde la red que quieras para que conecte a la misma. Googleando encontré un plugin para la red Ares, y tras algunas pruebas funciono.

Tengan en cuenta que yo soy usuario de Slackware (distro no muy popular), cualquier usuario normal de linux se va ver familiarizado con los términos, pero los usuarios e que comienza en el mundo linux por ahí algunos términos o formas de manejo sean confusas, cualquier cosa dejen la pregunta así vemos si podemos ayudar.



IMPORTANTE: si no podes compilar o no sabes, seria bueno que busques los paquetes mencionados durante la guiá para tu distro de linux si los conseguís, editando como mas adelante explico la configuración del programa, esto tiene que funcionar



Pasos:

*********



1) Instalación del Cliente de redes P2P giFT

2) Instalación de plugin red Ares

3) Instalación de interfase grafica para gift

3A) Apollon (para KDE)

3B) giFTOXIC (para gtk2+ o sea para lo que usan gnome)


4) Configuración del giFT

5) Actualizacion de nodos

6) Ejecución

7) Screenshot del gIFT junto a Apollon en red Ares.






*******************************************************************************



1) Instalación del Cliente de redes P2P giFT

/////////////////////////////////////////////////////////////



Pagina del proyecto: http://gift.sourceforge.net/

Descarga (source): http://downloads.sourceforge.net/gift/gift-0.11.8.1.tar.gz?modtime=1102808292&big_mirror=0




Si son usuarios de alguna distro como Debian, Ubuntu, Mandriva, etc.

Fíjense si consiguen en su repositorios de paquetes el paquete del programa, si no a compilar.

Para compilar un programa requieren de los paquetes de Desarrollo de su distro.

Pasos para compilar el gift (realizar estos pasos como root)



# tar xzvf gift-0.11.8.1.tar.gz

# cd gift-0.11.8.1

# ./configure;make;make install



Si todo sale bien el programa se instalara en /usr/local.



Para probar ejecuten (como usuarios)



$ giftd -v



En caso de que no exista comprueben si en el directorio existe algún archivo, o si en el proceso de compilación dio algún error, en ese casi es conveniente chequear las dependencias. Si eso tampoco lo soluciona probar con versiones anteriores o bajar el paquete pre compilado para tu distribución.






*******************************************************************************



2) Instalación de plugin red Ares

//////////////////////////////////////////////////////////





Pagina del proyecto: http://developer.berlios.de/projects/gift-ares/

Descarga: (source): http://prdownload.berlios.de/gift-ares/gift-ares-0.3.0.tar.gz

Screenshots:





-Pasos para compilar (realizar estos pasos como root)



# tar xzvf gift-ares-0.3.0.tar.gz

# cd gift-ares-0.3.0


# ./configure;make;make install



Si el paso anterior salio bien para este no tiene haber problemas.





*******************************************************************************



3) Instalación de insterfase gráfica para gift

//////////////////////////////////////////////////////////////////



A) Apollon (para KDE)

B) giFTOXIC (para gtk2+ o sea para lo que usan gnome)






A) Apollon (REQUIERE KDElibs, o sea KDE)

Pagina del proyecto: http://apollon.sourceforge.net/files.html

Descarga (source): http://prdownloads.sourceforge.net/apollon/apollon-1.0.2.1.tar.bz2?download



Pasos para compilar (realizar estos pasos como root)



# bunzip2 apollon-1.0.2.1.tar.bz2

# tar xvf apollon-1.0.2.1.tar

# cd apollon-1.0.2.1

# ./configure;make;make install




Para testear: (como usuarios)



$ apollon





B) giFTOXIC (para gtk2+ o sea para lo que usan gnome)

Pagina del proyecto: http://giftoxic.sourceforge.net/

Descarga (source): http://ufpr.dl.sourceforge.net/sourceforge/giftoxic/giFToxic-0.0.10.tar.gz

Screenshots: http://giftoxic.sourceforge.net/index.php?screenshots




Pasos para compilar (realizar estos pasos como root)



# tar xzvf giFToxic-0.0.10.tar.gz

# cd giFToxic-0.0.10

# ./configure;make;make install



Para testear: (como usuarios)



$ giftoxic






*******************************************************************************



4) Como configurar el gift:

////////////////////////////////////



El gift es un deamon, esto quiere decir que corre en segundo plano y con un cliente nos conectamos a el para poder utilizarlo. La base del funcionamiento de el y las redes que le incorporemos, en este caso la red Ares, dependerán de su archivo de configuración giftd.conf situado en /home/usuario/.giFT/giftd.conf (siendo usuario el nombre de tu usuario en tu sistema linux).

Para configurarlo tiene que ejecutar (como usuario)



$ gift-setup



de ahí se desprenderán una serie de preguntas las cuales corresponden a la configuración normal de cualquier red p2p: puertos, velocidad, sharing folders,etc.



De todas formas les dejo mi archivo de configuración para guiarse:








#######INICIO DE ARCHIVO giftd.conf#########################



[main]



# Boolean determining whether or not this file has been reviewed and is

# complete. giFT will fail to start unless this is non-zero. This is done

# so that we can make sure you, at the very least, read through this file.

# Default: 0

setup = 1



# Space separated list of hosts to allow connection to giFT's interface

# protocol (running default on port 1213). This protocol is used for GUIs

# to communicate with giFT and could be considered a security risk to allow

# external connections.

# The following special keywords are supported:

# ALL - Synonym for 0.0.0.0/0

# LOCAL - Synonym for 127.0.0.0/8 192.168.0.0/16 172.0.0.0/11 10.0.0.0/8


# Bitwidth fields are optional.

# Default: LOCAL

hosts_allow = LOCAL



# Port on which to listen for user interface connections. Unless you have a

# special need to talk to the client on a non-standard port, just accept the

# default.

# NOTE:

# If you change this value, you will also need to modify the ui.conf

# configuration for the machine which will be making outgoing connections

# here.

client_port = 1213



# Determines whether or not to follow symbolic links. If this value is set

# non-zero, symlinks will be traversed and a directory inode tracking system

# will be used to ensure that giFT does not descend the same directory

# twice. If you do not have any symlinks or do not want them traversed, set


# this to 0 for a very minor efficiency gain.

# Windows users: this setting has no effect.

# Default: 1

follow_symlinks = 1



# Colon separated list of protocol plugins to load by default. If dynamic

# library support is enabled, the plugin specified will be stat'd to check if

# it is a loadable path. If that fails, the fallback method is to attempt to

# construct the fully qualified path based on the configured environment.

# NOTES:

# Without dynamic library support, this plugin must have been compiled into

# your giFT binary. With, this plugin must exist in the installed

# plugin directory. giFT -V will output this path to you, if you are not

# sure.

# Protocol names are case sensitive, so use OpenFT, not Openft.

# For example, to use the OpenFT and Gnutella protocols use:

# OpenFT:Gnutella


# Default: none

plugins = Ares



###############################################################################

# DOWNLOAD CONTROLS



[download]



# Directory to store transfers while they are being operated on. Temporary

# state files are also kept here. It is recommended, but not required, that

# the incoming and completed directories are on the same partition (drive).

# Windows users: please use the following path specification:

# incoming = /C/Program Files/giFT/incoming

# For example, to refer to C:\Program Files\giFT\incoming, use:

# incoming = /C/Program Files/giFT/incoming

# Default (*nix): ~/.giFT/incoming

# Default (Windows): /C/Program Files/giFT/incoming


incoming = ~/.giFT/incoming



# Directory which will contain files after they have successfully finished

# downloading.

# Default (*nix): ~/.giFT/completed

# Default (Windows): /C/Program Files/giFT/completed

completed = /mnt/hd/mp3s



###############################################################################

# SHARE SUBMISSION AND UPLOAD CONTROL



[sharing]



# Maximum amount of uploads allowed from the same user at any given time. It

# is recommended that you keep this at 1 in order to prevent users from

# unfairly queueing your connection.

# Default: 1


max_peruser_uploads = 1



# Determines whether or not to hide directories which contain a leading dot.

# These directories are commonly meant to be "hidden" and thus should not be

# submitted to the network. Selecting 0 here will submit all directories.

# On Windows files will additionally be checked for the hidden attribute and

# not shared if it is set and hide_dot_files is 1.

# Default: 1

hide_dot_files = 1



# Colon separated list of fully qualified paths you wish to share. These

# directories will be recursed at giFT's startup and the files contained

# within will be subjected to an MD5 hashing. The results will be cached and

# will only be recalculated on a per share basis when the size or

# modification time in the cache and on disk disagree, or the file name is

# changed.

# Sanity notice:


# Do NOT share source directories! Remote nodes will refuse to index your

# shares if you are attempting to submit more than 64000 files.

# Security notice:

# Do not share directories which may contain sensitive information, such as

# ~ ($HOME). Also note that any directories shared here will be stripped of

# all but the last path element when submitted to other nodes for indexing,

# effectively "hiding" the directory prefix.

# Windows users: please use the following path specification:

# /[drive]/dir1/dir2:/[drive]/dir3/dir4 ...

# For example, to refer to C:\Program Files\giFT\shares and D:\shares, use:

# /C/Program Files/giFT/shares:/D/shares

# Default: none

root = none



# Maximum amount of simultaneous uploads allowed. Setting this to 0 will

# cause giFT to not limit outgoing transfers. Use shares_hidden to disable

# sharing.


# Default: 0

max_uploads = 1



# Whether we allow sharing. Setting this to 0 will allow sharing and uploads

# up to max_uploads. If this is 1 your shares will be hidden from the world

# and uploading will be denied. This may also be handled at run time via your

# GUI of choice.

# Default: 0

shares_hidden = 1



# Controls when giFT periodically rescans your shared directories for any

# changes (new files, missing files, changed files, etc.) and communicates

# those changes to the underlying protocols. This parameter specifies how

# often (in seconds) you want that to happen.

# For your reference

# 0 turns off periodic auto-resync

# 3600 one hour


# 86400 one day

# 604800 one week

# Default: 86400

auto_resync_interval = 0



# Controls whether or not giFT should automatically share files that you have

# finished downloading. This feature significantly improves the network's

# abundance of files and helps ease the load on those sharing popular files.

# It's a Good Thing (TM), please leave it on.

# Avoid setting your completed directories through sharing/root, as that

# setting will duplicate recursion of the completed directory and cause

# generally undesirable results.

# Default: 1

share_completed = 1



# Controls whether giFT ignores the incoming directory when sharing files. If

# this is 1 and the incoming directory is within one of the sharing roots all


# files in and below it will not be shared. This is what you want in all known

# universes. Should you find yourself running this software on a parallel

# world where it is necessary to share the incoming files please make sure it

# doesn't affect us back here. Thank you.

# Default: 1

ignore_incoming = 1



###############################################################################

# USER SPACE BANDWIDTH CONTROL

-

[bandwidth]

------------

# Bandwidth throttling allows giFT to have some basic control over your

# bandwidth usage. This code operates in user space, and as a result can not

# guarantee perfect accuracy. If you wish to use this feature, please

# consider using a more reliable kernel space option first. As always, google

# should be able to assist you there.


# The following configuration switches control the maximum number of bytes

# per second allowed for the given stream direction. A setting of 0 will

# disable throttling for that direction.

# Default: 0

downstream = 0

upstream = 0





username [] = Kuin__

sessions [4] = 15

timeout [300] =



#######FIN DE ARCHIVO giftd.conf##################





*********************************************************




5) Actualización de nodos



Para que la red Ares funcione correctamente hay que actualizarle los nodos.

Bajar este archivo: http://rapidshare.com/files/68866656/nodes.html



y copiarlo en /home/usuario/.gift/Ares/

El archivo se llame nodes



**********************************************************



6) Ejecución

///////////////////////



Finalmente para hacerlo funcionar una vez instalado solo hace falta ejecutar el deamon




$ giftd -v



y luego su entorno



$ apollon o $ giftoxic



De todas formas ambos gui al ejecutarse si no esta el giftd funcionando lo hacen arrancar, para verificar si esta corriendo

el giftd, puede utilizar la linea de comandos.



$ ps -ax |grep giftd

26238 pts/3 S+ 0:17 giftd -v



Eso quiere decir que esta en ejecución.



************************************************************



7) Screenshots:


////////////////////////















NO TOMAR EN CUENTA LOS USUARIOS CONECTADOS EN ESTA IMAGEN.











ESPERO QUE LES SIRVA, SI LES GUSTA VOY A CONTINUAR POSTEANDO TUTORIALES DE ESTE TIPO PARA GNU/LINUX.

1 comentario:

  1. SOY VENEZOLANO MUY BIEN PROBARE TENGO UNA PC CON MANDRIVA TENGO VARIOS ENTORNOS GRAFICOS KDE GNOME FLUBOX XFCE SUPENGO QUE AL BAJAR LOS PLUGINES FUNCIONAN TANTO PARA GNOME COMO PARA XFCE SUPONGO QUE SI EN FIN ESTA BIEN

    UNA PREGUNTA COMO PUEDO INSTALAR EL PLUGIN C++ O DE BASIC EN EL DISENADOR QT Y EN KDEVELOP TENGO LA VERSION 3.5 EN MANDRIVA FREE SPRING 2008.1 EL DETALLE QUE ES QUE YO TENGO INSTALADOS ESTOY PROGRAMAS PERO SI YO QUIERO INTRODUCIR UN CODIGO EN EL DISENADOR QT ME DICE QUE FALTA EL PLUGIN C++ DONDE LO CONSIGO Y COMO LO INSTALO

    GRACIA LE AGRADESCO LA AYUDA LO MAS PRONTO POSIBLE

    AQUI EN VENEZUELA ESTA NACIENDO UN BOOM HACIA LINUX Y ESTA CRECIENDO CREO LINUX TIENE BUEN FUTURO EN ESTE PAIS HE CONSEGUIDO A VARIAS PERSONA HABLANDO DE LINUX Y A LAS PERSONAS QUE LE HE INSTALADO LINUX LES A GUSTADO AUNQUE ALGUNOS SE HAN ENRREDADO CON LA COMPILACION MAS QUE TODO LOS QUE NO TIENEN CONEXION A INTERNET

    ResponderEliminar