qbittorrent qbitorrent not gratis detected descargar descarga configurar python bittorrent magnet-uri

qbitorrent - qbittorrent python not detected



Dado un archivo.torrent, ¿cómo genero un enlace magnético en python? (1)

Puede hacer esto con el módulo bencode , extraído de BitTorrent.

Para mostrarle un ejemplo, descargué un torrent ISO de Ubuntu desde aquí:

http://releases.ubuntu.com/12.04/ubuntu-12.04.1-desktop-i386.iso.torrent

Luego, puedes analizarlo en Python así:

>>> import bencode >>> torrent = open(''ubuntu-12.04.1-desktop-i386.iso.torrent'', ''r'').read() >>> metadata = bencode.bdecode(torrent)

Un hash de imán se calcula solo a partir de la sección "información" de los metadatos del torrente y luego se codifica en base32, como esto:

>>> hashcontents = bencode.bencode(metadata[''info'']) >>> import hashlib >>> digest = hashlib.sha1(hashcontents).digest() >>> import base64 >>> b32hash = base64.b32encode(digest) >>> b32hash ''CT76LXJDDCH5LS2TUHKH6EUJ3NYKX4Y6''

Puede verificar que esto es correcto mirando here y verá que el enlace magnético es:

magnet:?xt=urn:btih:CT76LXJDDCH5LS2TUHKH6EUJ3NYKX4Y6

Si desea completar algunos parámetros adicionales al imán URI:

>>> params = {''xt'': ''urn:btih:%s'' % b32hash, ... ''dn'': metadata[''info''][''name''], ... ''tr'': metadata[''announce''], ... ''xl'': metadata[''info''][''length'']} >>> import urllib >>> paramstr = urllib.urlencode(params) >>> magneturi = ''magnet:?%s'' % paramstr >>> magneturi ''magnet:?dn=ubuntu-12.04.1-desktop-i386.iso&tr=http%3A%2F%2Ftorrent.ubuntu.com%3A6969%2Fannounce&xl=729067520&xt=urn%3Abtih%3ACT76LXJDDCH5LS2TUHKH6EUJ3NYKX4Y6''

Necesito una forma de convertir .torrents en enlaces imán. Quisiera una manera de hacerlo en python. ¿Hay bibliotecas que ya lo hacen?