Feross Aboukhadijeh
9db28c2fad
massive cleanup
2015-07-29 01:47:09 -07:00
Feross Aboukhadijeh
3746c05d79
restructure folders
2015-07-29 00:26:44 -07:00
Feross Aboukhadijeh
c3abef72ce
tracker should not modify opts
object, it's passed to all trackers
2015-07-27 15:19:18 -07:00
Feross Aboukhadijeh
5b79d42dcd
client: destroy callback isn't called until after cleanup
2015-07-16 18:33:50 -07:00
Feross Aboukhadijeh
907691b914
jsdoc
2015-07-09 15:39:40 -07:00
Feross Aboukhadijeh
0b75c1ef26
client.destroy takes a callback
2015-07-08 10:14:11 -07:00
Feross Aboukhadijeh
8e29227003
emit 'warning' for unsupported tracker protocol
2015-05-29 14:24:28 -07:00
Feross Aboukhadijeh
e4d413d83b
fix regression: convert buffer to string
2015-05-24 16:43:30 +02:00
Feross Aboukhadijeh
c1bbade6d7
cache infohash and peerid
2015-05-20 06:45:59 -07:00
Feross Aboukhadijeh
bb145cce14
ws client: ignore offers/answers from self
2015-05-20 06:40:25 -07:00
Feross Aboukhadijeh
8788d75737
udp/ws clients: add destroy functions
...
Fixes #75
2015-05-16 23:25:34 -07:00
Feross Aboukhadijeh
f285c9dd3c
client.stop() no longer calls client.destroy()
...
You must call client.destroy() manually to clean up resources
2015-05-16 23:24:20 -07:00
Feross Aboukhadijeh
c048f1b2a9
cleanup self._trackers
2015-05-16 22:55:01 -07:00
Feross Aboukhadijeh
153402ae85
don't modify passed in torrent object
2015-05-16 22:54:45 -07:00
Feross Aboukhadijeh
938c025ed9
remove wrtc
dependency
...
For #303
2015-05-03 17:21:08 -07:00
Feross Aboukhadijeh
d56dd26950
standard
2015-05-03 14:00:51 -07:00
Feross Aboukhadijeh
1cc5a511bd
udp server: support multiple info_hash scrape
...
Fixes #33
2015-05-01 17:36:07 -07:00
Feross Aboukhadijeh
a5d0975dfa
Do not crash when wrtc
dep is missing
2015-04-20 16:38:59 -07:00
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
1ff5769054
add support for webtorrent (websocket) trackers
2015-03-24 01:52:35 -07:00
Feross Aboukhadijeh
f575cfc3c9
major client refactor - each tracker type into its own file
...
in preparation of adding a new websocket tracker type, for webtorrent
2015-03-24 01:01:49 -07:00
Feross Aboukhadijeh
67daf78c2d
style
2015-03-09 20:19:27 -07:00
zckevin
8ee64c05f8
[Client] Fix question mark in announceUrl
2015-03-09 12:40:35 +08:00
Feross Aboukhadijeh
72922a64e4
fix regression in 3.0.1
2015-01-31 15:25:37 -08:00
Feross Aboukhadijeh
287cd873bc
remove extend.js
2015-01-31 15:04:16 -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
Feross Aboukhadijeh
a6f14037ff
style
2015-01-28 18:09:23 -08:00
Feross Aboukhadijeh
ebb86f728f
JavaScript Standard Style
...
https://github.com/feross/standard
2015-01-26 18:16:01 -08:00
Feross Aboukhadijeh
d562f14e06
fix debug usage
2015-01-23 22:42:05 -08:00
Max Ogden
9e691afbfe
add debug statement for udp response
2015-01-23 22:16:44 -08:00
Feross Aboukhadijeh
94feea69e2
Support http tracker redirects, gzip/deflate
2015-01-22 14:23:53 -08:00
Anthony MOI
aee4211b7d
use url to parse announceUrl
2015-01-22 14:00:24 +01:00
Anthony MOI
e55896e268
Add https support
2015-01-22 13:29:50 +01:00
Feross Aboukhadijeh
538bb3e20a
include additional debug information
2014-12-17 21:17:58 -08:00
Feross Aboukhadijeh
79068a49cf
Use hex info_hash and peer_id throughout
2014-12-12 02:02:11 -08:00
Feross Aboukhadijeh
84f6107345
check for domain names in data.peers6
2014-11-27 17:31:49 +08:00
Feross Aboukhadijeh
0b831d2fde
actually iterate over ipv6 peers
2014-11-27 17:31:33 +08:00
Feross Aboukhadijeh
d7c4af4ce8
handle case where server returns ip in square brackets
2014-11-26 20:18:56 +08:00
Feross Aboukhadijeh
b079bad35a
code style
2014-11-26 20:18:56 +08:00
Astro
1ca387f2fe
client IPv6 support [BEP-7]
2014-11-26 20:18:56 +08:00
Feross Aboukhadijeh
deee4e1d7d
fix client handling to support http peers
non-compact response
2014-11-26 16:21:45 +08:00
Astro
4f1ea32f35
client _handleResponse: allow string form of peer.ip
2014-11-26 16:20:14 +08:00
Feross Aboukhadijeh
07850cdc13
Fixes for PR #39
...
- emit 'warning' instead of 'error' because it's not a fatal error,
just a bad tracker response.
- made the try block more concise so it only catches the errors from
`string2compact`
2014-10-06 23:14:09 -07:00
Theadd
e898ef45f6
handle .* IP/PORTs (6 bytes) error
2014-09-24 18:03:30 +02:00
Feross Aboukhadijeh
61cfe0afa6
don't emit 'error' for non-fatal errors
2014-08-18 01:40:30 -07:00
Feross Aboukhadijeh
48dcab8420
don't crash if torrent.announce is undefined
2014-08-17 20:56:11 -07:00
Feross Aboukhadijeh
8ba742eed4
whitespace
2014-08-17 01:41:09 -07:00
Feross Aboukhadijeh
ab32d5e7a1
cleanup debug() usage
2014-08-02 14:41:04 -07:00
Feross Aboukhadijeh
e73737dac7
trackers must start with http:// or udp://
2014-08-02 14:09:44 -07:00
Feross Aboukhadijeh
ad5c5b6133
lots of little cleanup
2014-08-02 13:43:06 -07:00