Commit graph

1210 commits

Author SHA1 Message Date
Jimmy Zelinskie
7f2abdae4e udp: make handleOptionalParameters less misleading 2015-04-06 19:15:07 -04:00
Jimmy Zelinskie
cf3806cb9b udp: handleOptionalParameters method added
This also addresses an issue where the goroutine was not breaking out of
the loop parsing the options, instead it was only breaking out of the
switch statement.
2015-04-06 19:06:06 -04:00
Jimmy Zelinskie
d317dfc069 udp: implement BEP45 response 2015-04-04 15:42:33 -04:00
Jimmy Zelinskie
938542ac74 models: Announce field for AnnounceResponse 2015-04-04 15:42:28 -04:00
Jimmy Zelinskie
222415f467 udp: Implement draft of BEP45; Endpoint type added
Because of the requirement of storing multiple ports, Announce.Port has
been abolished and Announce.IPv4/IPv6 have been replaced with the
Endpoint type. HTTP has been updated to support this model. UDP has been
updated to support the latest draft of BEP45 and most of the
optional-types described in BEP41.
2015-03-29 03:03:19 -04:00
Jimmy Zelinskie
f25464a02b Merge branch 'master' into udp 2015-03-27 22:05:48 -04:00
Jimmy Zelinskie
b93cc26b98 models: properly format port into peerkey string 2015-03-26 22:11:13 -04:00
Justin Li
f3b264dd53 docs: Fix link to configuration.md 2015-03-24 00:41:52 -04:00
Justin Li
eefbe64da6 docs: Break out config docs into a separate file 2015-03-24 00:38:20 -04:00
Justin Li
6490c8f51d docs: Add create_on_announce to list of config keys 2015-03-24 00:32:59 -04:00
Justin Li
f083bb8477 docs: Start reformatting config documentation 2015-03-24 00:29:32 -04:00
Jimmy Zelinskie
1bf788a99b tracker: fix reference to config 2015-03-23 20:43:33 -04:00
Jimmy Zelinskie
80c068c97a config: add create_on_announce option
This option allows the user to specify whether or not to create a new
swarm for torrents that do not previously exist within the tracker's
storage.
2015-03-23 20:02:13 -04:00
Jimmy Zelinskie
0ecd126ae8 lint: Http -> HTTP 2015-03-23 19:57:45 -04:00
Justin Li
a78fac6d7f Merge pull request #61 from chihaya/peerkey
Add Port to PeerKey
2015-03-22 21:10:12 -04:00
Jimmy Zelinskie
6188d52de0 models: Port method for PeerKey
This also adds some more docs for related stuff in the models package.
2015-03-22 19:41:57 -04:00
Jimmy Zelinskie
92866cfacd models: include port in peerkey 2015-03-22 18:44:09 -04:00
Jimmy Zelinskie
1deca5fd5e readme: add godoc, docker badges
[ci skip]
2015-03-22 18:42:21 -04:00
Jimmy Zelinskie
c1a4a6ecbb dockerfile: initial 2015-03-19 23:39:31 -04:00
Justin Li
da46ef8c8a tracker: Return announcing peer if there are no others to avoid an empty peers field 2015-02-28 00:56:45 -05:00
Jimmy Zelinskie
ac2fcade1e tracker: record announce/scrape stats in handlers
This deduplicates code tracking the stats code tracking announces and
scrapes for each protocol. The down side is that it isn't aware of any
failures writing responses, but it was already being called before the
write to a response for HTTP.
2015-02-26 09:03:52 -05:00
Jimmy Zelinskie
9b4999c0cf stats/udp: nop on nil DefaultStats 2015-02-25 21:56:58 -05:00
Jimmy Zelinskie
5af37be85c udp: fix renaming ipbuf->ipbytes 2015-02-25 21:56:37 -05:00
Jimmy Zelinskie
8deef98874 udp: style nitpicks 2015-02-25 21:47:01 -05:00
Justin Li
14a6278de0 udp: Use net.IP inputs for connection ID generation
Add enum for action IDs

Remove unnecessary length check
2015-02-23 21:30:45 -05:00
Justin Li
3d28f281fb udp: Add constructor for ConnectionIDGenerator, return buffer to pool on socket timeout 2015-02-22 16:58:43 -05:00
Jimmy Zelinskie
2e678ac806 Merge pull request #57 from chihaya/completed-seeder
Remove impossible code for 'completed' event
2015-02-21 16:04:50 -05:00
Justin Li
7512f50731 udp: Add basic UDP tests 2015-02-21 14:35:21 -05:00
Justin Li
105edf21f1 udp: Add channel to communicate when socket has opened, set read timeout to 0 on Stop() 2015-02-21 14:02:00 -05:00
Justin Li
669128c83a tracker: Pass listen address into tracker.Server.Serve() 2015-02-21 13:16:21 -05:00
Justin Li
b6c1b3838b tracker: Remove impossible code for 'completed' event 2015-02-21 13:00:23 -05:00
Justin Li
f98c675bc7 udp: Add comments to pass lint 2015-02-21 00:21:14 -05:00
Justin Li
ac04761e40 readme: Add note about 64-bit being required 2015-02-20 21:00:22 -05:00
Justin Li
4c3cd6cc0a udp: Rotate connection ID generation IVs every hour 2015-02-20 15:38:27 -05:00
Justin Li
afb22c3df6 udp: Add basic logging and more comments 2015-02-20 14:08:46 -05:00
Justin Li
d3d35b4655 udp: Send the announce interval in seconds 2015-02-20 13:42:14 -05:00
Justin Li
92f3c62456 tracker: Add common interface to start and stop servers 2015-02-20 13:39:19 -05:00
Justin Li
0d33210901 udp: Clean up connection ID checking 2015-02-20 12:52:49 -05:00
Justin Li
9526df74ad udp: Implement scrapes 2015-02-20 12:35:31 -05:00
Justin Li
be5720dadd deps: Update bencode to pick up uint16 fix 2015-02-20 12:29:02 -05:00
Justin Li
5eda5f451d Add a .gitignore for the binary and config file 2015-02-20 12:02:00 -05:00
Justin Li
abd2b5ade4 udp: Fix minor protocol errors, announces working 2015-02-20 11:44:05 -05:00
Justin Li
22e83739c9 deps: Add bufferpool dependency 2015-02-20 02:21:21 -05:00
Justin Li
50292c7de7 udp: Implement announces 2015-02-20 02:18:44 -05:00
Justin Li
e3aff35532 models: Use a uint16 for port numbers 2015-02-20 02:06:44 -05:00
Justin Li
d9a7611eee http: Unexport announce/scrape creation functions 2015-02-20 01:36:49 -05:00
Justin Li
c2770ee741 udp: Implement initial connection protocol 2015-02-20 01:12:47 -05:00
Justin Li
778b64defa udp: Add UDP configuration, move tracker shutdown to the main package 2015-02-19 23:46:28 -05:00
Justin Li
1698f0017b udp: Add AES-based connection ID generation 2015-02-19 22:25:42 -05:00
Justin Li
c41769eb85 readme: Update wording 2015-02-19 20:00:25 -05:00