Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/cmd.js2
-rw-r--r--lib/torrent.js26
-rw-r--r--package.json2
3 files changed, 19 insertions, 11 deletions
diff --git a/bin/cmd.js b/bin/cmd.js
index c832e50..f60fe93 100755
--- a/bin/cmd.js
+++ b/bin/cmd.js
@@ -530,7 +530,7 @@ function drawTorrent (torrent) {
'{3:%s} {25+magenta:%s} {10:%s} {10+cyan:%s/s} {10+red:%s/s} {15+grey:%s}' +
'{15+cyan:%s}',
progress,
- wire.remoteAddress,
+ wire.remoteAddress + ':' + wire.remotePort,
prettyBytes(wire.downloaded),
prettyBytes(wire.downloadSpeed()),
prettyBytes(wire.uploadSpeed()),
diff --git a/lib/torrent.js b/lib/torrent.js
index e4f094f..91ebcbb 100644
--- a/lib/torrent.js
+++ b/lib/torrent.js
@@ -432,9 +432,13 @@ Torrent.prototype.critical = function (start, end) {
self._updateSelections()
}
-Torrent.prototype._onWire = function (wire) {
+Torrent.prototype._onWire = function (wire, addr) {
var self = this
+ var parts = addrToIPPort(addr)
+ wire.remoteAddress = parts[0]
+ wire.remotePort = parts[1]
+
// use ut_metadata extension
wire.use(ut_metadata(self.metadata))
@@ -452,14 +456,14 @@ Torrent.prototype._onWire = function (wire) {
// wire.ut_pex.start() // TODO two-way communication
wire.ut_pex.on('peer', function (peer) {
- debug('ut_pex: got peer: %s (from %s)', peer, wire.remoteAddress)
+ debug('ut_pex: got peer: %s (from %s)', peer, addr)
self.addPeer(peer)
})
wire.ut_pex.on('dropped', function (peer) {
// the remote peer believes a given peer has been dropped from the swarm.
// if we're not currently connected to it, then remove it from the swarm's queue.
- debug('ut_pex: dropped peer: %s (from %s)', peer, wire.remoteAddress)
+ debug('ut_pex: dropped peer: %s (from %s)', peer, addr)
if (!(peer in self.swarm._peers)) self.swarm._removePeer(peer)
})
}
@@ -474,13 +478,13 @@ Torrent.prototype._onWire = function (wire) {
// When peer sends PORT, add them to the routing table
wire.on('port', function (port) {
- debug('port: %s (from %s)', port, wire.remoteAddress)
- var parts = addrToIPPort(wire.remoteAddress)
+ debug('port: %s (from %s)', port, addr)
+ var parts = addrToIPPort(addr)
if (self.client.dht) self.client.dht.addNode(parts[0] + ':' + port)
})
wire.on('timeout', function () {
- debug('wire timeout (%s)', wire.remoteAddress)
+ debug('wire timeout (%s)', addr)
// TODO: this might be destroying wires too eagerly
wire.destroy()
})
@@ -552,7 +556,10 @@ Torrent.prototype._onWireWithMetadata = function (wire) {
wire.on('request', function (index, offset, length, cb) {
// Disconnect from peers that request more than 128KB, per spec
if (length > MAX_BLOCK_LENGTH) {
- debug(wire.remoteAddress, 'requested invalid block size', length)
+ debug(
+ 'got invalid block size request %s (from %s)',
+ length, wire.remoteAddress + ':' + wire.remotePort
+ )
return wire.destroy()
}
@@ -991,7 +998,8 @@ Torrent.prototype._request = function (wire, index, hotswap) {
if (err) {
debug(
'error getting piece %s (offset: %s length: %s) from %s: %s',
- index, block.offset, block.length, wire.remoteAddress, err.message
+ index, block.offset, block.length, wire.remoteAddress + ':' + wire.remotePort,
+ err.message
)
self.storage.cancelBlock(index, block.offset)
process.nextTick(self._update.bind(self))
@@ -999,7 +1007,7 @@ Torrent.prototype._request = function (wire, index, hotswap) {
} else {
debug(
'got piece %s (offset: %s length: %s) from %s',
- index, block.offset, block.length, wire.remoteAddress
+ index, block.offset, block.length, wire.remoteAddress + ':' + wire.remotePort
)
self.storage.writeBlock(index, block.offset, buffer, function (err) {
if (err) {
diff --git a/package.json b/package.json
index d21563c..24927cc 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
"addr-to-ip-port": "^1.0.1",
"bitfield": "^1.0.2",
"bittorrent-dht": "^3.0.0",
- "bittorrent-swarm": "^2.0.0",
+ "bittorrent-swarm": "^3.0.0",
"block-stream": "0.0.7",
"clivas": "^0.2.0",
"create-torrent": "^3.4.0",