Sidd Sridharan
9d9893a0f2
parse params.left = 0 properly
2016-12-04 12:42:57 -08:00
Feross Aboukhadijeh
3a0fec0701
standard fixes
2016-11-22 19:52:01 -03:00
Feross Aboukhadijeh
b2cbfafae7
use 'once' on some event handlers
2016-09-16 07:49:29 -07:00
Feross Aboukhadijeh
a35f1f8178
replace hat with randombytes
2016-08-20 19:37:36 -07:00
Alex
f14d0b83df
Add id parameter in announce calls
2016-08-08 17:25:25 +02:00
Yoann Ciabaud
2c7ea4e307
Refactor id usage in announce and fix default peersCacheTtl
2016-06-14 07:15:57 +02:00
Yoann Ciabaud
d51a77b028
Update lru package to 3.0.0 and set peersCacheLength to 1K as default
2016-06-10 10:00:19 +02:00
Yoann Ciabaud
5843b7d2f6
Bugfix in manual peer eviction.
2016-06-10 00:29:56 +02:00
Yoann Ciabaud
7f98203d5e
Manually clean peers on announce
2016-06-09 16:28:31 +02:00
Yoann Ciabaud
5dcc932247
Refresh cache on changes and handle access to evicted peer
2016-06-09 02:10:07 +02:00
Yoann Ciabaud
ca522c0c4b
Prune old peers in server with lru based cache. Issue #4
2016-06-08 23:57:01 +02:00
Yoann Ciabaud
fa0b3e4535
Double default for webrtc trackers (now Chrome 51 is released) #152
2016-06-07 18:50:06 +02:00
Feross Aboukhadijeh
2959c2cea6
Use safe-buffer
...
Use the new Buffer APIs from Node v6 for added security. For example,
`Buffer.from()` will throw if passed a number, unlike `Buffer()` which
allocated UNINITIALIZED memory in that case.
Use the `safe-buffer` package for compatibility with previous versions
of
Node.js, including v4.x, v0.12, and v0.10.
https://github.com/feross/safe-buffer
2016-05-29 23:12:23 -07:00
Feross Aboukhadijeh
4a0758db24
Fix unnecessary escape
2016-04-23 23:02:52 -07:00
Feross Aboukhadijeh
4431ae14ab
Ensure client.destroy() callback is called when websocket pool used
...
Fixes #141
2016-03-31 21:49:18 -07:00
Feross Aboukhadijeh
2966165a8f
BREAKING: Client() takes single opts object now
...
To use the client, you used to pass in four arguments:
`new Client(peerId, port, parsedTorrent, opts)`
Now, passing in the torrent is no longer required, just the `announce`
and `infoHash` properties. This decouples this package from
`parse-torrent`.
All options get passed in together now:
new Client({
infoHash: '', // hex string or Buffer
peerId: '', // hex string or Buffer
announce: [], // list of tracker server urls
port: 6881 // torrent client port, (in browser, optional)
})
All the normal optional arguments (rtcConfig, wrtc, etc.) can still be
passed in with the rest of these options.
Fixes #118 . Fixes #115 .
Added ws tests for scrape.
2016-03-31 21:37:51 -07:00
Feross Aboukhadijeh
c92b1714db
Remove all Function.bind calls
...
For https://github.com/feross/webtorrent-desktop/issues/256
2016-03-28 23:38:23 -07:00
Feross Aboukhadijeh
f60ecec0dc
remove buffer-equals dependency
2016-03-24 03:25:31 -07:00
Feross Aboukhadijeh
35697f5187
Merge pull request #137 from fanatid/feature/buffer-equals
...
buffer-equals instead buffer-equal
2016-03-24 03:21:08 -07:00
Feross Aboukhadijeh
721a7bea7c
make server and client always send { action: 'announce' }
2016-03-23 22:04:07 -07:00
Feross Aboukhadijeh
2fffdc6730
ws server: drop support for old tracker clients
...
old clients don’t send params.action === ‘action’
2016-03-23 21:27:32 -07:00
Feross Aboukhadijeh
4159d35cfc
ws client: drop support for old tracker servers
...
Old tracker server versions don’t send data.action === ‘announce’
2016-03-23 21:26:52 -07:00
Kirill Fomichev
0193f58654
buffer-equals instead buffer-equal
2016-03-21 14:46:39 +03:00
Feross Aboukhadijeh
89b9fb7f40
prevent two reconnect timers for running at same time
2016-03-18 23:14:48 -07:00
Feross Aboukhadijeh
49025c1320
reset self.peers = {} after destroy
...
Supersedes PR #135
2016-03-18 23:12:54 -07:00
Feross Aboukhadijeh
db868cac78
guard against self.socket being null
2016-03-18 23:12:28 -07:00
Feross Aboukhadijeh
51e2439333
Lower generated offer number to 5
...
Temporary mitigation for leak issue
2016-03-16 18:06:42 -07:00
Feross Aboukhadijeh
c181020937
client: Do not include WebRTC offers with 'stopped' announce event ( fix #132 )
2016-03-16 18:04:56 -07:00
Feross Aboukhadijeh
2c23ae7f00
client: websocket: Unref peer.trackerTimeout
2016-03-16 17:59:01 -07:00
Feross Aboukhadijeh
d079171044
Fixes for PR #129
2016-03-16 17:58:47 -07:00
Yoann Ciabaud
5127aad052
Make electron webrtc working in headless and stabdard fix
2016-03-16 17:33:07 -07:00
Yoann Ciabaud
d4c34c344e
Destroy peers and tracker timeouts on destroy
2016-03-16 17:33:07 -07:00
Yoann Ciabaud
3252070328
Clear reconnect timeout on destroy
2016-03-16 17:33:06 -07:00
Yoann Ciabaud
35e6eeaef2
Close the websocket only when no one is using it
2016-03-16 17:33:06 -07:00
Feross Aboukhadijeh
5d4cf75e0a
Merge pull request #123 from DiegoRBaquero/patch-1
...
Reconnect timeout improvement
2016-03-15 21:41:01 -07:00
Diego Rodríguez Baquero
050d95ac72
Variance and higher max
2016-03-16 01:14:24 -03:00
Feross Aboukhadijeh
8c01cb7268
do not throw and crash client
2016-03-15 20:59:04 -07:00
Feross Aboukhadijeh
ba4a52d2d1
Fixes for PR #125
2016-03-15 20:06:39 -07:00
Feross Aboukhadijeh
3d753ab805
Merge pull request #125 from yciabaud/ws-scrape
...
Scrape implementation for websocket. Issue #116
2016-03-15 19:39:59 -07:00
Feross Aboukhadijeh
6df64ffe06
Fixes for PR #126
2016-03-14 19:16:00 -07:00
Autarc
09e2b55e42
invoke callbacks of destroyed trackers
2016-03-14 17:13:34 +01:00
Yoann Ciabaud
39507bf8be
Scrape implementation for websocket. Issue #116
2016-03-14 00:36:51 +01:00
Yoann Ciabaud
eb3cefec35
Use type from server to filter peers to offer
2016-03-13 15:51:08 +01:00
Feross Aboukhadijeh
e3c65bc2a3
PR Feedback for #120
2016-03-11 17:21:19 -08:00
Diego Rodríguez Baquero
529203ea40
Max reconnect time
2016-03-11 15:26:55 -03:00
Yoann Ciabaud
af631d9fce
Merge remote-tracking branch 'upstream/master' into client-infos
2016-03-11 10:34:07 +01:00
Yoann Ciabaud
2f37e6c476
Adds a type param to identify the source of the peer
2016-03-11 10:09:09 +01:00
Diego Rodríguez Baquero
8e2dbdc576
Reconnect timeout increase lineally
...
Minimum set at 15 seconds, each retry adds 30 seconds.
2016-03-11 04:12:09 -03:00
Feross Aboukhadijeh
0585d8b18a
use delete obj[key]
instead of obj[key] = null
2016-03-10 21:26:28 -08:00
Diego Rodríguez Baquero
e185f321d3
Delete peer on announce stopped
2016-03-11 01:10:34 -03:00