]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
2 years agoFix races around Reader and Torrent.Drop when Torrent is closed v1.42.0
Matt Joiner [Mon, 11 Apr 2022 05:44:24 +0000 (15:44 +1000)]
Fix races around Reader and Torrent.Drop when Torrent is closed

2 years agoMerge branch 'supress_webrtc_logs'
Matt Joiner [Mon, 11 Apr 2022 04:53:35 +0000 (14:53 +1000)]
Merge branch 'supress_webrtc_logs'

2 years agoFix webrtc logging for JS build
Matt Joiner [Mon, 11 Apr 2022 04:53:02 +0000 (14:53 +1000)]
Fix webrtc logging for JS build

2 years agoAvoid heap allocation in GetRequestablePieces (#734)
Jonathan McDowell [Mon, 11 Apr 2022 04:22:05 +0000 (05:22 +0100)]
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).

2 years agocmd/torrent: Fix panic with IPv6 public IP
Matt Joiner [Mon, 11 Apr 2022 04:00:06 +0000 (14:00 +1000)]
cmd/torrent: Fix panic with IPv6 public IP

2 years agodiscard logger factory
alex.sharov [Sat, 9 Apr 2022 07:06:05 +0000 (14:06 +0700)]
discard logger factory

2 years agoUpdate anacrolix/envpprof
Matt Joiner [Fri, 8 Apr 2022 04:12:23 +0000 (14:12 +1000)]
Update anacrolix/envpprof

2 years agoEnsure unlock occurs on panic in reader
Matt Joiner [Thu, 31 Mar 2022 06:04:36 +0000 (17:04 +1100)]
Ensure unlock occurs on panic in reader

2 years agoUse Info.BestName in a few more places
Matt Joiner [Thu, 17 Mar 2022 22:15:50 +0000 (09:15 +1100)]
Use Info.BestName in a few more places

2 years agoRearrange transfer tests so build directives are applied by the right packages
Matt Joiner [Thu, 17 Mar 2022 05:08:00 +0000 (16:08 +1100)]
Rearrange transfer tests so build directives are applied by the right packages

2 years agoMerge branch 'master' into crawshaw-386-wasm
Matt Joiner [Thu, 17 Mar 2022 04:30:07 +0000 (15:30 +1100)]
Merge branch 'master' into crawshaw-386-wasm

2 years agoMerge branch 'go1.18'
Matt Joiner [Thu, 17 Mar 2022 04:16:04 +0000 (15:16 +1100)]
Merge branch 'go1.18'

2 years agocmd/torrent: Add download --save-metainfos and fix up signal notification
Matt Joiner [Thu, 17 Mar 2022 04:08:06 +0000 (15:08 +1100)]
cmd/torrent: Add download --save-metainfos and fix up signal notification

2 years agoPrefer UTF-8 fields when present
Matt Joiner [Thu, 17 Mar 2022 04:07:10 +0000 (15:07 +1100)]
Prefer UTF-8 fields when present

2 years agoAdd Info "name.utf-8" field
Matt Joiner [Thu, 17 Mar 2022 03:59:36 +0000 (14:59 +1100)]
Add Info "name.utf-8" field

Comes up frequently with non-English torrents

2 years agoExpose File.{Begin,End}PieceIndex
Matt Joiner [Thu, 17 Mar 2022 03:59:02 +0000 (14:59 +1100)]
Expose File.{Begin,End}PieceIndex

2 years agoUpdate dht logging
Matt Joiner [Thu, 17 Mar 2022 03:58:32 +0000 (14:58 +1100)]
Update dht logging

2 years agoUse generic pubsub
Matt Joiner [Thu, 17 Mar 2022 03:55:55 +0000 (14:55 +1100)]
Use generic pubsub

2 years agogo1.18
Matt Joiner [Thu, 17 Mar 2022 02:56:23 +0000 (13:56 +1100)]
go1.18

2 years agoAdd dummy sqlite storage Go file
Matt Joiner [Tue, 15 Mar 2022 06:52:24 +0000 (17:52 +1100)]
Add dummy sqlite storage Go file

2 years agoDon't build storage/sqlite tests without cgo
Matt Joiner [Tue, 15 Mar 2022 04:51:41 +0000 (15:51 +1100)]
Don't build storage/sqlite tests without cgo

