]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Tue, 13 Oct 2020 02:02:39 +0000 (13:02 +1100)]
Add PeerConnClosed callback
Matt Joiner [Mon, 12 Oct 2020 22:36:58 +0000 (09:36 +1100)]
Add last_used to sqlite storage
Matt Joiner [Mon, 12 Oct 2020 06:13:05 +0000 (17:13 +1100)]
Use bind-blob fix for crawshaw.io/sqlite
Matt Joiner [Mon, 12 Oct 2020 06:12:34 +0000 (17:12 +1100)]
Fix some log levels
Matt Joiner [Sun, 11 Oct 2020 01:58:27 +0000 (12:58 +1100)]
Add a sqlite data storage implementation
Matt Joiner [Sun, 11 Oct 2020 01:57:33 +0000 (12:57 +1100)]
Panic on bad piece per resource chunk names
This was masking a bug in a coming sqlite storage implementation. Maybe it could be relaxed to checking for no filepath.Dir in the future.
Matt Joiner [Sun, 11 Oct 2020 01:54:03 +0000 (12:54 +1100)]
Tweaks to storage error and completion handling
Matt Joiner [Sun, 11 Oct 2020 01:40:43 +0000 (12:40 +1100)]
Tidy up some storage close handling
Matt Joiner [Fri, 9 Oct 2020 23:59:17 +0000 (10:59 +1100)]
Use testing.T.Name instead of missinggo.GetTestName
This handles subtests correctly, and removes the need to specify when to export due to collisions with the old function.
Matt Joiner [Fri, 9 Oct 2020 23:24:58 +0000 (10:24 +1100)]
Tidy up some logging
Matt Joiner [Tue, 6 Oct 2020 23:22:55 +0000 (10:22 +1100)]
Fix webseed requests for non-trivial path components
Matt Joiner [Mon, 5 Oct 2020 22:50:47 +0000 (09:50 +1100)]
Fix PeerConn conn status string
Matt Joiner [Thu, 1 Oct 2020 01:50:42 +0000 (11:50 +1000)]
Fix unused import
Matt Joiner [Thu, 1 Oct 2020 01:45:47 +0000 (11:45 +1000)]
Set tracker announce timeout back to default
Add lots of comments about how this works and why.
Matt Joiner [Thu, 1 Oct 2020 01:20:44 +0000 (11:20 +1000)]
Expose Client.ConnStats
Matt Joiner [Thu, 1 Oct 2020 00:46:27 +0000 (10:46 +1000)]
Include ip param in http announces
Matt Joiner [Thu, 1 Oct 2020 00:45:29 +0000 (10:45 +1000)]
Pass key param in http announces
Matt Joiner [Thu, 1 Oct 2020 00:45:05 +0000 (10:45 +1000)]
Rework HTTP announce timeouts
Use Request.Context to implement timeouts, set the default to 3s for announces from the Client.
Matt Joiner [Thu, 1 Oct 2020 00:43:10 +0000 (10:43 +1000)]
Limit simultaneous announces to the same URL
Matt Joiner [Wed, 30 Sep 2020 06:56:27 +0000 (16:56 +1000)]
Limit half-open connections at the Client level
Matt Joiner [Tue, 29 Sep 2020 06:42:52 +0000 (16:42 +1000)]
Rename struct size test
Matt Joiner [Tue, 29 Sep 2020 06:37:58 +0000 (16:37 +1000)]
Optimize padding on Piece
Matt Joiner [Tue, 29 Sep 2020 06:24:43 +0000 (16:24 +1000)]
Add a test for Piece size
Matt Joiner [Tue, 29 Sep 2020 06:21:54 +0000 (16:21 +1000)]
Fix conn status string for WebRTC connections
Matt Joiner [Thu, 3 Sep 2020 04:34:06 +0000 (14:34 +1000)]
Fix panic for unexpected piece rejections
Should fix #419.
Matt Joiner [Tue, 11 Aug 2020 01:43:12 +0000 (11:43 +1000)]
Add to downstream projects in README
CortexFoundation/torrentfs
Matt Joiner [Wed, 15 Jul 2020 06:16:09 +0000 (16:16 +1000)]
Add ReadExtendedHandshake callback
Matt Joiner [Wed, 15 Jul 2020 06:15:38 +0000 (16:15 +1000)]
Expose peer.RemoteAddr
Matt Joiner [Wed, 15 Jul 2020 06:13:26 +0000 (16:13 +1000)]
Switch to crawshaw.io/sqlite
I'm using it elsewhere, and it seems to conflict when linking with github.com/mattn/go-sqlite3.
Matt Joiner [Wed, 15 Jul 2020 04:00:47 +0000 (14:00 +1000)]
Add some client callbacks
Matt Joiner [Tue, 14 Jul 2020 22:39:44 +0000 (08:39 +1000)]
Add PkgGoDev badge
Matt Joiner [Fri, 10 Jul 2020 03:24:08 +0000 (13:24 +1000)]
Pull in go-libutp fix for race
Matt Joiner [Fri, 10 Jul 2020 03:21:24 +0000 (13:21 +1000)]
Support -testPeer addresses that need resolving
Fixes #395.
Matt Joiner [Fri, 10 Jul 2020 03:18:33 +0000 (13:18 +1000)]
Handle errors in webseed peers for bad URLs
Matt Joiner [Fri, 19 Jun 2020 02:24:03 +0000 (12:24 +1000)]
Update bbolt
Matt Joiner [Fri, 19 Jun 2020 01:41:26 +0000 (11:41 +1000)]
Don't filter context cancel errors
The caller thinks this means it succeeded, when it fact it was cancelled and it should interpret that appropriately.
Matt Joiner [Thu, 4 Jun 2020 01:58:18 +0000 (11:58 +1000)]
Tidy up webseed peer naming and unused types
Matt Joiner [Thu, 4 Jun 2020 01:50:20 +0000 (11:50 +1000)]
Fix panic in webseed request rejection logging
Also use a new helper in Logger to simplify things.
ucwong [Wed, 3 Jun 2020 04:35:52 +0000 (04:35 +0000)]
torrent : add udp scheme to 'switch case'
Maxb [Wed, 3 Jun 2020 19:17:47 +0000 (12:17 -0700)]
Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup
Matt Joiner [Wed, 3 Jun 2020 01:25:08 +0000 (11:25 +1000)]
Merge pull request #410 from anacrolix/webseeds
* Rename Peer to PeerInfo, and unexport PeerInfos
* Break peer out from PeerConn
* Abstract out segments mapping and use it in mmap storage
* Got file storage working with segment index
* Fix race in webtorrent.TrackerClient.Run
* storage file implementation: Error on short writes
* Remove debug logging from storage file implementation
* cmd/torrent-verify: Fix piece hash output
* Support disabling webtorrent
* Further progress on webseeding
* Handle webseed Client events
* Rename fastestConn->fastestPeer
* Add webseeds from magnet links
* Remove events from webseed
Manage this stuff inside the webseed peer instead.
* Make use of magnet source fields and expose Torrent.MergeSpec
* Add option to disable webseeds
* Fix webseeds when info isn't available immediately
* Handle webseed request errors
* Tidy up the interface changes
Matt Joiner [Tue, 2 Jun 2020 07:41:59 +0000 (17:41 +1000)]
Tidy up the interface changes
Matt Joiner [Tue, 2 Jun 2020 06:41:49 +0000 (16:41 +1000)]
Handle webseed request errors
Matt Joiner [Tue, 2 Jun 2020 06:18:25 +0000 (16:18 +1000)]
Fix webseeds when info isn't available immediately
Matt Joiner [Tue, 2 Jun 2020 06:17:32 +0000 (16:17 +1000)]
Add option to disable webseeds
Matt Joiner [Tue, 2 Jun 2020 05:06:05 +0000 (15:06 +1000)]
Make use of magnet source fields and expose Torrent.MergeSpec
Matt Joiner [Tue, 2 Jun 2020 03:54:26 +0000 (13:54 +1000)]
Remove events from webseed
Manage this stuff inside the webseed peer instead.
Matt Joiner [Tue, 2 Jun 2020 03:53:25 +0000 (13:53 +1000)]
Add webseeds from magnet links
Maxb [Sat, 30 May 2020 19:42:51 +0000 (12:42 -0700)]
Add per-torrent ability to disable uploading
Matt Joiner [Mon, 1 Jun 2020 09:09:17 +0000 (19:09 +1000)]
Rename fastestConn->fastestPeer
Matt Joiner [Mon, 1 Jun 2020 08:41:21 +0000 (18:41 +1000)]
Handle webseed Client events
Matt Joiner [Mon, 1 Jun 2020 08:25:45 +0000 (18:25 +1000)]
Further progress on webseeding
Matt Joiner [Mon, 1 Jun 2020 08:24:46 +0000 (18:24 +1000)]
Support disabling webtorrent
Matt Joiner [Mon, 1 Jun 2020 01:16:17 +0000 (11:16 +1000)]
cmd/torrent-verify: Fix piece hash output
Matt Joiner [Mon, 1 Jun 2020 01:12:51 +0000 (11:12 +1000)]
Remove debug logging from storage file implementation
Matt Joiner [Mon, 1 Jun 2020 01:12:33 +0000 (11:12 +1000)]
storage file implementation: Error on short writes
Matt Joiner [Mon, 1 Jun 2020 01:11:41 +0000 (11:11 +1000)]
Fix race in webtorrent.TrackerClient.Run
Matt Joiner [Sun, 31 May 2020 14:14:51 +0000 (00:14 +1000)]
Got file storage working with segment index
Matt Joiner [Sun, 31 May 2020 14:04:15 +0000 (00:04 +1000)]
cmd/torrent-verify now needs to call InitIndex
Matt Joiner [Sun, 31 May 2020 14:03:51 +0000 (00:03 +1000)]
connLessTrusted takes peer instead of PeerConn
Matt Joiner [Sun, 31 May 2020 11:00:44 +0000 (21:00 +1000)]
webseed Client skeleton
Matt Joiner [Sun, 31 May 2020 11:00:19 +0000 (21:00 +1000)]
Abstract out segments mapping and use it in mmap storage
Matt Joiner [Sun, 31 May 2020 03:22:36 +0000 (13:22 +1000)]
Export PeerImpl and all its methods
Matt Joiner [Sun, 31 May 2020 03:09:56 +0000 (13:09 +1000)]
Got things compiling
Matt Joiner [Sat, 30 May 2020 07:52:27 +0000 (17:52 +1000)]
Save progress
Matt Joiner [Sat, 30 May 2020 05:18:28 +0000 (15:18 +1000)]
Seperate peer and PeerConn
Matt Joiner [Sat, 30 May 2020 00:14:20 +0000 (10:14 +1000)]
Break peer out from PeerConn
Matt Joiner [Fri, 29 May 2020 09:44:48 +0000 (19:44 +1000)]
Rename Peer to PeerInfo, and unexport PeerInfos
Matt Joiner [Sun, 24 May 2020 07:47:16 +0000 (17:47 +1000)]
BEP27 isn't implemented
https://github.com/anacrolix/torrent/issues/406
Yaroslav Kolomiiets [Wed, 20 May 2020 16:18:00 +0000 (17:18 +0100)]
torrent-metainfo-pprint: include the 'nodes' field into the output when non-empty
Matt Joiner [Thu, 21 May 2020 02:17:10 +0000 (12:17 +1000)]
Fix panic closing torrent that failed to open storage
Matt Joiner [Wed, 20 May 2020 02:04:53 +0000 (12:04 +1000)]
Improve cmd/tracker-announce output
Matt Joiner [Tue, 19 May 2020 05:22:58 +0000 (15:22 +1000)]
Don't error on setting info when we already have it
Matt Joiner [Tue, 19 May 2020 05:00:08 +0000 (15:00 +1000)]
Fix https://github.com/anacrolix/torrent/issues/388
Matt Joiner [Tue, 19 May 2020 04:59:45 +0000 (14:59 +1000)]
Add tests for https://github.com/anacrolix/torrent/issues/388
Rob Powell [Sun, 17 May 2020 15:26:59 +0000 (16:26 +0100)]
Update README.md
Matt Joiner [Tue, 19 May 2020 02:44:42 +0000 (12:44 +1000)]
Fix panic caused by adding disabled udp trackers
Matt Joiner [Wed, 13 May 2020 07:32:16 +0000 (17:32 +1000)]
Fix Client torrent "of %d bytes" in status
Matt Joiner [Wed, 13 May 2020 04:33:19 +0000 (14:33 +1000)]
Add comment to metainfo.MetaInfo.CreationDate
Matt Joiner [Wed, 13 May 2020 04:32:20 +0000 (14:32 +1000)]
Expose metainfo.GeneratePieces
Matt Joiner [Tue, 12 May 2020 01:31:56 +0000 (11:31 +1000)]
cmd/tracker-announce: Rework for better utility in shell scripts
Matt Joiner [Mon, 4 May 2020 23:00:43 +0000 (09:00 +1000)]
doc comment
Matt Joiner [Sun, 3 May 2020 09:31:20 +0000 (19:31 +1000)]
Fix benchmark failing due to mainReadLoop returning io.EOF
Matt Joiner [Sun, 3 May 2020 08:51:09 +0000 (18:51 +1000)]
Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182
Matt Joiner [Sun, 3 May 2020 08:45:12 +0000 (18:45 +1000)]
webtorrent: Synchronize access to PeerConnection.Close
Matt Joiner [Sun, 3 May 2020 08:42:37 +0000 (18:42 +1000)]
cmd/torrent: Output stats on termination, not just completion
Matt Joiner [Sun, 3 May 2020 08:42:03 +0000 (18:42 +1000)]
cmd/torrent: Add download -pex flag
For testing with https://github.com/anacrolix/torrent/issues/402.
Matt Joiner [Sun, 3 May 2020 08:41:33 +0000 (18:41 +1000)]
cmd/torrent: Only output progress lines when they change
This stops spamming output when seeding.
Matt Joiner [Sun, 3 May 2020 08:40:40 +0000 (18:40 +1000)]
Close PeerConn.conn synchronously
Matt Joiner [Sun, 3 May 2020 08:40:09 +0000 (18:40 +1000)]
Propagate and log more connection read/write errors now that logging is a bit fancier
Matt Joiner [Sun, 3 May 2020 08:39:16 +0000 (18:39 +1000)]
Limit the write buffer to work around a webrtc datachannel issue
https://github.com/pion/datachannel/issues/59. Fixes https://github.com/anacrolix/torrent/issues/402.
Matt Joiner [Sun, 3 May 2020 08:37:26 +0000 (18:37 +1000)]
Fix PeerConn outgoing field for webrtc
Due to jumping straight into handshakes, outgoing=true was assumed. This didn't actually solve the issue I thought it might, but is important for determining "preferred" connection direction, which may result in dropping connections.
Matt Joiner [Sat, 2 May 2020 08:39:03 +0000 (18:39 +1000)]
go get -u ./... && go mod tidy
Not including bazil.org/fuse though.
Matt Joiner [Sat, 2 May 2020 08:37:04 +0000 (18:37 +1000)]
Use anacrolix/log in storage completion
Matt Joiner [Sat, 2 May 2020 08:36:32 +0000 (18:36 +1000)]
Fix crash when announcing unloaded torrent to websocket
Yaroslav Kolomiiets [Thu, 30 Apr 2020 19:23:20 +0000 (20:23 +0100)]
add BEP references to documentation of the metadata fields
Matt Joiner [Mon, 27 Apr 2020 23:15:06 +0000 (09:15 +1000)]
Disable keepalives for http trackers
Should work around an issue with S3 trackers holding connections open for very long periods.
Matt Joiner [Mon, 27 Apr 2020 23:14:24 +0000 (09:14 +1000)]
Adjust websocket tracker logging levels
Matt Joiner [Mon, 27 Apr 2020 23:13:44 +0000 (09:13 +1000)]
Rework tracker status lines
Matt Joiner [Thu, 23 Apr 2020 03:09:27 +0000 (13:09 +1000)]
Update all dependencies