Commit Graph

3370 Commits

Author SHA1 Message Date
Matt Joiner 682c77fcb9
Group Client DHT and tracker config 2022-12-07 10:44:38 +11:00
Matt Joiner 98d5a19d50
Support marshalling http tracker response peers 2022-12-07 10:44:26 +11:00
Matt Joiner b81423c101
Rename tracker/http package 2022-12-07 10:44:12 +11:00
Matt Joiner 50a665f278
New go fmt on doc comments 2022-12-07 10:44:05 +11:00
Matt Joiner 330d23be22
Some tidying in tracker/udp 2022-12-05 12:51:29 +11:00
Matt Joiner bf5a22f345
Add announce --event flag 2022-12-05 12:50:55 +11:00
Matt Joiner 17058f76f7
Wrap error returned from tracker HTTP request director 2022-11-29 10:45:38 +11:00
Matt Joiner 3d49eec03a
Rename some HTTP identifiers to Http
I believe the Go convention on this is bad, and this names them inline with the style used elsewhere in anacrolix/torrent with Ip for example.

Unfortunately it's pretty widespread, so I've only changed the recent additions.
2022-11-29 10:45:38 +11:00
Marco Vidonis 916af6e38a
Modify HTTP request before sending (#787)
* set up custom request headers

* apply headers defined in torrent client config

* add error handling

* provide better name for method

* update error message

* only apply HTTPRequestDirector if not nil
2022-11-29 10:35:36 +11:00
Matt Joiner 436af2580f
Fix godo use in torrentfs CI 2022-11-29 10:29:50 +11:00
Matt Joiner 93f911ed01
Metadata size handling and DHT logging noise 2022-11-24 10:33:06 +11:00
Matt Joiner 3e0f34934d
gorond ./... 2022-11-15 23:31:27 +11:00
Matt Joiner 5501f994ca
Move a bunch of stuff into subpackages
The core package is very large now, and often only parts of it are needed.
2022-11-15 23:31:26 +11:00
Raphaël Thériault 455913c752
pass TrackerDialContext to webtorrent trackers (#785) 2022-11-14 19:20:08 +11:00
Raphaël Thériault 8e53dbaeb8
support providing a DialContext for the http client (#786) 2022-11-14 19:19:02 +11:00
pk de4c16bbe9
Retrive file via HTTP URL in `metainfo.go` (#778) 2022-09-26 10:01:51 +10:00
Matt Joiner e81c6569af
Run default DHT with table maintainer 2022-09-23 23:29:19 +10:00
Matt Joiner c8ccd1c1b0
Update github.com/anacrolix/dht/v2 2022-09-18 11:26:58 +10:00
Matt Joiner 648acc0120
Merge branch 'webrtc-conn-leak' 2022-08-31 11:09:47 +10:00
Matt Joiner e931f0c113
Merge branch 'bargle' 2022-08-31 11:06:00 +10:00
Alex Sharov 61302332cf
Win limit amount of peers per udp packet (#771) 2022-08-08 15:38:19 +10:00
Alex Sharov caa9400c52
use rLock where can, part2 (#767) 2022-07-13 20:04:03 +10:00
Alex Sharov 67b55c222b
use RLock where can (#766) 2022-07-13 20:03:42 +10:00
Matt Joiner 35834100cc
cmd/torrent: Restore the announce and bencode subcommands 2022-07-13 11:34:02 +10:00
Matt Joiner 309a900b9a
Close data channel on offer init errors 2022-07-12 16:15:51 +10:00
Matt Joiner 3aa2320442
Also close created data channels when cleaning up webrtc conns 2022-07-12 16:15:50 +10:00
Matt Joiner cf58c53ad4
Support announcing to webtorrent trackers without offers 2022-07-12 16:15:50 +10:00
Matt Joiner 9694c66b36
webtorrent: Create data channel earlier per webrtc examples 2022-07-12 16:15:50 +10:00
Matt Joiner 0a4c416881
Trace some webrtcNetConn use 2022-07-12 16:15:50 +10:00
Matt Joiner 5d263855d9
cmd/torrent: Time and log TracerProvider.Shutdown 2022-07-12 16:15:50 +10:00
Matt Joiner d9ca26dabb
Close detached data channel and end span on webrtc conn close 2022-07-12 16:15:50 +10:00
Matt Joiner 660d4dfba6
cmd/torrent: Use tracing SDK 2022-07-12 16:15:49 +10:00
Matt Joiner c17018d04e
Add tracing to webtorrent webrtc resources 2022-07-12 16:15:49 +10:00
Matt Joiner 43b2d3ee21
cmd/torrent serve: Support multiple file paths 2022-07-12 16:12:02 +10:00
Matt Joiner 240b42fd56
cmd/torrent create: Add piece length and private options 2022-07-12 16:12:02 +10:00
Matt Joiner fe4c930bf5
Restore torrent metainfo pprint 2022-07-12 16:12:02 +10:00
Matt Joiner 0bf75b8fa8
Move cmd/torrent-create into torrent create 2022-07-12 16:12:01 +10:00
Matt Joiner a87f321f37
Update anacrolix/bargle 2022-07-12 16:00:52 +10:00
Matt Joiner 2c5f9c41df
Update bargle use 2022-07-12 16:00:52 +10:00
Matt Joiner 5c2f1ed307
Track latest bargle 2022-07-12 16:00:51 +10:00
Matt Joiner a5877a938c
Fix webrtcNetAddr.String for IPv6
(cherry picked from commit d37354e6743e905d42689e88068058dd45e5be43)
2022-07-12 15:54:36 +10:00
Matt Joiner 214fe6b93c
Use webrtc local addr for webrtc conn peer priority
WebRTC conns are providing the correct IP for peer priority calculations, so use that instead of trying to guess (which doesn't work if there are no regular conn listeners attached to the Client.

(cherry picked from commit e86bb5fee3958dc90a3d012469b1352005d6c9ad)
2022-07-12 15:52:03 +10:00
Matt Joiner aedf2583cc
Remove relevant webtorrent offers when closing Torrent
(cherry picked from commit 73a0b5e4d2fe679aac31d87171537c70f91f46ee)
2022-07-12 15:49:58 +10:00
Craig Campbell f120b93e1c
Add ability to set DialContext/ListenPacket for tracker announcements (#760)
This is useful if you want to use a custom dialer to proxy requests via
an external server since the HTTPProxy can only be used with tcp
trackers and not udp.
2022-07-07 15:51:58 +10:00
Alex Sharov 75cc4e98d4
Do torrent storage flush on piece completion (#755) 2022-07-07 15:46:27 +10:00
Matt Joiner b58aec9ca8
go get -u ./... && go mod tidy 2022-07-03 21:56:42 +10:00
Matt Joiner ae2e4bf7e7
Use metainfo.ChoosePieceLength from more locations 2022-07-03 21:47:16 +10:00
Matt Joiner 12279621e4
Check that incoming peer request chunk lengths don't exceed the upload rate limiter burst size
Should fix #759.
2022-06-25 23:16:58 +10:00
Matt Joiner ae4eb8569b
Add exatorrent and finish tidying downstream projects 2022-06-25 17:28:23 +10:00
Marco Vidonis 8f711b633f
optimise torrent piece length (#758) 2022-06-23 22:44:06 +10:00