Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/util/magnet.go
Jeff Becker 11a6fce027 add torrent file parsing for upload form
* vendor bencode library github.com/zeebo/bencode

* add metainfo parsing library from XD

* fix up upload handler so to be less cluttered
2017-05-06 07:43:24 -04:00

21 lignes
467 o
Go

package util
import (
"encoding/hex"
"fmt"
"net/url"
)
// convert a binary infohash to a magnet uri given a display name and tracker urls
func InfoHashToMagnet(ih [20]byte, name string, trackers ...url.URL) (str string) {
str = hex.EncodeToString(ih[:])
str = fmt.Sprintf("magnet:?xt=urn:btih:%s", str)
if len(name) > 0 {
str += fmt.Sprintf("&dn=%s", name)
}
for idx := range trackers {
str += fmt.Sprintf("&tr=%s", trackers[idx].String())
}
return
}