2 years agoFix 386 cross compile and wasm build for crawshaw
Matt Joiner [Tue, 15 Mar 2022 03:37:52 +0000 (14:37 +1100)]
Fix 386 cross compile and wasm build for crawshaw

2 years agoMerge branch 'crawshaw'
Matt Joiner [Tue, 15 Mar 2022 02:42:34 +0000 (13:42 +1100)]
Merge branch 'crawshaw'

2 years agoExport Torrent.UseSources
Matt Joiner [Tue, 15 Mar 2022 02:42:00 +0000 (13:42 +1100)]
Export Torrent.UseSources

2 years agoMerge branch 'http-proxying'
Matt Joiner [Tue, 15 Mar 2022 01:41:22 +0000 (12:41 +1100)]
Merge branch 'http-proxying'

2 years agoMerge branch 'master' into crawshaw
Matt Joiner [Fri, 11 Mar 2022 03:23:13 +0000 (14:23 +1100)]
Merge branch 'master' into crawshaw

2 years agoExpose Torrent.AddWebSeeds
Matt Joiner [Fri, 11 Mar 2022 03:23:05 +0000 (14:23 +1100)]
Expose Torrent.AddWebSeeds

2 years agoSupport banning webseeds
Matt Joiner [Fri, 11 Mar 2022 02:33:34 +0000 (13:33 +1100)]
Support banning webseeds

2 years agoWhen banning an IP drop peers that match
Matt Joiner [Thu, 27 Jan 2022 04:12:26 +0000 (15:12 +1100)]
When banning an IP drop peers that match

2 years agoPull GO_LOG support from anacrolix/log
Matt Joiner [Fri, 11 Mar 2022 02:32:45 +0000 (13:32 +1100)]
Pull GO_LOG support from anacrolix/log

2 years agoSupport banning webseeds
Matt Joiner [Fri, 11 Mar 2022 02:33:34 +0000 (13:33 +1100)]
Support banning webseeds

2 years agoPull GO_LOG support from anacrolix/log
Matt Joiner [Fri, 11 Mar 2022 02:32:45 +0000 (13:32 +1100)]
Pull GO_LOG support from anacrolix/log

2 years agoAdd cmd/torrent-create -u
Matt Joiner [Fri, 11 Mar 2022 01:11:01 +0000 (12:11 +1100)]
Add cmd/torrent-create -u

2 years agoTest that empty info names are ignored in multi-file torrent webseed URLs
Matt Joiner [Fri, 11 Mar 2022 01:03:18 +0000 (12:03 +1100)]
Test that empty info names are ignored in multi-file torrent webseed URLs

2 years agoAdd cmd/torrent-create -i
Matt Joiner [Thu, 10 Mar 2022 23:47:02 +0000 (10:47 +1100)]
Add cmd/torrent-create -i

2 years agoMerge branch 'master' into crawshaw
Matt Joiner [Wed, 9 Mar 2022 09:58:06 +0000 (20:58 +1100)]
Merge branch 'master' into crawshaw

2 years agocmd/torrent: Add TODO about missing subcommand
Matt Joiner [Wed, 9 Mar 2022 09:57:54 +0000 (20:57 +1100)]
cmd/torrent: Add TODO about missing subcommand

2 years agoAdd bencode.Bytes.GoString
Matt Joiner [Wed, 9 Mar 2022 09:57:23 +0000 (20:57 +1100)]
Add bencode.Bytes.GoString

2 years agocmd/torrent: Add --port-forward
Matt Joiner [Wed, 9 Mar 2022 09:56:06 +0000 (20:56 +1100)]
cmd/torrent: Add --port-forward

2 years agocmd/torrent: Add --port-forward
Matt Joiner [Wed, 9 Mar 2022 09:56:06 +0000 (20:56 +1100)]
cmd/torrent: Add --port-forward

2 years agoMerge branch 'master' into crawshaw
Matt Joiner [Tue, 1 Mar 2022 23:51:36 +0000 (10:51 +1100)]
Merge branch 'master' into crawshaw

2 years agocmd/torrent announce: Use NumWant -1
Matt Joiner [Tue, 1 Mar 2022 23:51:19 +0000 (10:51 +1100)]
cmd/torrent announce: Use NumWant -1

tracker.opentrackr.org will actually send no peers back unless you ask for them.

