Commit Graph

3270 Commits

Author SHA1 Message Date
Matt Joiner d8611ecf2d
Fix races around Reader and Torrent.Drop when Torrent is closed 2022-04-11 15:44:24 +10:00
Matt Joiner 7671a55a5c
Merge branch 'supress_webrtc_logs' 2022-04-11 14:53:35 +10:00
Matt Joiner 67df8f8cdb
Fix webrtc logging for JS build 2022-04-11 14:53:02 +10:00
Jonathan McDowell a1a820d3c9
Avoid heap allocation in GetRequestablePieces (#734)
The calculation of whether we should ignore a piece in
GetRequestablePieces ends up doing an allocation for every piece, when
all we really need to do is query the index in the torrent. Provide an
IgnorePiece function instead, which avoids the need for a temporary
allocation.

Observed to cut out 40% of object allocations in some workloads (large
download, lots of seeds).
2022-04-11 14:22:05 +10:00
Matt Joiner cba434999a
cmd/torrent: Fix panic with IPv6 public IP 2022-04-11 14:00:06 +10:00
alex.sharov fc3faca117 discard logger factory 2022-04-09 14:06:05 +07:00
Matt Joiner d0dd0a4057
Update anacrolix/envpprof 2022-04-08 14:12:23 +10:00
Matt Joiner a22150ab61
Ensure unlock occurs on panic in reader 2022-03-31 17:04:36 +11:00
Matt Joiner dd1ca6f514
Use Info.BestName in a few more places 2022-03-18 09:15:50 +11:00
Matt Joiner aa4a831c78
Rearrange transfer tests so build directives are applied by the right packages 2022-03-17 16:08:00 +11:00
Matt Joiner 3f74e192f6
Merge branch 'master' into crawshaw-386-wasm 2022-03-17 15:30:07 +11:00
Matt Joiner e801f8518f
Merge branch 'go1.18' 2022-03-17 15:16:04 +11:00
Matt Joiner 57b8af7d51
cmd/torrent: Add download --save-metainfos and fix up signal notification 2022-03-17 15:08:06 +11:00
Matt Joiner ff3b74ad88
Prefer UTF-8 fields when present 2022-03-17 15:07:10 +11:00
Matt Joiner a1072bfee9
Add Info "name.utf-8" field
Comes up frequently with non-English torrents
2022-03-17 14:59:36 +11:00
Matt Joiner 859f670964
Expose File.{Begin,End}PieceIndex 2022-03-17 14:59:02 +11:00
Matt Joiner 472894d9dd
Update dht logging 2022-03-17 14:58:32 +11:00
Matt Joiner 32d89830ed
Use generic pubsub 2022-03-17 14:55:55 +11:00
Matt Joiner c39a7d3012
go1.18 2022-03-17 13:56:23 +11:00
Matt Joiner 4fdbe734bb
Add dummy sqlite storage Go file 2022-03-15 17:52:24 +11:00
Matt Joiner fedc611f4b
Don't build storage/sqlite tests without cgo 2022-03-15 15:51:41 +11:00
Matt Joiner 7979d7ef96
Fix 386 cross compile and wasm build for crawshaw 2022-03-15 14:37:52 +11:00
Matt Joiner 5a61d8f6ac
Merge branch 'crawshaw' 2022-03-15 13:42:34 +11:00
Matt Joiner 55b178a8ca
Export Torrent.UseSources 2022-03-15 13:42:00 +11:00
Matt Joiner 39af2fe8f2
Merge branch 'http-proxying' 2022-03-15 12:41:22 +11:00
Matt Joiner 361300cc93
Merge branch 'master' into crawshaw 2022-03-11 14:23:13 +11:00
Matt Joiner a319506dda
Expose Torrent.AddWebSeeds 2022-03-11 14:23:05 +11:00
Matt Joiner ec2b1b2073
Support banning webseeds 2022-03-11 14:05:31 +11:00
Matt Joiner 162cef5d1b
When banning an IP drop peers that match 2022-03-11 13:59:47 +11:00
Matt Joiner 91ecb1f0aa
Pull GO_LOG support from anacrolix/log 2022-03-11 13:56:41 +11:00
Matt Joiner 32501740f2
Support banning webseeds 2022-03-11 13:33:34 +11:00
Matt Joiner ef3a53d2e4
Pull GO_LOG support from anacrolix/log 2022-03-11 13:32:45 +11:00
Matt Joiner 529eb4b387
Add cmd/torrent-create -u 2022-03-11 12:11:01 +11:00
Matt Joiner 53f26d7d04
Test that empty info names are ignored in multi-file torrent webseed URLs 2022-03-11 12:03:18 +11:00
Matt Joiner 0062680e8e
Add cmd/torrent-create -i 2022-03-11 10:47:02 +11:00
Matt Joiner a3073edb43
Merge branch 'master' into crawshaw 2022-03-09 20:58:06 +11:00
Matt Joiner 9ac5ce70de
cmd/torrent: Add TODO about missing subcommand 2022-03-09 20:57:54 +11:00
Matt Joiner 02b6ee9954
Add bencode.Bytes.GoString 2022-03-09 20:57:23 +11:00
Matt Joiner 859d31facb
cmd/torrent: Add --port-forward 2022-03-09 20:56:48 +11:00
Matt Joiner 86c7c7c7bb
cmd/torrent: Add --port-forward 2022-03-09 20:56:06 +11:00
Matt Joiner 09bc6d118e Merge branch 'master' into crawshaw 2022-03-02 10:51:36 +11:00
Matt Joiner a450bbe6b2 cmd/torrent announce: Use NumWant -1
tracker.opentrackr.org will actually send no peers back unless you ask for them.
2022-03-02 10:51:19 +11:00
Matt Joiner 30a5d079be Quote http tracker error response body 2022-03-02 10:49:55 +11:00
Matt Joiner bf81f4a528 Merge branch 'http-proxying' into crawshaw 2022-02-25 19:59:47 +11:00
Matt Joiner 6e760a6210 Expect 200 OK in torrent source response 2022-02-25 19:59:16 +11:00
Matt Joiner 6f9390a125 Fix error quoting in log 2022-02-25 19:59:16 +11:00
Matt Joiner cb1291d565 Separate torrent sources source file 2022-02-25 19:59:16 +11:00
Matt Joiner d06f990b81 Use HTTP proxy config for torrent sources 2022-02-25 19:59:16 +11:00
Matt Joiner 716dc55321 Fix race in MergeSpec using DisableInitialPieceCheck 2022-02-25 19:55:26 +11:00
Matt Joiner 09df09596d Expose webseed.EscapePath 2022-02-23 18:03:52 +11:00