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
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
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
721a7bea7c
make server and client always send { action: 'announce' }
2016-03-23 22:04:07 -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
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
Diego Rodríguez Baquero
529203ea40
Max reconnect time
2016-03-11 15:26:55 -03: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
Feross Aboukhadijeh
a82f5c9878
websocket client: fix: emit 'update' when data.complete is 0
2016-02-29 14:48:59 -08:00
Feross Aboukhadijeh
b34fc100a1
fixes for PR #107
2016-02-29 12:34:06 -08:00
Feross Aboukhadijeh
1db2cb8736
Merge pull request #107 from yciabaud/announce-extension
...
Provide a way to give extra data on announce
2016-02-29 10:19:14 -08:00
Feross Aboukhadijeh
ad580c3d7c
fixes for simple-websocket@4
2016-02-15 19:38:50 -08:00
Feross Aboukhadijeh
1e919c44cb
changes for simple-get 2.0.0
2016-02-14 00:31:44 -08:00
Feross Aboukhadijeh
ab042bd2f6
remove old todo
2016-02-05 14:06:45 -08:00
Yoann Ciabaud
f1669a506e
Provide a way to give updated announce opts via callback on setInterval
2016-02-03 08:28:38 +01:00
Feross Aboukhadijeh
8d735bf97d
more cleanup
2015-12-05 03:06:54 -08:00
Feross Aboukhadijeh
3f1c9644ec
50s offer timeout
2015-12-05 03:06:46 -08:00
Feross Aboukhadijeh
5687a72fdb
raise number of offers created to 10 again
2015-12-05 01:01:23 -08:00
Feross Aboukhadijeh
fe2ac4ac67
cleanup peers that never get an answer
...
attempt to fix https://github.com/feross/webtorrent/issues/502
2015-12-05 01:01:04 -08:00
Feross Aboukhadijeh
208ae5d911
calling tracker.setInterval() should override current interval
2015-12-04 23:59:11 -08:00
Feross Aboukhadijeh
582ac990a4
webtorrent perf: create 5 offers at a time
2015-12-04 23:38:50 -08:00
Feross Aboukhadijeh
177171b82c
expose client.peerId
and client.peerIdBuffer
2015-12-02 22:33:15 -08:00
Feross Aboukhadijeh
d344537766
expose client.infoHash and client.infoHashBuffer
2015-12-02 15:46:41 -08:00
Feross Aboukhadijeh
38a80093a1
Fix UDP scrape returning invalid info hashes ( Fix #97 )
2015-12-02 15:35:42 -08:00
Feross Aboukhadijeh
e9322a32d6
code style
2015-12-02 15:31:20 -08:00
Aram Drevekenin
ab3482fc4f
Changed infoHash to always be hex
2015-11-29 16:02:29 +02:00
Feross Aboukhadijeh
abbb076484
client: interval.unref()
2015-08-24 00:11:48 +02:00