Я изучаю протоколы BitTorrent и у меня есть вопрос, в котором я не совсем уверен.
Согласно BEP009,
формат URI магнита
Формат URI магнита:
v1: магнит:?xt=urn:btih:info-hash&dn=name&tr=tracker-url
v2: магнит:?xt=urn:btmh:tagged-info-hash&dn=name&tr=tracker-url
info-hash Закодированный в шестнадцатеричном формате информационный хеш, всего 40 символов. Для совместимости с существующими ссылками клиенты также должны поддерживать 32-символьный информационный хэш в кодировке base32.
tagged-info-hash — это отформатированный в шестнадцатеричном формате полный информационный хеш для торрентов в новом формате метаданных. Точные темы «btmh» и «btih» могут существовать в одном и том же магните, если они описывают один и тот же гибридный поток.
пример магнитной ссылки: magnet:?xt=urn:btih:407AEA6F3D7DC846879449B24CA3F57DB280DE5C&dn=ubuntu-educationpack_14+04_all&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969
Поправьте меня, если я ошибаюсь, но urn:btih:407AEA6F3D7DC846879449B24CA3F57DB280DE5C
— это info-hash
из магнитной ссылки, и мне нужно будет расшифровать его, чтобы получить метаданные bencoded
, такие как перечисленные в BEP015. Такие вещи, как: downloaded, left, uploaded, event, etc.
Мой вопрос в том, как мне декодировать это в python?