2 years agoQuote http tracker error response body
Matt Joiner [Tue, 1 Mar 2022 23:49:55 +0000 (10:49 +1100)]
Quote http tracker error response body

2 years agoMerge branch 'http-proxying' into crawshaw
Matt Joiner [Fri, 25 Feb 2022 08:59:47 +0000 (19:59 +1100)]
Merge branch 'http-proxying' into crawshaw

2 years agoExpect 200 OK in torrent source response
Matt Joiner [Fri, 25 Feb 2022 08:52:23 +0000 (19:52 +1100)]
Expect 200 OK in torrent source response

2 years agoFix error quoting in log
Matt Joiner [Fri, 25 Feb 2022 08:51:11 +0000 (19:51 +1100)]
Fix error quoting in log

2 years agoSeparate torrent sources source file
Matt Joiner [Fri, 25 Feb 2022 07:38:12 +0000 (18:38 +1100)]
Separate torrent sources source file

2 years agoUse HTTP proxy config for torrent sources
Matt Joiner [Fri, 25 Feb 2022 07:35:21 +0000 (18:35 +1100)]
Use HTTP proxy config for torrent sources

2 years agoFix race in MergeSpec using DisableInitialPieceCheck
Matt Joiner [Fri, 25 Feb 2022 08:49:49 +0000 (19:49 +1100)]
Fix race in MergeSpec using DisableInitialPieceCheck

2 years agoExpose webseed.EscapePath
Matt Joiner [Wed, 23 Feb 2022 07:03:38 +0000 (18:03 +1100)]
Expose webseed.EscapePath

2 years agoUpdate .deepsource.toml
DeepSource Bot [Mon, 21 Feb 2022 21:23:20 +0000 (21:23 +0000)]
Update .deepsource.toml

2 years agoAdd scrape subcommand to cmd/torrent
Matt Joiner [Sun, 20 Feb 2022 05:16:57 +0000 (16:16 +1100)]
Add scrape subcommand to cmd/torrent

2 years agoQuote UDP tracker response error bodies with %#q v1.41.0
Matt Joiner [Sun, 20 Feb 2022 05:15:45 +0000 (16:15 +1100)]
Quote UDP tracker response error bodies with %#q

