11a6fce027
* vendor bencode library github.com/zeebo/bencode * add metainfo parsing library from XD * fix up upload handler so to be less cluttered
20 lignes
467 o
Go
20 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
|
|
}
|