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