Servidor Tracker Torrent
Servidor Tracker Torrent
Servidor Tracker Torrent
________________________________________________ Sitio web oficial donde se fabrican este y otros proyectos http://www.forat.info/ ________________________________________________ Este y otros proyectos listos para descargar en formato PDF http://project.forat.info ________________________________________________
Este servidor una vez montado tiene activado el servidor SSH con el podemos subir archivos y conectarnos remotamente. Con esto solo necesitamos que la CPU este conectada a la corriente y a la red. Por otro lado este servidor tiene PhpMyAdmin para poder administrar las bases de datos MySQL, PhpSysInfo para ver las estadsticas del hardware y el servidor tracker torrent RivetTracker con el que administraremos el tracker. Todo esto se puede controlar va web con lo que cuando tengamos el servidor terminado tan solo necesitamos una terminal y un navegador remoto para controlarlo. Comenzamos con el temario ... Introduccin
Vol 1 Instalacin Linux Ubuntu Server Vol 2 IP Fija + DNSDynamic Vol 3 PhpMyAdmin + PhpSysInfo Vol 4 RivetTracker Vol 5 Creando archivos .torrent con Transmissin para RivetTracker
(Introduccin)
Con el reciente cierre de MegaUpload mucha gente se est volviendo loca y se ha quedado un poco desorientada por no saber de golpe de donde bajar contenidos de la red. Muchos vuelven al pasado donde se usaban las conexiones P2P. si se siguen cerrando todos los servidores donde la gente aloja contenidos va a ser mucho mas difcil compartir cosas en la red. Yo mismo alojaba en ellos todos los proyectos en PDF que he fabricado para esta web, para que pudierais descargarlos y leerlos offline. No todo el mundo aloja piratera en ese tipo de servicios que ofrecen ciertas empresas, en mi caso el material que tenia alojado era original mio y no cometa ninguna ilegalidad al compartirlos.
Seguramente muchos de vosotros alojabais vuestros documentos, trabajos propios, software libre, etc Con estas nuevas leyes que los gobiernos nos van imponiendo los usuarios tendemos a buscarnos la vida para compartir nuestros contenidos. Esto es exactamente lo que vamos a hacer con este nuevo proyecto que vamos a montar, vamos a buscarnos la vida montndonos un servidor basado en Ubuntu Server que ser nuestro Tracker Torrent publico o privado, eso ya lo dejar a eleccin vuestra. As podremos tener un ordenador en casa o uno contratado en alguna empresa de hosting para compartir lo que queramos.
Para comenzar vamos a descargarnos la imagen ISO del sistema operativo desde aqu para 32 Bits o
64 Bits segn la arquitectura de tu procesador. Una vez tengamos la imagen la quemamos en un CD o un USB con el que arrancaremos nuestro futuro servidor tracker torrent y veremos lo siguiente
Elegimos nuestro idioma para el instalador del sistema y pulsamos la tecla ( Enter )
Por norma casi ningn teclado tiene problemas con este sistema operativo, si sueles tener problemas y no te detecta algunas teclas elije la opcin ( Si ). Por defecto seleccionaremos ( No ) y pulsamos la tecla ( Enter )
Ahora vamos a ponerle un nombre a nuestro nuevo servidor en mi caso ( TrackerTorrent ) y pulsamos la tecla ( Enter )
Para el sistema de particiones no necesitamos nada complicado para su correcto funcionamiento aunque os las podis montar al gusto. Para simplificar un poco mas la instalacin seleccionamos la opcin ( Guiado utilizar todo el disco ) y pulsamos la tecla ( Enter )
Si tenis varios discos duros seleccionamos los veremos aqu. Seleccionamos el disco donde queremos instalar el sistema y pulsamos la tecla ( Enter )
Verificamos que todos los datos de la instalacin son correctos y seleccionamos la opcin ( Si ), seguidamente pulsamos la tecla ( Enter )
Introducimos un nombre para la nueva cuenta de usuario que vamos a crear y pulsamos la tecla ( Enter )
Seguidamente introducimos un nombre de usuario que por lo general suele ser el anterior y pulsamos la tecla ( Enter )
Elije la opcin que mas te guste el cifrado de disco es opcional. Seguidamente pulsamos la tecla ( Enter )
Introducimos la URL del proxy si es que estamos detrs de el y si no ( como en casi todos los casos ) dejamos el espacio en blanco y pulsamos la tecla ( Enter )
Como necesitamos un servidor web y conexiones remotas seleccionamos con la barra espaciadora las opciones ( OpenSSH server ) y ( LAMP server )
El servidor web LAMP incorpora el servidor de bases de datos MySQL, en este paso le introduciremos la contrasea para el usuario ( root ) de las bases de datos y pulsamos la tecla ( Enter )
Y finalmente seleccionamos la opcin ( Continuar ) y pulsamos la tecla ( Enter ). La maquina se reiniciar y veremos lo siguiente
Ya tenemos Ubuntu Server correctamente instalado en nuestro nuevo servidor. Podemos identificarnos con el usuario que creamos durante la instalacin. Si quieres apagarla tan solo tienes que teclear ( sudo halt ) introduce tu password y la maquina se apagar. Prximamente instalaremos y configuraremos la ultima versin de PhpMyAdmin, le daremos una IP fija a nuestra tarjeta de red, como no instalaremos phpsysinfo, configuremos Apache Web Server, localizaremos nuestro Servidor Tracker Torrent detras de nuestro router con IP dinamica con DNSdynamic, y finalmente instalaremos y configuraremos RivetTracker con el que montaremos nuestro propio servidor tracker torrent privado o publico.
IP Fija + DNSDynamic
Una vez instalado el sistema operativo Ubuntu Server de serie vamos a comenzar su configuracin con por cambiar la IP dinamica que tiene nuestra tarjeta de red por una fija. Este servidor como todos los servidores necesita una ip fija para poder redireccionar los puertos que necesita para ofrecer servicios hacia Internet desde nuestro Router. Para los que no sepis como va el tema del redireccionamiento de puertos aqu os dejo un pequeo esquema
Para comenzar arrancamos nuestro Servidor Tracker Torrent, nos identificamos y hacemos una copia de seguridad del archivo que configura nuestra tarjeta de red tecleando lo siguiente
sudo cp /etc/network/interfaces /etc/network/interfacesOLD Seguidamente editamos el archivo de configuracin ( interfaces ) tecleando lo siguiente sudo vi /etc/network/interfaces
Y veremos lo siguiente
Como podemos ver est activado el modo ( DHCP ) con el que nuestro Router nos asigna automticamente una IP diferente cada vez que arrancamos la maquina con lo que nos sera un engorro entrar a nuestro Router cada vez que arranquemos a redireccionar los puertos que necesitemos. Para cambiarla a esttica es tan sencillo como cambiar ( dhcp ) por ( static ) y agregar los siguientes datos con el rango de tu red
Una vez configurado con nuestros datos de red salimos del editor pulsando la tecla ( ESC ), seguidamente ( :wq! ) y reiniciamos la red para que coja los cambios tecleando lo siguiente
sudo /etc/init.d/networking restart Seguidamente ejecutamos el comando ( ifconfig ) con el que comprobaremos nuestra nueva configuracin ... ifconfig
Ahora que tenemos una IP fija en el servidor podemos entrar en nuestro Router y redireccionar los puertos 80 para el servidor web, el 22 para el servidor SSH y los tpicos de cualquier cliente BitTorrent, desde el 6881 al 6889. Si quieres estar algo mas seguro no redirecciones el puerto 22 hacia tu servidor a no ser que necesites administrarlo desde el exterior.
Una vez redireccionados los puertos desde el router hacia la IP fija de nuestro servidor vamos a suscribirnos al servicio DNSDynamic con el que encontraremos nuestro servidor desde el exterior de nuestra red.
Como cambiamos la IP dinmica por una fija ahora podemos encontrar nuestro servidor con la misma IP dentro de nuestra red de rea local pero la IP de nuestro Router sigue cambiando cada cierto tiempo o cada vez que lo reiniciamos.
DNSDynamic es un servicio muy parecido al servicio de redireccionamiento DNS No-Ip el cual nos permite localizar nuestro servidor desde una direccin web que ellos nos facilitan la cual se actualiza peridicamente con la IP publica que tengamos en el momento.
Para comenzar vamos a darnos de alta en el servicio gratuito de DNSDynamic desde aqu
Como el mensaje nos dice, ahora revisaremos nuestro correo y nos encontraremos algo como esto ...
Como podemos ver existen tres opciones, como todava no tenemos ningn dominio registrado vamos a registrarnos uno. Pulsamos sobre el enlace ( Add )
Aqu tienes que introducir el nombre que quieras y pulsando sobre la pestaa lateral aparecern todos los dominios que tienen disponibles. En mi caso he elegido la direccin ( trackertorrent.dnsd.info ). Una vez elegida nuestra direccin verificamos que el dominio est disponible con un click sobre el botn ( Check availability )
Si est disponible ya podemos ver la IP de nuestro router relacionada con el nuevo dominio. Pulsamos sobre el botn ( Add )
Gratuitamente podemos registrar dos dominios as que repitiendo la operacin podemos registrar otro adicional. En nuestro caso vamos a continuar con el tutorial y seguimos por la instalacin del cliente el cual se ocupar de ir dndole avisos a DNSDynamic de nuestra IP cada cierto tiempo automticamente tecleando lo siguiente ...
Seleccionamos ( otro ) y pulsamos la tecla ( Enter ). En la siguiente pantalla dejamos el espacio en blanco, pulsamos de nuevo la tecla ( Enter ) y aparecer lo siguiente
Introducimos la cuenta de correo con la que nos registramos en DNSDynamic y pulsamos la tecla ( Enter )
Ahora vamos a editar el fichero de configuracin de el cliente ( ddclient ) en nuestro servidor tecleando lo siguiente
sudo vi /etc/ddclient.conf
Insertamos las opciones que le faltan a la configuracin de serie, comprobamos que todo es correcto y pulsamos la tecla ( ESC ) y seguidamente ( :wq! ). Para finalizar reiniciamos el cliente para que coja la nueva configuracin tecleando
sudo /etc/init.d/ddclient restart Y ya tenemos nuestro dominio con DNSDynamic relacionado para siempre con nuestra IP Dinmica que nos da el proveedor de Internet. Si redireccionaste bien desde tu router el puerto 80 hacia la IP fija que le dimos al servidor al comenzar este tutorial deberamos ver el directorio raz del servidor web apache al introducir la direccin web que registramos anteriormente, en mi caso http://trackertorrent.dnsd.info.
PhpMyAdmin + PhpSysInfo
Este servidor Tracker Torrent que estamos montando necesitar una base de datos para poder funcionar pero este servidor como todo buen servidor web no solo podr alojar el Tracker Torrent si no que tambin podr alojar CMS como WordPress que necesiten otras bases de datos. Para simplificar la creacin y manipularon de estas bases de datos vamos a instalar PhpMyAdmin el cual nos ofrece una interface web muy simple y til
Arrancamos nuestro servidor tracker torrent, nos identificamos y comenzamos. Para tener las ultimas versiones de todos los programas que instalemos actualizamos los repositorios tecleando lo siguiente
Seleccionamos la opcin ( No ) y pulsamos la tecla ( Enter ). Una vez instalado vamos a editar su archivo de configuracin con
sudo vi /etc/phpmyadmin/config.inc.php Buscamos la linea donde habla del mtodo de autenticacin que por defecto es ( cookie )
Salimos del editor ( vi ) pulsando la tecla ( ESC ), seguidamente ( :wq! ) y pulsamos la tecla ( Enter ). Seguidamente abrimos un navegador en otro ordenador conectado a nuestra red e introducimos ( http://IP.DE.TU.SERVER/phpmyadmin ) y veremos lo siguiente
Introducimos el usuario ( root ) para las bases de datos MySQL y la contrasea que le dimos durante la instalacin de Linux Ubuntu Server y pulsamos la tecla ( Enter )
PhpMyAdmin es el panel de control web desde el cual manipularemos las bases de datos sin problemas Para controlar va web a golpe de click el hardware de nuestro servidor usaremos PhpSysInfo. Si este servidor lo vamos a usar como Tracker Torrent donde nosotros y nuestros usuarios pueden subir archivos y es aconsejable poder ver el espacio disponible en disco en cualquier momento de una forma rpida. La instalacin de PhpSysInfo es tan sencilla como teclear lo siguiente
sudo apt-get install phpsysinfo Una vez instalado para usarlo no necesitamos configurar nada, tan solo tenemos que ejecutar desde un navegador la URL ( http://IP.DE.TU.SERVER/phpsysinfo ) y veremos lo siguiente
Si no queremos configurarlo no es necesario porque funciona correctamente sin mas, pero si quieres pulirlo aun mas PhpSysInfo tiene un fichero de configuracin donde podemos activar y desactivar opciones a golpe de ( true ) para activar o ( false ) para desactivar. Para editar el fichero de configuracin tecleamos
sudo vi /etc/phpsysinfo/config.php
En este fichero lo mas interesante est en la seccin ( DISPLAY PARAMETERS ) donde podemos encontrar opciones como define(PSI_DEFAULT_LANG, en); #Cambia el Idioma por defecto define(PSI_DEFAULT_TEMPLATE, phpsysinfo); #Cambia el Theme por defecto define(PSI_SHOW_PICKLIST_LANG, true); #Activa o desactiva el selector de idioma define(PSI_SHOW_PICKLIST_TEMPLATE, true); #Activa o desactiva el selector de Themes define(PSI_SHOW_MOUNT_POINT, true); #Muestra o no el punto de montaje de las particiones Y un largo etc, de opciones para activar sensores de temperatura, soporte para medir la carga de un Sai conectado a la maquina tipo APC . Si te aventuras a configurarlo al completo te recomiendo que te abras un navegador con la direccin ( http://IP.DE.TU.SERVER/phpsysinfo ) y conforme vayas modificando cosas ve guardando el archivo sin salir del editor pulsando la tecla ( ESC ), seguidamente ( :w! ) y recargando el navegador. Esto es aconsejable por si se os queda la pantalla en blanco cosa que suele pasar por ejemplo si activas algn programa que no tengas instalado. Hacer estas pequeas comprobaciones os ahorrar dolores de cabeza. Una vez configurado a nuestro gusto pulsamos la tecla ( ESC ), seguidamente ( :wq! ) y listo.
Ya tenemos el sistema operativo Linux Ubuntu Server con su servidor LAMP instalado, la red correctamente configurada con su IP fija, el servicio DNSDynamic configurado con lo que ya podemos encontrar nuestro servidor desde internet, ahora tambin tenemos PhpMyAdmin y PhpSysInfo correctamente configurados y listos para funcionar.
RivetTracker
Para montar este Tracker Torrent he probado casi todos los programas que hay para esta finalidad. Me he encontrado de todo, desde los que solo se pueden usar como espejo, hasta los que alojan contenidos dentro del tracker y desde all se descargan. Algunos lo he echo andar y otros simplemente no han dado signos de vida. Tras mucho probar me he decidido por RivetTracker. Este es una versin modificada de PHPBTTracker basada en cdigo PHP y usa MySQL como base de datos, trae consigo la mayora de las opciones que traen los trackers mas completos
Con RivetTracker podemos montar con el un tracker torrent publico o privado. Posee panel de administracin, estadsticas y zona de usuarios va web. Desde su interface podemos acceder al panel de control, suscribirnos al RSS y ver la lista de torrents alojados que tenemos disponibles. Mi servidor trackertorrent.dnsd.info ya lo tengo funcionando y como no, los archivos que distribuyo son escritos por mi y no violo ninguna ley en compartirlos ya sea por descarga directa como por P2P
Una vez sabidas las virtudes de RivetTracker, arrancamos nuestro servidor tracker torrent, nos identificamos y tecleamos lo siguiente
cd /var/www/ Nos descargamos el paquete de software RivetTracker tecleando lo siguiente sudo wget http://rivetcode.com/files/rivettracker/rivettracker_103.tar.gz Descomprimimos con fichero con sudo tar xvzf rivettracker_1-03.tar.gz Seguidamente cambiamos el nombre del directorio ( rivettracker ) por ( tracker ) con sudo mv rivettracker tracker Ahora abrimos un navegador e insertamos la direccin de nuestro servidor seguido del directorio ( tracker/install.php ) para comenzar la instalacin, por ejemplo http://IP.DE.TU.SERVER/tracker/install.php o http://DOMINIO.DNSDYNAMIC.ORG/tracker/install.php
Ahora vamos a crear un usuario y una base de datos para que RivetTracker pueda funcionar. Pulsamos sobre el botn ( Click Here ) situado en la parte inferior
En los dos primeros apartados ( admin ) introducimos el nombre de usuario ( root ) y la contrasea real de este usuario en las bases de datos MySQL. El ( hostname ) lo dejamos en ( localhost ) y creamos un nuevo usuario, una contrasea y finalmente le daremos un nombre a la nueva base de datos. Una vez rellenados todos los campos continuamos pulsando el botn ( Install )
Opciones hay para todos los gustos as que podis modificarlas a vuestro antojo. En mi caso he montado el tracker torrent para que sea publico y mnimamente funcione as que tan solo tendremos que ir al apartado * Username for individual who can add torrents to tracker database. This user is only able to create, and not delete torrents to the tracker. For full privileges, see the admin user. Introducimos un nombre para un nuevo usuario con privilegios para subir archivos al tracker. * Password for individual who can add torrents to tracker database. Again, this user is only able to create, and not delete torrents to the tracker. For full privileges, see the admin user. Contrasea para el nuevo usuario.
* Admin username. The admin is able to go to the admin page and show detailed information about the tracker as well as access a few other important tools. The admin is also able to upload torrents to the database just like the previous account. Nombre de usuario para el administrador del tracker que tendr acceso al panel de control. * Password for admin. Again, The admin is able to go to the admin page and show detailed information about the tracker as well as access a few other important tools. The admin is also able to upload torrents to the database. Contrasea para el nuevo usuario administrador. * Main website url that the tracker runs on, example: http://www.mywebsite.com Aqu introducimos nuestro dominio seguido del directorio ( tracker ), en mi caso http://trackertorrent.dnsd.info/tracker * Timezone that the server runs on Y finalmente buscamos nuestro pas para configurar la hora. Si tenis que modificar alguna de estas opciones posteriormente podremos hacerlo desde el panel de control ( Admin ). Continuamos la instalacin pulsando el botn ( Create Config File )
Desde aqu podemos hacer una copia de seguridad de la configuracin que acabamos de darle a RivetTracker. El instalador nos da un par de consejos que despus solventaremos, ahora necesitamos esa copia del archivo de configuracin. Pulsamos sobre el botn ( Download config.php File ) y guardamos el fichero ( config.php ). Ahora necesitamos subirlo al directorio /tracker dentro de la raiz del servidor web. Yo estoy en un ordenador de escritorio con Linux Ubuntu instalado y voy a subirlo desde la terminal con lo siguiente
scp config.php [email protected]:/home/usuario/ Ahora desde la terminal de nuestro servidor tracker torrent copiamos el fichero ( config.php ) al directorio donde est alojado el tracker
sudo cp /home/usuario/config.php /var/www/tracker/ Ahora abrimos un nuevo navegador e ingresamos nuestra direccin del tracker, por ejemplo ( http://IP.DE.TU.SERVER/tracker )
Bien, ya tenemos RivetTracker correctamente instalado y listo para funcionar. Antes de comenzar a subir los archivos torrents vamos a asegurar el tracker borrando el instalador, as que vamos a la terminal de nuestro servidor y tecleamos lo siguiente.
sudo rm /var/www/tracker/install.php RivetTracker tiene la tipica opcin que todo tracker incluye de subir el archivo torrent y la fuente, en su apartado de carga de ficheros nos da dos opciones de subida de ficheros, uno es por ruta de directorios y la otra es por una direccin web. He probado las dos opciones y solo me funciona la que ves localizado el fichero fuente via web con lo que tenemos que crear un directorio donde alojar los archivos que quedaros comprartir desde el tracker. Como tenemos acceso a nuestro servidor tracker torrent via ssh vamos a crear un directorio dentro de nuestra home de usuario y luego crearemos un enlace simbolico desde nuestro directorio hacia el directorio que esta dentro de Apache para que podamos ver los archivos que subamos desde el navegador as podremos incluirle a RivetTracker un sitio web desde donde enlazar los torrents con la fuente Comenzamos creando el directorio donde subiremos los archivos fuente
sudo mkdir /home/usuario/download Damos permisos al directorio que acabamos de crear y tambien al que alojara los archivos .torrent tecleando lo siguiente
sudo chmod 777 /home/usuario/download sudo chmod 777 /var/www/tracker/torrents Ahora crearemos el enlace simbolico hacia el directorio del tracker sudo ln -s /home/usuario/download /var/www/tracker/download/
Y con esto ya tenemos donde alojar los archivos fuentes de nuestros torrents. Recuerda que para subirlos puedes abrir una terminal en el ordenador donde tengas los archivos fuente y teclear
scp archivofuente.zip [email protected]:/home/usuario/download Todo lo que subas ah podrs verlo desde la direccin http://IP.DE.TU.SERVER/tracker/download o http://DOMINIO.DNSDYNAMIC.ORG/tracker/download Ahora hay que crear el .torrent del archivo indicandole el archivo fuente y la URL del tracker torrent. Una vez tengamos el archivo torrent hay que subirlo al tracker con el usuario que creamos para subir archivos indicandole la ruta donde tenemos el .torrent y finalmente la URL de la fuente. Si no os ha quedado claro no os preocupeis que en el siguiente articulos explicaremos como crear un .torrent y como ponerlo en uso con RivetTracker.
En el apartado ( Guardar en ) le indicamos donde queremos que nos guarde el archivo .torrent que vamos a generar, el ( Archivo fuente ) ser el archivo que queremos vincular con este .torrent y que posteriormente subiremos al tracker. En el apartado ( Rastreadores ) tenis que poner la direccin de vuestro tracker y para finalizar si quereis podes incluirle un comentario o hacerlo privado. Una vez rellenados los campos con nuestros datos hacemos click sobre el botn ( Nuevo ) y veremos algo parecido a esto
Pulsamos sobre el botn ( Cerrar ) y listo. Mirad donde lo guardasteis que seguro que est all el nuevo archivo .torrent que acabamos de generar. Ahora vamos a subir todo lo que necesitamos al tracker torrent para que RivetTracker pueda cumplir con su cometido. Antes de nada vamos a subir el archivo fuente a nuestro servidor en el directorio ( download ) que creamos en el articulo anterior para subir las fuentes. Abrimos una terminal y tecleamos
Si recordamos el articulo anterior que hablaba sobre la instalacin de RivetTracker, en ella creamos un usuario especifico para subir archivos .torrent al tracker. Abrimos un navegador y tecleamos nuestra direccin http://IP.DE.TU.SERVER/tracker/newtorrents.php
Como podis ver estamos de nuevo en la pantalla inicial de tracker torrent. Pulsamos sobre el enlace ( +Add Torrent to Tracker Database ) y veremos lo siguiente
Como podemos ver ah esta la URL de nuestro Tracker. Tan solo tenemos que rellenar el apartado ( Torrent file ) dndole la ruta de donde est el archivo .torrent que creamos anteriormente. Marcamos la casilla ( Use GetRight HTTP seeding specification (optional) ) y aadimos la URL de donde su ubica el archivo fuente que subimos anteriormente al directorio ( download ). Tambin dejamos marcada la opcin ( Fill in fields below automatically using data from the torrent file ) y finalmente pulsamos el botn ( Add Torrent to Database ) y listo. Ahora si vamos a la direccin de nuestro tracker torrent veremos que ya lo tenemos en la lista preparado para ser descargado por cualquier cliente torrent.
Hasta aqu hemos llegado con este proyecto de servidor tracker torrent, pronto el ndice y el PDF descargable, como no tambin en formato .torrent desde mi propio tracker ( trackertorrent.dnsd.info ) ________________________________________________________________________________
Sois libres de copiar, modificar o incluso usar este manual para lo que queris incluidos los estudiantes universitarios como proyecto para presentarlo. Este manual ha sido creado para el aprendizaje de todo el que le interese aprender y puede hacer con el lo que quiera. Tan solo se pide por parte del autor que se le reconozca con un link en tu web. ____________________________________________________________________ Una idea original de Forat para Forat.Info La informtica desde otro punto de vista. ____________________________________________________________________