Make the server seed all torrent files
parent
0561ff64ac
commit
8bf2aed6de
|
|
@ -16,7 +16,16 @@ module.exports =
|
|||
},
|
||||
// Listening port for https server.
|
||||
listeningPort : 3443,
|
||||
mediasoup :
|
||||
turnServers : [
|
||||
{
|
||||
urls : [
|
||||
'turn:example.com:443?transport=tcp'
|
||||
],
|
||||
username : 'example',
|
||||
credential : 'example'
|
||||
}
|
||||
],
|
||||
mediasoup :
|
||||
{
|
||||
// mediasoup Server settings.
|
||||
logLevel : 'warn',
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
const EventEmitter = require('events').EventEmitter;
|
||||
const protooServer = require('protoo-server');
|
||||
const WebTorrent = require('webtorrent');
|
||||
const Logger = require('./Logger');
|
||||
const config = require('../config');
|
||||
|
||||
|
|
@ -11,6 +12,14 @@ const BITRATE_FACTOR = 0.75;
|
|||
|
||||
const logger = new Logger('Room');
|
||||
|
||||
const torrentClient = new WebTorrent({
|
||||
tracker : {
|
||||
rtcConfig : {
|
||||
iceServers : config.turnServers
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
class Room extends EventEmitter
|
||||
{
|
||||
constructor(roomId, mediaServer)
|
||||
|
|
@ -278,12 +287,17 @@ class Room extends EventEmitter
|
|||
{
|
||||
accept();
|
||||
|
||||
const { file } = request.data;
|
||||
const fileData = request.data.file;
|
||||
|
||||
this._fileHistory.push(file);
|
||||
this._fileHistory.push(fileData);
|
||||
|
||||
if (!torrentClient.get(fileData.file.magnet))
|
||||
{
|
||||
torrentClient.add(fileData.file.magnet);
|
||||
}
|
||||
|
||||
this._protooRoom.spread('file-receive', {
|
||||
file
|
||||
file : fileData
|
||||
}, [ protooPeer ]);
|
||||
|
||||
break;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,7 +13,8 @@
|
|||
"express": "^4.16.3",
|
||||
"mediasoup": "^2.1.0",
|
||||
"passport-dataporten": "^1.3.0",
|
||||
"protoo-server": "^2.0.7"
|
||||
"protoo-server": "^2.0.7",
|
||||
"webtorrent": "^0.101.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp": "^4.0.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue