Commit graph

79 commits

Author SHA1 Message Date
Leo Balduf
1dab3978fb store: added IPStore and memory implementation 2016-03-02 21:05:31 -05:00
Justin Li
75b4a20e56 Bring in more old behaviour, use types for peer_id and infohash 2016-03-02 21:05:31 -05:00
Justin Li
05b7b955a1 Address minor comments 2016-03-02 21:05:30 -05:00
Jimmy Zelinskie
bd33c0c66b initial middleware refactor 2016-03-02 21:05:30 -05:00
Jimmy Zelinskie
5c27c960f0 clean the slate! 2016-03-02 21:05:30 -05:00
Jimmy Zelinskie
82459297a4 add support for jwt validation of infohashes 2016-01-13 16:14:54 -05:00
Jimmy Zelinskie
9862a57b73 remove all private tracker logic
There are no consumers of any of this logic nor is it complete. We're
better off without it in the meantime until we have a use case and a
more cohesive model for expressing it.
2016-01-04 18:26:29 -05:00
Jimmy Zelinskie
b303f0e9f2 default to "localhost:port" and not "":port
Windows doesn't handle empty addresses the way unix-like OSs do.
2015-10-28 16:33:01 -04:00
Jimmy Zelinskie
133450944c normalize all JSON to camelCase
Fixes #104.
2015-10-25 17:25:02 -04:00
Jimmy Zelinskie
1764fa4a2d add api to config & propogate config changes 2015-10-11 19:23:30 -04:00
Jimmy Zelinskie
c0c3eda290 config: make reaping configurable
This allows for configurable reaping rates and changes the default to
what many public trackers use in the wild.
2015-09-18 01:27:27 -04:00
Jimmy Zelinskie
f25464a02b Merge branch 'master' into udp 2015-03-27 22:05:48 -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
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
87c68f1973 2015 2015-01-01 12:02:25 -05:00
Jimmy Zelinskie
ddd10d9732 Begin refactor to better encapsulate configuration
This also updates the example_config.json which did not previously work.
Config.Config is now composed of embedded structs of other configs that
can later be used to clearly have a separation of concerns.
2014-11-01 20:12:40 -04:00
Paul Saab
3f5b6b55b0 Limit number of concurrent connections
Go's net/http library has no limits in place for number of concurrent
requests currently being processed.  This can result in an enormous
number of goroutines being created and the read/write buffer pools
growing unbounded resulting in OOM situations.
2014-09-25 10:58:07 -07:00
Paul Saab
ad9034da6d Reduce contention on the torrent map
We see the torrent map have quite a bit of contention.  Shard the map by
a configurable number of shards to reduce the times we may contend on
the lock.
2014-09-24 10:23:16 -07:00
Jimmy Zelinskie
b910fdabf5 Organize peers by subnet.
This commit restructures PeerMaps to be a map from Subnet to
PeerID to Peer. This reduces the complexity require to gather peers from
the same subnet.
2014-09-23 23:00:50 -04:00
Justin Li
976a983aa7 go fmt [ci skip] 2014-09-03 10:18:26 -04:00
Cooper Lees
67df033c7f Add configurable HTTP read and write timeouts 2014-09-02 22:24:15 -07:00
Cooper Lees
26de6d2e9c Respect a clients AF Optional Support - config driven 2014-08-21 07:11:35 -07:00
Jimmy Zelinskie
ffb3c57181 move whitelist into cfg 2014-07-25 16:58:26 -04:00
Justin Li
c1c9ee07a9 Listen on all interfaces by default
[ci skip]
2014-07-24 17:08:08 -04:00
Justin Li
fc2d15cdc0 Change private config key to private_tracker 2014-07-23 18:48:01 -04:00
Justin Li
88d68a99a2 Clean up stats configuration 2014-07-23 17:25:01 -04:00
Justin Li
cf619aa50f Add memory statistics 2014-07-23 17:08:06 -04:00
Justin Li
d47cf7d4bc Move stats buffer size to the regular config 2014-07-23 16:14:50 -04:00
Justin Li
76c68a53b5 Add RealIPHeader configuration, and move network conf to its own struct 2014-07-23 14:00:17 -04:00
Justin Li
8369bbbcd8 Allow configuring if a peer may have 2 IPs 2014-07-23 13:36:31 -04:00
Justin Li
14843b9e89 Add AllowIPSpoofing configuration 2014-07-23 13:08:57 -04:00
Jimmy Zelinskie
7faa1b08ac moved together bools 2014-07-21 03:52:56 -04:00
Jimmy Zelinskie
07081e1027 Add support for preferring peers in the same subnet 2014-07-17 04:17:43 -04:00
Justin Li
cd6204f13d Purge peers that have not announced for twice the announce interval 2014-07-16 19:38:51 -04:00
Jimmy Zelinskie
d2ba9fb9f7 repurpose drivers from mock to no-op and memory 2014-07-15 00:22:04 -04:00
Jimmy Zelinskie
b321d1f0fa update config docs [ci-skip] 2014-07-14 23:13:35 -04:00
Jimmy Zelinskie
6a5144fb4e Adds an error for missing driver params 2014-07-14 20:36:49 -04:00
Jimmy Zelinskie
3cc4679454 default to addr 127.0.0.1:6881 2014-07-09 21:26:44 -04:00
Justin Li
e08f745f6c Happy uber-belated new year! 2014-07-06 17:56:54 -04:00
Jimmy Zelinskie
ff5dc0920d DriverConfig.Params enables generic db parameters 2014-07-03 17:37:13 -04:00
Jimmy Zelinskie
6d5290d85e transition to httprouter 2014-07-01 21:40:29 -04:00
Jimmy Zelinskie
9cb5b82dc7 log->glog; more bencode fixes 2014-06-30 23:21:08 -04:00
Jimmy Zelinskie
834e584f2d fix null ptrs, misuse of bencode 2014-06-30 14:59:31 -04:00
Jimmy Zelinskie
caba155b5d consistent logging 2014-06-26 17:10:39 -04:00
Jimmy Zelinskie
42693e2a3b docs, signatures; glog for main; config.New() 2014-06-24 03:59:30 -04:00
Jimmy Zelinskie
3bfb3074b4 overhaul everything 2014-06-23 22:47:43 -04:00
Jimmy Zelinskie
90491dc386 mockConfig.Addr :80 -> :34000 2014-05-08 06:39:39 -04:00
Jimmy Zelinskie
4a8d756f5a announce type; renames; docs 2014-05-07 05:19:36 -04:00