diff --git a/package.json b/package.json index 59c7a4332..909c18176 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,8 @@ "commander": "^2.9.0", "mocha": "^3.0.1", "standard": "^8.0.0", - "supertest": "^2.0.0" + "supertest": "^2.0.0", + "webtorrent": "^0.97.0" }, "standard": { "ignore": [ diff --git a/server/initializers/constants.js b/server/initializers/constants.js index be2e3e943..75065fe72 100644 --- a/server/initializers/constants.js +++ b/server/initializers/constants.js @@ -42,7 +42,8 @@ const CONFIG = { CERT_DIR: path.join(__dirname, '..', '..', config.get('storage.certs')), LOG_DIR: path.join(__dirname, '..', '..', config.get('storage.logs')), UPLOAD_DIR: path.join(__dirname, '..', '..', config.get('storage.uploads')), - THUMBNAILS_DIR: path.join(__dirname, '..', '..', config.get('storage.thumbnails')) + THUMBNAILS_DIR: path.join(__dirname, '..', '..', config.get('storage.thumbnails')), + TORRENTS_DIR: path.join(__dirname, '..', '..', config.get('storage.torrents')) }, WEBSERVER: { SCHEME: config.get('webserver.https') === true ? 'https' : 'http', diff --git a/server/models/video.js b/server/models/video.js index 7d073cffa..9272bea6d 100644 --- a/server/models/video.js +++ b/server/models/video.js @@ -19,9 +19,6 @@ const utils = require('../helpers/utils') const http = config.get('webserver.https') === true ? 'https' : 'http' const host = config.get('webserver.host') const port = config.get('webserver.port') -const uploadsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads')) -const thumbnailsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.thumbnails')) -const torrentsDir = pathUtils.join(__dirname, '..', '..', config.get('storage.torrents')) const webseedBaseUrl = http + '://' + host + ':' + port + constants.STATIC_PATHS.WEBSEED // --------------------------------------------------------------------------- @@ -112,7 +109,7 @@ VideoSchema.pre('save', function (next) { createTorrent(videoPath, { announceList: [ [ 'ws://' + host + ':' + port + '/tracker/socket' ] ], urlList: [ webseedBaseUrl + video.filename ] }, function (err, torrent) { if (err) return callback(err) - fs.writeFile(torrentsDir + video.filename + '.torrent', torrent, function (err) { + fs.writeFile(constants.CONFIG.STORAGE.TORRENTS_DIR + video.filename + '.torrent', torrent, function (err) { if (err) return callback(err) const parsedTorrent = parseTorrent(torrent) @@ -263,7 +260,7 @@ function removeFile (video, callback) { // Maybe the torrent is not seeded, but we catch the error to don't stop the removing process function removeTorrent (video, callback) { - fs.unlink(torrentsDir + video.filename + '.torrent') + fs.unlink(constants.CONFIG.STORAGE.TORRENTS_DIR + video.filename + '.torrent', callback) } function createThumbnail (videoPath, callback) { diff --git a/server/tests/api/multiple-pods.js b/server/tests/api/multiple-pods.js index b86f88c22..87fab791c 100644 --- a/server/tests/api/multiple-pods.js +++ b/server/tests/api/multiple-pods.js @@ -3,16 +3,14 @@ const chai = require('chai') const each = require('async/each') const expect = chai.expect -const pathUtils = require('path') const series = require('async/series') +const webtorrent = new (require('webtorrent'))() const loginUtils = require('../utils/login') const miscsUtils = require('../utils/miscs') const podsUtils = require('../utils/pods') const serversUtils = require('../utils/servers') const videosUtils = require('../utils/videos') -const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent')) -webtorrent.silent = true describe('Test multiple pods', function () { let servers = [] @@ -53,9 +51,6 @@ describe('Test multiple pods', function () { function (next) { const server = servers[0] podsUtils.makeFriends(server.url, server.accessToken, next) - }, - function (next) { - webtorrent.create({ host: 'client', port: '1' }, next) } ], done) }) @@ -415,7 +410,6 @@ describe('Test multiple pods', function () { servers.forEach(function (server) { process.kill(-server.app.pid) }) - process.kill(-webtorrent.app.pid) // Keep the logs if the test failed if (this.ok) { diff --git a/server/tests/api/single-pod.js b/server/tests/api/single-pod.js index bdaaee46c..623a1a6a3 100644 --- a/server/tests/api/single-pod.js +++ b/server/tests/api/single-pod.js @@ -7,13 +7,12 @@ const fs = require('fs') const keyBy = require('lodash/keyBy') const pathUtils = require('path') const series = require('async/series') +const webtorrent = new (require('webtorrent'))() const loginUtils = require('../utils/login') const miscsUtils = require('../utils/miscs') const serversUtils = require('../utils/servers') const videosUtils = require('../utils/videos') -const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent')) -webtorrent.silent = true describe('Test a single pod', function () { let server = null @@ -39,9 +38,6 @@ describe('Test a single pod', function () { server.accessToken = token next() }) - }, - function (next) { - webtorrent.create({ host: 'client', port: '1' }, next) } ], done) }) @@ -496,7 +492,6 @@ describe('Test a single pod', function () { after(function (done) { process.kill(-server.app.pid) - process.kill(-webtorrent.app.pid) // Keep the logs if the test failed if (this.ok) { diff --git a/server/tests/api/users.js b/server/tests/api/users.js index c6c892bf2..94267f104 100644 --- a/server/tests/api/users.js +++ b/server/tests/api/users.js @@ -2,7 +2,6 @@ const chai = require('chai') const expect = chai.expect -const pathUtils = require('path') const series = require('async/series') const loginUtils = require('../utils/login') @@ -10,8 +9,6 @@ const podsUtils = require('../utils/pods') const serversUtils = require('../utils/servers') const usersUtils = require('../utils/users') const videosUtils = require('../utils/videos') -const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent')) -webtorrent.silent = true describe('Test users', function () { let server = null