package main import ( "fmt" "io/ioutil" "log" "net/url" "os" "dim13.org/btget/bencode" "dim13.org/btget/meta" ) func Open(fname string) (meta.Torrent, error) { var tor meta.Torrent body, err := ioutil.ReadFile(fname) if err != nil { return meta.Torrent{}, err } err = bencode.Unmarshal(body, &tor) if err != nil { return meta.Torrent{}, err } return tor, nil } func main() { if len(os.Args) != 2 { log.Fatal("usage: ", os.Args[0], " ") } tor, err := Open(os.Args[1]) if err != nil { log.Fatal(err) } fmt.Println(tor) fmt.Println(url.QueryEscape(string(tor.InfoHash))) }