Cuando deseamos publicar o compartir un nuevo recurso necesitamos dos cosas: (1) un tracker y (2) crear el fichero .torrent asociado al recurso. El tracker pondrá en contecto a los diferentes peers y el fichero .torrent indicará cómo hacer esto.
Necesitaremos un host público con el paquete bittorrent instalado. Generalmente tras instalar este paquete se lanza el servicio correspondiente (/etc/init.d/bittorrent). El fichero de configuración de este servicio lo encontramos en /etc/default/bittorrent. Ahí podremos controlar varios aspectos del servidor, como por ejemplo, el puerto de escucha. Resumiendo, para instalar el tracker hacer:
tracker# apt-get install bittorrent
|
Que instalará y lanzará el servidor. También es posible lanzar el servidor a mano usando:
tracker$ bttrack --port 6969 --dfile dstate
|
dstate es el nombre del archivo de log en formato binario y 6969 sería el puerto de escucha.
Finalmente, existe un conjunto de trackers públicos que podemos utilizar si no disponemos acceso a un host público para hacer lo anterior. Algunos ejemplos son:
http://open.tracker.thepiratebay.org/announce
http://www.torrent-downloads.to:2710/announce http://denis.stalker.h3q.com:6969/announce udp://denis.stalker.h3q.com:6969/announce http://www.sumotracker.com/announce |
Necesitaremos alguna utilidad para hacer esto. La mayoría de los clientes permiten hacerlo fácilmente. Usando el paquete bittorrent escribiremos:
seed$ btmakemetafile camino/al/recurso protocol://tracker:port/directory
# Un ejemplo más real: ssed$ btmakemetafile login_fortunes http://193.147.118.81:6969/announce |
donde recurso es el nombre del fichero o del directorio que queremos compartir, protocol es el protocolo a usar (generalmente http), tracker el la dirección IP o el nombre del servidor que ejecuta el tracker, port es el puerto de escucha del tracker y directory es el nombre del directorio que el tracker va a utilizar para anunciar dicho recurso.
Este comando generará el fichero .torrent que contiene dicha URL, el nombre de el/los fichero/s compartido/s, el tamaño del bloque y otra información que se utiliza saber si los bloques se transmiten correctamente. Dependiendo del tamaño del recurso a compatir y de la potencia de la máquina, btmakemetafile empleará más o menos tiempo porque ha de recorrer el recurso completo para generar el fichero .torrent. Esto hace además que el contenido del recurso no puede ser variable, es decir, si cambia su contenido debe regenerarse el fichero .torrent asociado.
Para que un recurso sea compartido con éxito al menos un peer debe tener una copia completa de él. Para formar parte de la red de compartición como seed, tras generar el fichero .torrent sólo hay que escribir:
seed$ btdownloadcurses recurso.torrent
|
en el directorio donde está alojado el recurso recurso. Es decir, el mismo comando que usaríamos si no fuéramos un seed.