Feross Aboukhadijeh
03bed33457
add webtorrent (websocket) tracker server
...
This PR merges webtorrent-tracker into this repo. Keeping the code in
sync between the two repos was becoming burdensome. This change should
not effect performance of the server since the webtorrent tracker is
disabled by default.
To enable the webtorrent tracker (disabled by default), do:
```js
var server = new Server({ ws: true })
```
2015-03-27 16:19:06 +13:00
Feross Aboukhadijeh
d759456d7a
test: speed up
2015-03-24 01:02:10 -07:00
Feross Aboukhadijeh
6ac9ae6a6e
perf: don't dynamically add new properties to peer objects
2015-02-02 15:20:15 -08:00
Feross Aboukhadijeh
82e6792a6b
BREAKING CHANGES
...
Breaking changes:
- 'listening' event no longer emits with `port` param
- `server.port` property removed (instead, use
`server.http.address().port`)
Added features:
- expose http server as `server.http`
- expose udp server as `server.udp`
- client.destroy() - ungracefully leave the swarm
- server: added `filter` option to black/whitelist torrents
Bugfixes:
- client considers udp tracker errors to be warnings
- emit 'start', 'stop', 'update', etc. AFTER response sent
- fix udp error response action and message being `undefined`
Internal:
- remove `portfinder` dep
- add complete test for `filter` functionality
2015-01-29 14:59:08 -08:00
Sidd Sridharan
55079798c5
white/blacklist implemented ( #44 ) + docs/tests updated
2015-01-29 12:24:17 -08:00
Feross Aboukhadijeh
ebb86f728f
JavaScript Standard Style
...
https://github.com/feross/standard
2015-01-26 18:16:01 -08:00
Feross Aboukhadijeh
94feea69e2
Support http tracker redirects, gzip/deflate
2015-01-22 14:23:53 -08:00
Feross Aboukhadijeh
69211515c2
encode special characters @*/+ in http tracker urls
...
Fixes https://github.com/feross/webtorrent/issues/196
2014-12-17 21:18:46 -08:00
Astro
d79bf92db0
server: ipv6 support
2014-12-13 00:12:47 +01:00
Feross Aboukhadijeh
79068a49cf
Use hex info_hash and peer_id throughout
2014-12-12 02:02:11 -08:00
Astro
aea3c44c08
server: expose getSwarm()
...
drops capability to pass a *hex* infoHash
2014-12-09 23:18:47 +01:00
Astro
28189a0b12
server tests: fix serverType in announceUrl
2014-12-05 02:41:57 +01:00
Astro
f77015c046
server tests: run udp tests with udp
2014-12-04 17:38:03 +01:00
Feross Aboukhadijeh
32b622aa51
cleanup tests
2014-11-26 20:18:56 +08:00
Feross Aboukhadijeh
01286e2ee7
listen() without port picks random port
2014-08-16 19:05:56 -07:00
Feross Aboukhadijeh
9e22aa40f1
cleanup tests
2014-07-23 19:16:23 -07:00
Feross Aboukhadijeh
e6de7a2f54
add tests for scraping a udp tracker ( fix #34 )
2014-07-21 22:58:13 -07:00
Feross Aboukhadijeh
231ff5709c
correctly detect UDP tracker scrape support
...
Before this fix, udp tracker urls needed to contain “/announce” or else
we would assume the tracker doesn’t support scrape. (This is correct
behavior for http trackers, but not udp)
2014-07-20 04:34:32 -07:00
Feross Aboukhadijeh
be875c40af
Fix serious client+server encoding error ( fix #32 )
2014-07-12 18:44:41 -07:00
Feross Aboukhadijeh
8b9dfb55b8
add test for announce with numwant
2014-07-11 03:50:48 -07:00
Feross Aboukhadijeh
7b5cd6bb7f
unify client http + udp test suites
2014-07-11 03:50:35 -07:00
Feross Aboukhadijeh
5037cb3e32
unify server http + udp test suites
2014-07-11 03:49:45 -07:00
Feross Aboukhadijeh
b4928f001a
Server perf: Use binary info_hash strings ( fix #29 )
2014-07-10 22:05:56 -07:00
Feross Aboukhadijeh
1681474f0e
fail client tests on warning
2014-07-10 21:58:19 -07:00
Feross Aboukhadijeh
539f1bf65d
add single scrape, multi scrape, all scrape tests
2014-07-10 21:30:30 -07:00
Feross Aboukhadijeh
0a51e59bd0
better test error messages
2014-07-10 21:00:02 -07:00
Feross Aboukhadijeh
bf1d382c7a
http tracker server: error on missing params
2014-07-10 19:59:33 -07:00
Feross Aboukhadijeh
15a6f3c715
require('bittorrent-tracker') returns Client
2014-06-07 15:15:00 -07:00
Feross Aboukhadijeh
62be68979b
ALL TESTS WORK OFFLINE
...
Fixes #18
2014-05-23 21:17:31 -07:00
Feross Aboukhadijeh
2aea063b8c
make client tests work offline
...
for #18
2014-05-23 21:14:19 -07:00
Feross Aboukhadijeh
dc6f355391
make magnet test work offline
...
for #18
2014-05-23 21:02:53 -07:00
Feross Aboukhadijeh
14034c2848
wait for server close before next test
2014-05-23 20:43:45 -07:00
Feross Aboukhadijeh
954b3af78e
make large torrent test not depend on the network
...
for #18
2014-05-23 20:35:29 -07:00
Feross Aboukhadijeh
b3d4acbb46
simplify server tests
2014-05-23 20:35:01 -07:00
Feross Aboukhadijeh
eddef2f197
print out warning messages in tests
2014-05-23 18:03:50 -07:00
Feross Aboukhadijeh
f6d020128c
add failing udp server test
2014-05-23 18:01:51 -07:00
Feross Aboukhadijeh
d1aca7c3d4
disable udp tracker for http server test
2014-05-23 18:01:42 -07:00
Feross Aboukhadijeh
67be6227c0
cleanup server test
2014-05-18 18:35:12 -07:00
Aliaksei Sapach
dfd235d387
fixed test plan
2014-05-18 19:41:42 +03:00
Aliaksei Sapach
55120f5c48
added a failing test
2014-05-18 19:15:20 +03:00
Feross Aboukhadijeh
2983811a71
handle case where magnet uri has only one 'tr' param
2014-05-14 12:46:15 -07:00
Feross Aboukhadijeh
6f565ed6fa
add test: tracker client from magnet uri
2014-05-14 12:45:48 -07:00
Feross Aboukhadijeh
e5e0fa9e27
minor style cleanup
2014-05-11 17:32:57 -07:00
fisch0920
5064a05dde
added client and server support for scrape messages in addition to announce messages (tcp and udp)
2014-05-09 02:38:41 -04:00
Feross Aboukhadijeh
dfd5149d6b
fix #11 - support torrents with 64-bit file sizes
2014-04-18 23:28:59 -07:00
Feross Aboukhadijeh
a924e620e1
#11 add failing test
2014-04-18 23:08:17 -07:00
Feross Aboukhadijeh
60b7f8dd09
add more thorough server tests
2014-04-18 23:00:40 -07:00
Feross Aboukhadijeh
553944e2e1
unify udp tests to prevent hammering public servers
...
should help with rate limiting
2014-03-27 21:55:21 -07:00
Feross Aboukhadijeh
b406d4ec5e
tests: use publicbt.com
...
seems to have more lenient rate limiting
2014-03-27 21:29:00 -07:00
Feross Aboukhadijeh
2e76f786c6
add tests for udp client
2014-03-27 21:04:33 -07:00