--- /dev/null
+package main
+
+import (
+ "fmt"
+ "io"
+ "log"
+
+ "github.com/anacrolix/torrent"
+)
+
+const testMagnet = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F"
+
+func main() {
+ err := mainErr()
+ if err != nil {
+ log.Fatalf("error in main: %v", err)
+ }
+}
+
+func mainErr() error {
+ cfg := torrent.NewDefaultClientConfig()
+ // We could disable non-webseed peer types here, to force any errors.
+ client, _ := torrent.NewClient(cfg)
+
+ // Add directly from metainfo, because we want to force webseeding to serve data, and webseeding
+ // won't get us the metainfo.
+ t, err := client.AddTorrentFromFile("testdata/The WIRED CD - Rip. Sample. Mash. Share.torrent")
+ if err != nil {
+ return err
+ }
+ <-t.GotInfo()
+
+ fmt.Println("GOT INFO")
+
+ f := t.Files()[0]
+
+ r := f.NewReader()
+
+ r.Seek(5, io.SeekStart)
+ buf := make([]byte, 5)
+ n, err := r.Read(buf)
+
+ fmt.Println("END", n, buf, err)
+
+ t.DownloadAll()
+ client.WaitAll()
+ return nil
+}