2 years agoPass client logger to anacrolix/go-libutp sockets (#722)
FIGBERT [Tue, 15 Feb 2022 05:18:32 +0000 (21:18 -0800)]
Pass client logger to anacrolix/go-libutp sockets (#722)

* Update anacrolix/go-libutp (v1.1.0 -> v1.2.0)

* Pass client logger to anacrolix/go-libutp

* Pass logger instead of option

The project now compiles properly when CGO is not enabled.

Additionally, the new argument (now log.Logger instead of
utp.NewSocketOpt) is now required. The tests have been updated to match
this change, and now pass logger.Default to NewUtpSocket.

* Correct function signature of NewUtpSocket

2 years agoFormat code with gofumpt (#724)
deepsource-autofix[bot] [Fri, 11 Feb 2022 11:45:12 +0000 (22:45 +1100)]
Format code with gofumpt (#724)

This commit fixes the style issues introduced in b81470d according to the output
from gofumpt.

Details: https://deepsource.io/gh/anacrolix/torrent/transform/ccafd976-fc9a-4c8a-bbfe-bc36426e79cb/

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2 years agoUpdate .deepsource.toml
DeepSource Bot [Fri, 11 Feb 2022 06:33:32 +0000 (06:33 +0000)]
Update .deepsource.toml

2 years agoMerge branch 'master' into go1.18
Matt Joiner [Thu, 10 Feb 2022 04:35:29 +0000 (15:35 +1100)]
Merge branch 'master' into go1.18

2 years agoCheckout go from github
Matt Joiner [Thu, 10 Feb 2022 04:08:22 +0000 (15:08 +1100)]
Checkout go from github

2 years agoRun tests on tip
Matt Joiner [Thu, 10 Feb 2022 04:03:43 +0000 (15:03 +1100)]
Run tests on tip

2 years agoFix and add caching to gotip CI actions
Matt Joiner [Thu, 10 Feb 2022 04:04:53 +0000 (15:04 +1100)]
Fix and add caching to gotip CI actions

Fix and add caching to gotip CI actions

2 years agogo CI: Use common action and parallel jobs
Matt Joiner [Thu, 10 Feb 2022 04:31:43 +0000 (15:31 +1100)]
go CI: Use common action and parallel jobs

2 years agoFix and add caching to gotip CI actions
Matt Joiner [Thu, 10 Feb 2022 03:57:03 +0000 (14:57 +1100)]
Fix and add caching to gotip CI actions

2 years agoMerge branch 'master' into go1.18
Matt Joiner [Thu, 10 Feb 2022 01:50:16 +0000 (12:50 +1100)]
Merge branch 'master' into go1.18

2 years agogo CI: Use common action and parallel jobs
Matt Joiner [Thu, 10 Feb 2022 01:33:04 +0000 (12:33 +1100)]
go CI: Use common action and parallel jobs

2 years agoExclusively use crawshaw instead of zombiezen for sqlite
Matt Joiner [Sat, 22 Jan 2022 23:20:24 +0000 (10:20 +1100)]
Exclusively use crawshaw instead of zombiezen for sqlite

Zombiezen doesn't support as many platforms as crawshaw for example.

2 years agoAlign Peer stats for webseed peers
Matt Joiner [Mon, 31 Jan 2022 01:53:44 +0000 (12:53 +1100)]
Align Peer stats for webseed peers

2 years agofs/test.sh: Fail if hash does not match
Matt Joiner [Wed, 9 Feb 2022 22:20:23 +0000 (09:20 +1100)]
fs/test.sh: Fail if hash does not match

2 years agoRe-enable CI wasm/js package build checks
Matt Joiner [Wed, 9 Feb 2022 01:47:05 +0000 (12:47 +1100)]
Re-enable CI wasm/js package build checks

2 years agoPull webrtc SCTP Transport wasm support
Matt Joiner [Wed, 9 Feb 2022 01:45:40 +0000 (12:45 +1100)]
Pull webrtc SCTP Transport wasm support

2 years agoEnsure gotip bin is used for go
Matt Joiner [Mon, 7 Feb 2022 05:29:34 +0000 (16:29 +1100)]
Ensure gotip bin is used for go

2 years agogo CI: Add GOPATH bin to GITHUB_PATH
Matt Joiner [Mon, 7 Feb 2022 05:15:40 +0000 (16:15 +1100)]
go CI: Add GOPATH bin to GITHUB_PATH

This should fix godo not being in the path in a later step.

2 years agoMerge branch 'master' into go1.18
Matt Joiner [Mon, 7 Feb 2022 04:33:05 +0000 (15:33 +1100)]
Merge branch 'master' into go1.18

2 years agotest: use `T.TempDir` to create temporary test directory (#718)
Eng Zer Jun [Wed, 2 Feb 2022 07:26:46 +0000 (15:26 +0800)]
test: use `T.TempDir` to create temporary test directory (#718)

The directory created by `T.TempDir` is automatically removed when the
test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2 years agofs/test.sh: Add torrents before mounting
Matt Joiner [Mon, 31 Jan 2022 06:35:20 +0000 (17:35 +1100)]
fs/test.sh: Add torrents before mounting

2 years agoMake use of the lazylog branch of anacrolix/log
Matt Joiner [Sat, 22 Jan 2022 22:37:11 +0000 (09:37 +1100)]
Make use of the lazylog branch of anacrolix/log

This avoids significant allocations and overhead.

2 years agoDebug CI godo installation
Matt Joiner [Mon, 31 Jan 2022 01:57:14 +0000 (12:57 +1100)]
Debug CI godo installation

2 years agoContinue on wasm build error
Matt Joiner [Mon, 31 Jan 2022 00:55:07 +0000 (11:55 +1100)]
Continue on wasm build error

2 years agoRun fs/test.sh on 32 bit
Matt Joiner [Mon, 31 Jan 2022 00:52:57 +0000 (11:52 +1100)]
Run fs/test.sh on 32 bit

2 years agofs/test.sh: Use Sintel file so webrtc is tested
Matt Joiner [Mon, 31 Jan 2022 00:48:39 +0000 (11:48 +1100)]
fs/test.sh: Use Sintel file so webrtc is tested

2 years agoRevert "fs/test.sh: Use go run instead of godo"
Matt Joiner [Mon, 31 Jan 2022 00:47:40 +0000 (11:47 +1100)]
Revert "fs/test.sh: Use go run instead of godo"

This reverts commit e8bd16257c40a5b53ac19c4f8b7669eb41b699e2.

2 years agoInclude peer net.Conn endpoint addresses in webrtc conn string
Matt Joiner [Thu, 27 Jan 2022 02:45:36 +0000 (13:45 +1100)]
Include peer net.Conn endpoint addresses in webrtc conn string

2 years agoWhen banning an IP drop peers that match
Matt Joiner [Thu, 27 Jan 2022 04:12:26 +0000 (15:12 +1100)]
When banning an IP drop peers that match

2 years agoFix v4 in v6 IPs from being banned as IPv4
Matt Joiner [Thu, 27 Jan 2022 04:11:01 +0000 (15:11 +1100)]
Fix v4 in v6 IPs from being banned as IPv4

2 years agoBan peers for dirtying pieces if they are solely responsible
Matt Joiner [Thu, 27 Jan 2022 04:09:05 +0000 (15:09 +1100)]
Ban peers for dirtying pieces if they are solely responsible

2 years agoMerge branch 'lazylog' into smartban
Matt Joiner [Thu, 27 Jan 2022 03:06:45 +0000 (14:06 +1100)]
Merge branch 'lazylog' into smartban

2 years agoMerge branch 'master' into lazylog
Matt Joiner [Thu, 27 Jan 2022 02:49:16 +0000 (13:49 +1100)]
Merge branch 'master' into lazylog

2 years agoInclude peer net.Conn endpoint addresses in webrtc conn string
Matt Joiner [Thu, 27 Jan 2022 02:45:36 +0000 (13:45 +1100)]
Include peer net.Conn endpoint addresses in webrtc conn string

2 years agoResolve deps
Matt Joiner [Sun, 23 Jan 2022 03:59:31 +0000 (14:59 +1100)]
Resolve deps

2 years agoLazy logging
Matt Joiner [Sat, 22 Jan 2022 22:37:11 +0000 (09:37 +1100)]
Lazy logging

2 years agoSwitch to external anacrolix/generics
Matt Joiner [Fri, 21 Jan 2022 11:28:15 +0000 (22:28 +1100)]
Switch to external anacrolix/generics

2 years agoForget smart ban blocks after piece passes hash check
Matt Joiner [Thu, 13 Jan 2022 03:04:54 +0000 (14:04 +1100)]
Forget smart ban blocks after piece passes hash check

2 years agoApply smart bans under Client lock
Matt Joiner [Thu, 13 Jan 2022 03:04:02 +0000 (14:04 +1100)]
Apply smart bans under Client lock

2 years agoDo smart banning on existing badPeerIPs
Matt Joiner [Wed, 12 Jan 2022 03:23:30 +0000 (14:23 +1100)]
Do smart banning on existing badPeerIPs

2 years agoAdd some generic map helpers
Matt Joiner [Wed, 12 Jan 2022 03:20:55 +0000 (14:20 +1100)]
Add some generic map helpers

2 years agoImplement smart ban using generics
Matt Joiner [Mon, 10 Jan 2022 05:19:16 +0000 (16:19 +1100)]
Implement smart ban using generics

2 years agoUse gotip for CI build
Matt Joiner [Thu, 23 Dec 2021 21:33:38 +0000 (08:33 +1100)]
Use gotip for CI build

2 years agoSwitch to ajwerner/btree in piece request ordering
Matt Joiner [Mon, 20 Dec 2021 01:10:26 +0000 (12:10 +1100)]
Switch to ajwerner/btree in piece request ordering

2 years agoAdd AjwernerBtree as an alternative btree backing for piece request order
Matt Joiner [Sat, 18 Dec 2021 05:07:44 +0000 (16:07 +1100)]
Add AjwernerBtree as an alternative btree backing for piece request order

Also add some scans to benchmarks. Make a few changes to reduce allocations using piece request order.

2 years agoBenchmark PieceRequestOrder with varying styles of path hint usage
Matt Joiner [Fri, 17 Dec 2021 10:25:38 +0000 (21:25 +1100)]
Benchmark PieceRequestOrder with varying styles of path hint usage

Add per-piece piece request order path hints

2 years agoUse tidwall/btree generics for piece request ordering
Matt Joiner [Wed, 15 Dec 2021 03:37:52 +0000 (14:37 +1100)]
Use tidwall/btree generics for piece request ordering