lunes, 28 de marzo de 2011

Programa para manejar archivos .torrent

La idea era escribir un programa que manejara archivos .torrent ( añadir, modificar y eliminar datos ) y de paso un mini-libreria ( tres archivos ).

 Por partes, aquí está el código [ btcat.zip ], se compila con make o compilando directamente btcat.c

Los argumentos son estos:

./btcat -f <file> -l [-b]
./btcat -f <file> -e <element> {-s|-a <type>|-r|-m <value>} -o <output> [-b]
./btcat -n -o <output>
./btcat -h
-h: Shows this help
-l: Lists the *.torrent file content
-s: Shows an element
-r: Deletes an element
-a: Adds an element
-n: Creates a new file
Types:
  d: Dictionary
  l: List
  i: Integer
  s: String
  Note: Dictionaries and lists ignore the value
-m: Modify an element
-e: File element
-o: Output file
-b: Shows also the binary information
-f: Set's the target file


Para aclararnos, para listar la información en un archivo:

./btcat -f <archivo.torrent> -l

Para mostrar un elemento concreto:

./btcat -f <archivo> -e <elemento> -s

El elemento se selecciona usando como separador ':', por ejemplo para seleccionar info -> length sería info:length

Nota: en las listas se indicará el elemento con un número ( empezando por 0 ), 0 si no se especifica otro, para la primera url de url-list:

./btcat -f <archivo> -e url-list:0 -s

Para borrar uno:

./btcat -f <archivo> -e <elemento> -r -o <archivo de salida>

 Para modificar:

./btcat -f <archivo> -e <elemento> -m <nuevo valor> -o <archivo de salida>

 Para añadir ( como lista/diccionario/cadena vacía o número 0 ):

./btcat -f <archivo> -e <elemento> -a <typo> -o <archivo de salida>

_EOF_

No hay comentarios:

Publicar un comentario