Use dashes for filenames
authorChocobozzz <florian.bigard@gmail.com>
Fri, 1 Jul 2016 14:22:36 +0000 (16:22 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Fri, 1 Jul 2016 14:22:36 +0000 (16:22 +0200)
14 files changed:
server.js
server/helpers/custom-validators.js [new file with mode: 0644]
server/helpers/customValidators.js [deleted file]
server/helpers/peertube-crypto.js [new file with mode: 0644]
server/helpers/peertubeCrypto.js [deleted file]
server/helpers/requests.js
server/initializers/installer.js
server/lib/friends.js
server/lib/webtorrent-process.js [new file with mode: 0644]
server/lib/webtorrent.js
server/lib/webtorrentProcess.js [deleted file]
server/middlewares/secure.js
server/middlewares/validators/videos.js
server/models/video.js

index e0284b0802c675db6cec0ac263cdcb918bd0038b..b2eeeff70edcd6494f3cd23e30ad5a8a3e6cfeaf 100644 (file)
--- a/server.js
+++ b/server.js
@@ -30,7 +30,7 @@ if (miss.length !== 0) {
 }
 
 // ----------- PeerTube modules -----------
-const customValidators = require('./server/helpers/customValidators')
+const customValidators = require('./server/helpers/custom-validators')
 const installer = require('./server/initializers/installer')
 const mongoose = require('mongoose')
 const routes = require('./server/controllers')
diff --git a/server/helpers/custom-validators.js b/server/helpers/custom-validators.js
new file mode 100644 (file)
index 0000000..b666644
--- /dev/null
@@ -0,0 +1,114 @@
+'use strict'
+
+const validator = require('express-validator').validator
+
+const constants = require('../initializers/constants')
+const VIDEOS_CONSTRAINTS_FIELDS = constants.VIDEOS_CONSTRAINTS_FIELDS
+
+const customValidators = {
+  exists: exists,
+  isEachRemoteVideosValid: isEachRemoteVideosValid,
+  isArray: isArray,
+  isVideoAuthorValid: isVideoAuthorValid,
+  isVideoDateValid: isVideoDateValid,
+  isVideoDescriptionValid: isVideoDescriptionValid,
+  isVideoDurationValid: isVideoDurationValid,
+  isVideoMagnetUriValid: isVideoMagnetUriValid,
+  isVideoNameValid: isVideoNameValid,
+  isVideoPodUrlValid: isVideoPodUrlValid,
+  isVideoTagsValid: isVideoTagsValid,
+  isVideoThumbnailValid: isVideoThumbnailValid,
+  isVideoThumbnail64Valid: isVideoThumbnail64Valid
+}
+
+function exists (value) {
+  return value !== undefined && value !== null
+}
+
+function isEachRemoteVideosValid (requests) {
+  return requests.every(function (request) {
+    const video = request.data
+    return (
+      isRequestTypeAddValid(request.type) &&
+      isVideoAuthorValid(video.author) &&
+      isVideoDateValid(video.createdDate) &&
+      isVideoDescriptionValid(video.description) &&
+      isVideoDurationValid(video.duration) &&
+      isVideoMagnetUriValid(video.magnetUri) &&
+      isVideoNameValid(video.name) &&
+      isVideoPodUrlValid(video.podUrl) &&
+      isVideoTagsValid(video.tags) &&
+      isVideoThumbnail64Valid(video.thumbnailBase64)
+    ) ||
+    (
+      isRequestTypeRemoveValid(request.type) &&
+      isVideoNameValid(video.name) &&
+      isVideoMagnetUriValid(video.magnetUri)
+    )
+  })
+}
+
+function isArray (value) {
+  return Array.isArray(value)
+}
+
+function isRequestTypeAddValid (value) {
+  return value === 'add'
+}
+
+function isRequestTypeRemoveValid (value) {
+  return value === 'remove'
+}
+
+function isVideoAuthorValid (value) {
+  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.AUTHOR)
+}
+
+function isVideoDateValid (value) {
+  return validator.isDate(value)
+}
+
+function isVideoDescriptionValid (value) {
+  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.DESCRIPTION)
+}
+
+function isVideoDurationValid (value) {
+  return validator.isInt(value + '', VIDEOS_CONSTRAINTS_FIELDS.DURATION)
+}
+
+function isVideoMagnetUriValid (value) {
+  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.MAGNET_URI)
+}
+
+function isVideoNameValid (value) {
+  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.NAME)
+}
+
+function isVideoPodUrlValid (value) {
+  // TODO: set options (TLD...)
+  return validator.isURL(value)
+}
+
+function isVideoTagsValid (tags) {
+  return isArray(tags) &&
+         validator.isInt(tags.length, VIDEOS_CONSTRAINTS_FIELDS.TAGS) &&
+         tags.every(function (tag) {
+           return validator.isAlphanumeric(tag) &&
+                  validator.isLength(tag, VIDEOS_CONSTRAINTS_FIELDS.TAG)
+         })
+}
+
+function isVideoThumbnailValid (value) {
+  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.THUMBNAIL)
+}
+
+function isVideoThumbnail64Valid (value) {
+  return validator.isBase64(value) &&
+         validator.isByteLength(value, VIDEOS_CONSTRAINTS_FIELDS.THUMBNAIL64)
+}
+
+// ---------------------------------------------------------------------------
+
+module.exports = customValidators
+
+// ---------------------------------------------------------------------------
diff --git a/server/helpers/customValidators.js b/server/helpers/customValidators.js
deleted file mode 100644 (file)
index b666644..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-'use strict'
-
-const validator = require('express-validator').validator
-
-const constants = require('../initializers/constants')
-const VIDEOS_CONSTRAINTS_FIELDS = constants.VIDEOS_CONSTRAINTS_FIELDS
-
-const customValidators = {
-  exists: exists,
-  isEachRemoteVideosValid: isEachRemoteVideosValid,
-  isArray: isArray,
-  isVideoAuthorValid: isVideoAuthorValid,
-  isVideoDateValid: isVideoDateValid,
-  isVideoDescriptionValid: isVideoDescriptionValid,
-  isVideoDurationValid: isVideoDurationValid,
-  isVideoMagnetUriValid: isVideoMagnetUriValid,
-  isVideoNameValid: isVideoNameValid,
-  isVideoPodUrlValid: isVideoPodUrlValid,
-  isVideoTagsValid: isVideoTagsValid,
-  isVideoThumbnailValid: isVideoThumbnailValid,
-  isVideoThumbnail64Valid: isVideoThumbnail64Valid
-}
-
-function exists (value) {
-  return value !== undefined && value !== null
-}
-
-function isEachRemoteVideosValid (requests) {
-  return requests.every(function (request) {
-    const video = request.data
-    return (
-      isRequestTypeAddValid(request.type) &&
-      isVideoAuthorValid(video.author) &&
-      isVideoDateValid(video.createdDate) &&
-      isVideoDescriptionValid(video.description) &&
-      isVideoDurationValid(video.duration) &&
-      isVideoMagnetUriValid(video.magnetUri) &&
-      isVideoNameValid(video.name) &&
-      isVideoPodUrlValid(video.podUrl) &&
-      isVideoTagsValid(video.tags) &&
-      isVideoThumbnail64Valid(video.thumbnailBase64)
-    ) ||
-    (
-      isRequestTypeRemoveValid(request.type) &&
-      isVideoNameValid(video.name) &&
-      isVideoMagnetUriValid(video.magnetUri)
-    )
-  })
-}
-
-function isArray (value) {
-  return Array.isArray(value)
-}
-
-function isRequestTypeAddValid (value) {
-  return value === 'add'
-}
-
-function isRequestTypeRemoveValid (value) {
-  return value === 'remove'
-}
-
-function isVideoAuthorValid (value) {
-  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.AUTHOR)
-}
-
-function isVideoDateValid (value) {
-  return validator.isDate(value)
-}
-
-function isVideoDescriptionValid (value) {
-  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.DESCRIPTION)
-}
-
-function isVideoDurationValid (value) {
-  return validator.isInt(value + '', VIDEOS_CONSTRAINTS_FIELDS.DURATION)
-}
-
-function isVideoMagnetUriValid (value) {
-  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.MAGNET_URI)
-}
-
-function isVideoNameValid (value) {
-  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.NAME)
-}
-
-function isVideoPodUrlValid (value) {
-  // TODO: set options (TLD...)
-  return validator.isURL(value)
-}
-
-function isVideoTagsValid (tags) {
-  return isArray(tags) &&
-         validator.isInt(tags.length, VIDEOS_CONSTRAINTS_FIELDS.TAGS) &&
-         tags.every(function (tag) {
-           return validator.isAlphanumeric(tag) &&
-                  validator.isLength(tag, VIDEOS_CONSTRAINTS_FIELDS.TAG)
-         })
-}
-
-function isVideoThumbnailValid (value) {
-  return validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.THUMBNAIL)
-}
-
-function isVideoThumbnail64Valid (value) {
-  return validator.isBase64(value) &&
-         validator.isByteLength(value, VIDEOS_CONSTRAINTS_FIELDS.THUMBNAIL64)
-}
-
-// ---------------------------------------------------------------------------
-
-module.exports = customValidators
-
-// ---------------------------------------------------------------------------
diff --git a/server/helpers/peertube-crypto.js b/server/helpers/peertube-crypto.js
new file mode 100644 (file)
index 0000000..46dff8d
--- /dev/null
@@ -0,0 +1,147 @@
+'use strict'
+
+const config = require('config')
+const crypto = require('crypto')
+const fs = require('fs')
+const openssl = require('openssl-wrapper')
+const path = require('path')
+const ursa = require('ursa')
+
+const logger = require('./logger')
+
+const certDir = path.join(__dirname, '..', '..', config.get('storage.certs'))
+const algorithm = 'aes-256-ctr'
+
+const peertubeCrypto = {
+  checkSignature: checkSignature,
+  createCertsIfNotExist: createCertsIfNotExist,
+  decrypt: decrypt,
+  encrypt: encrypt,
+  getCertDir: getCertDir,
+  sign: sign
+}
+
+function checkSignature (publicKey, rawData, hexSignature) {
+  const crt = ursa.createPublicKey(publicKey)
+  const isValid = crt.hashAndVerify('sha256', new Buffer(rawData).toString('hex'), hexSignature, 'hex')
+  return isValid
+}
+
+function createCertsIfNotExist (callback) {
+  certsExist(function (exist) {
+    if (exist === true) {
+      return callback(null)
+    }
+
+    createCerts(function (err) {
+      return callback(err)
+    })
+  })
+}
+
+function decrypt (key, data, callback) {
+  fs.readFile(getCertDir() + 'peertube.key.pem', function (err, file) {
+    if (err) return callback(err)
+
+    const myPrivateKey = ursa.createPrivateKey(file)
+    const decryptedKey = myPrivateKey.decrypt(key, 'hex', 'utf8')
+    const decryptedData = symetricDecrypt(data, decryptedKey)
+
+    return callback(null, decryptedData)
+  })
+}
+
+function encrypt (publicKey, data, callback) {
+  const crt = ursa.createPublicKey(publicKey)
+
+  symetricEncrypt(data, function (err, dataEncrypted) {
+    if (err) return callback(err)
+
+    const key = crt.encrypt(dataEncrypted.password, 'utf8', 'hex')
+    const encrypted = {
+      data: dataEncrypted.crypted,
+      key: key
+    }
+
+    callback(null, encrypted)
+  })
+}
+
+function getCertDir () {
+  return certDir
+}
+
+function sign (data) {
+  const myKey = ursa.createPrivateKey(fs.readFileSync(certDir + 'peertube.key.pem'))
+  const signature = myKey.hashAndSign('sha256', data, 'utf8', 'hex')
+
+  return signature
+}
+
+// ---------------------------------------------------------------------------
+
+module.exports = peertubeCrypto
+
+// ---------------------------------------------------------------------------
+
+function certsExist (callback) {
+  fs.exists(certDir + 'peertube.key.pem', function (exists) {
+    return callback(exists)
+  })
+}
+
+function createCerts (callback) {
+  certsExist(function (exist) {
+    if (exist === true) {
+      const string = 'Certs already exist.'
+      logger.warning(string)
+      return callback(new Error(string))
+    }
+
+    logger.info('Generating a RSA key...')
+    openssl.exec('genrsa', { 'out': certDir + 'peertube.key.pem', '2048': false }, function (err) {
+      if (err) {
+        logger.error('Cannot create private key on this pod.')
+        return callback(err)
+      }
+      logger.info('RSA key generated.')
+
+      logger.info('Manage public key...')
+      openssl.exec('rsa', { 'in': certDir + 'peertube.key.pem', 'pubout': true, 'out': certDir + 'peertube.pub' }, function (err) {
+        if (err) {
+          logger.error('Cannot create public key on this pod.')
+          return callback(err)
+        }
+
+        logger.info('Public key managed.')
+        return callback(null)
+      })
+    })
+  })
+}
+
+function generatePassword (callback) {
+  crypto.randomBytes(32, function (err, buf) {
+    if (err) return callback(err)
+
+    callback(null, buf.toString('utf8'))
+  })
+}
+
+function symetricDecrypt (text, password) {
+  const decipher = crypto.createDecipher(algorithm, password)
+  let dec = decipher.update(text, 'hex', 'utf8')
+  dec += decipher.final('utf8')
+  return dec
+}
+
+function symetricEncrypt (text, callback) {
+  generatePassword(function (err, password) {
+    if (err) return callback(err)
+
+    const cipher = crypto.createCipher(algorithm, password)
+    let crypted = cipher.update(text, 'utf8', 'hex')
+    crypted += cipher.final('hex')
+    callback(null, { crypted: crypted, password: password })
+  })
+}
diff --git a/server/helpers/peertubeCrypto.js b/server/helpers/peertubeCrypto.js
deleted file mode 100644 (file)
index 46dff8d..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-'use strict'
-
-const config = require('config')
-const crypto = require('crypto')
-const fs = require('fs')
-const openssl = require('openssl-wrapper')
-const path = require('path')
-const ursa = require('ursa')
-
-const logger = require('./logger')
-
-const certDir = path.join(__dirname, '..', '..', config.get('storage.certs'))
-const algorithm = 'aes-256-ctr'
-
-const peertubeCrypto = {
-  checkSignature: checkSignature,
-  createCertsIfNotExist: createCertsIfNotExist,
-  decrypt: decrypt,
-  encrypt: encrypt,
-  getCertDir: getCertDir,
-  sign: sign
-}
-
-function checkSignature (publicKey, rawData, hexSignature) {
-  const crt = ursa.createPublicKey(publicKey)
-  const isValid = crt.hashAndVerify('sha256', new Buffer(rawData).toString('hex'), hexSignature, 'hex')
-  return isValid
-}
-
-function createCertsIfNotExist (callback) {
-  certsExist(function (exist) {
-    if (exist === true) {
-      return callback(null)
-    }
-
-    createCerts(function (err) {
-      return callback(err)
-    })
-  })
-}
-
-function decrypt (key, data, callback) {
-  fs.readFile(getCertDir() + 'peertube.key.pem', function (err, file) {
-    if (err) return callback(err)
-
-    const myPrivateKey = ursa.createPrivateKey(file)
-    const decryptedKey = myPrivateKey.decrypt(key, 'hex', 'utf8')
-    const decryptedData = symetricDecrypt(data, decryptedKey)
-
-    return callback(null, decryptedData)
-  })
-}
-
-function encrypt (publicKey, data, callback) {
-  const crt = ursa.createPublicKey(publicKey)
-
-  symetricEncrypt(data, function (err, dataEncrypted) {
-    if (err) return callback(err)
-
-    const key = crt.encrypt(dataEncrypted.password, 'utf8', 'hex')
-    const encrypted = {
-      data: dataEncrypted.crypted,
-      key: key
-    }
-
-    callback(null, encrypted)
-  })
-}
-
-function getCertDir () {
-  return certDir
-}
-
-function sign (data) {
-  const myKey = ursa.createPrivateKey(fs.readFileSync(certDir + 'peertube.key.pem'))
-  const signature = myKey.hashAndSign('sha256', data, 'utf8', 'hex')
-
-  return signature
-}
-
-// ---------------------------------------------------------------------------
-
-module.exports = peertubeCrypto
-
-// ---------------------------------------------------------------------------
-
-function certsExist (callback) {
-  fs.exists(certDir + 'peertube.key.pem', function (exists) {
-    return callback(exists)
-  })
-}
-
-function createCerts (callback) {
-  certsExist(function (exist) {
-    if (exist === true) {
-      const string = 'Certs already exist.'
-      logger.warning(string)
-      return callback(new Error(string))
-    }
-
-    logger.info('Generating a RSA key...')
-    openssl.exec('genrsa', { 'out': certDir + 'peertube.key.pem', '2048': false }, function (err) {
-      if (err) {
-        logger.error('Cannot create private key on this pod.')
-        return callback(err)
-      }
-      logger.info('RSA key generated.')
-
-      logger.info('Manage public key...')
-      openssl.exec('rsa', { 'in': certDir + 'peertube.key.pem', 'pubout': true, 'out': certDir + 'peertube.pub' }, function (err) {
-        if (err) {
-          logger.error('Cannot create public key on this pod.')
-          return callback(err)
-        }
-
-        logger.info('Public key managed.')
-        return callback(null)
-      })
-    })
-  })
-}
-
-function generatePassword (callback) {
-  crypto.randomBytes(32, function (err, buf) {
-    if (err) return callback(err)
-
-    callback(null, buf.toString('utf8'))
-  })
-}
-
-function symetricDecrypt (text, password) {
-  const decipher = crypto.createDecipher(algorithm, password)
-  let dec = decipher.update(text, 'hex', 'utf8')
-  dec += decipher.final('utf8')
-  return dec
-}
-
-function symetricEncrypt (text, callback) {
-  generatePassword(function (err, password) {
-    if (err) return callback(err)
-
-    const cipher = crypto.createCipher(algorithm, password)
-    let crypted = cipher.update(text, 'utf8', 'hex')
-    crypted += cipher.final('hex')
-    callback(null, { crypted: crypted, password: password })
-  })
-}
index 871342d6059d425449f031356440da72cd6e3d7c..547230adc973a0958ce672d26363c89588554612 100644 (file)
@@ -5,7 +5,7 @@ const replay = require('request-replay')
 const request = require('request')
 
 const constants = require('../initializers/constants')
-const peertubeCrypto = require('./peertubeCrypto')
+const peertubeCrypto = require('./peertube-crypto')
 
 const http = config.get('webserver.https') ? 'https' : 'http'
 const host = config.get('webserver.host')
index e0ae822cfef2936253db786733b222e9efba27e5..014efbcb7b7daf14b6420c63d18250947d557d43 100644 (file)
@@ -9,7 +9,7 @@ const path = require('path')
 
 const checker = require('./checker')
 const logger = require('../helpers/logger')
-const peertubeCrypto = require('../helpers/peertubeCrypto')
+const peertubeCrypto = require('../helpers/peertube-crypto')
 
 const Client = mongoose.model('OAuthClient')
 const User = mongoose.model('User')
index a93467c13b884623bf065a8c8d3c28324be07f08..a85f4e19acca4f655686704255774af5658a6704 100644 (file)
@@ -8,7 +8,7 @@ const request = require('request')
 
 const constants = require('../initializers/constants')
 const logger = require('../helpers/logger')
-const peertubeCrypto = require('../helpers/peertubeCrypto')
+const peertubeCrypto = require('../helpers/peertube-crypto')
 const requests = require('../helpers/requests')
 
 const http = config.get('webserver.https') ? 'https' : 'http'
diff --git a/server/lib/webtorrent-process.js b/server/lib/webtorrent-process.js
new file mode 100644 (file)
index 0000000..be7ac5b
--- /dev/null
@@ -0,0 +1,92 @@
+'use strict'
+
+const WebTorrent = require('webtorrent')
+const ipc = require('node-ipc')
+
+function webtorrent (args) {
+  if (args.length !== 3) {
+    throw new Error('Wrong arguments number: ' + args.length + '/3')
+  }
+
+  const host = args[1]
+  const port = args[2]
+  const nodeKey = 'webtorrentnode' + port
+  const processKey = 'webtorrentprocess' + port
+
+  ipc.config.silent = true
+  ipc.config.id = processKey
+
+  if (host === 'client' && port === '1') global.WEBTORRENT_ANNOUNCE = []
+  else global.WEBTORRENT_ANNOUNCE = 'ws://' + host + ':' + port + '/tracker/socket'
+  const wt = new WebTorrent({ dht: false })
+
+  function seed (data) {
+    const args = data.args
+    const path = args.path
+    const _id = data._id
+
+    wt.seed(path, { announceList: '' }, function (torrent) {
+      const toSend = {
+        magnetUri: torrent.magnetURI
+      }
+
+      ipc.of[nodeKey].emit(nodeKey + '.seedDone.' + _id, toSend)
+    })
+  }
+
+  function add (data) {
+    const args = data.args
+    const magnetUri = args.magnetUri
+    const _id = data._id
+
+    wt.add(magnetUri, function (torrent) {
+      const toSend = {
+        files: []
+      }
+
+      torrent.files.forEach(function (file) {
+        toSend.files.push({ path: file.path })
+      })
+
+      ipc.of[nodeKey].emit(nodeKey + '.addDone.' + _id, toSend)
+    })
+  }
+
+  function remove (data) {
+    const args = data.args
+    const magnetUri = args.magnetUri
+    const _id = data._id
+
+    try {
+      wt.remove(magnetUri, callback)
+    } catch (err) {
+      console.log('Cannot remove the torrent from WebTorrent.')
+      return callback(null)
+    }
+
+    function callback () {
+      const toSend = {}
+      ipc.of[nodeKey].emit(nodeKey + '.removeDone.' + _id, toSend)
+    }
+  }
+
+  console.log('Configuration: ' + host + ':' + port)
+  console.log('Connecting to IPC...')
+
+  ipc.connectTo(nodeKey, function () {
+    ipc.of[nodeKey].on(processKey + '.seed', seed)
+    ipc.of[nodeKey].on(processKey + '.add', add)
+    ipc.of[nodeKey].on(processKey + '.remove', remove)
+
+    ipc.of[nodeKey].emit(processKey + '.ready')
+    console.log('Ready.')
+  })
+
+  process.on('uncaughtException', function (e) {
+    ipc.of[nodeKey].emit(processKey + '.exception', { exception: e.toString() })
+  })
+}
+
+// ---------------------------------------------------------------------------
+
+module.exports = webtorrent
index fe2ee357f35349347a1d6ff74e925b578a919865..9960737f20bb76c44c334762cfc4e9b5adbd9a9d 100644 (file)
@@ -57,7 +57,7 @@ function create (options, callback) {
       throw new Error('Received exception error from webtorrent process : ' + data.exception)
     })
 
-    const webtorrentProcess = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true })
+    const webtorrentProcess = spawn(pathUtils.join(__dirname, 'webtorrent-process.js'), host, port, { detached: true })
 
     if (electronDebug === true) {
       webtorrentProcess.stderr.on('data', function (data) {
diff --git a/server/lib/webtorrentProcess.js b/server/lib/webtorrentProcess.js
deleted file mode 100644 (file)
index be7ac5b..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-'use strict'
-
-const WebTorrent = require('webtorrent')
-const ipc = require('node-ipc')
-
-function webtorrent (args) {
-  if (args.length !== 3) {
-    throw new Error('Wrong arguments number: ' + args.length + '/3')
-  }
-
-  const host = args[1]
-  const port = args[2]
-  const nodeKey = 'webtorrentnode' + port
-  const processKey = 'webtorrentprocess' + port
-
-  ipc.config.silent = true
-  ipc.config.id = processKey
-
-  if (host === 'client' && port === '1') global.WEBTORRENT_ANNOUNCE = []
-  else global.WEBTORRENT_ANNOUNCE = 'ws://' + host + ':' + port + '/tracker/socket'
-  const wt = new WebTorrent({ dht: false })
-
-  function seed (data) {
-    const args = data.args
-    const path = args.path
-    const _id = data._id
-
-    wt.seed(path, { announceList: '' }, function (torrent) {
-      const toSend = {
-        magnetUri: torrent.magnetURI
-      }
-
-      ipc.of[nodeKey].emit(nodeKey + '.seedDone.' + _id, toSend)
-    })
-  }
-
-  function add (data) {
-    const args = data.args
-    const magnetUri = args.magnetUri
-    const _id = data._id
-
-    wt.add(magnetUri, function (torrent) {
-      const toSend = {
-        files: []
-      }
-
-      torrent.files.forEach(function (file) {
-        toSend.files.push({ path: file.path })
-      })
-
-      ipc.of[nodeKey].emit(nodeKey + '.addDone.' + _id, toSend)
-    })
-  }
-
-  function remove (data) {
-    const args = data.args
-    const magnetUri = args.magnetUri
-    const _id = data._id
-
-    try {
-      wt.remove(magnetUri, callback)
-    } catch (err) {
-      console.log('Cannot remove the torrent from WebTorrent.')
-      return callback(null)
-    }
-
-    function callback () {
-      const toSend = {}
-      ipc.of[nodeKey].emit(nodeKey + '.removeDone.' + _id, toSend)
-    }
-  }
-
-  console.log('Configuration: ' + host + ':' + port)
-  console.log('Connecting to IPC...')
-
-  ipc.connectTo(nodeKey, function () {
-    ipc.of[nodeKey].on(processKey + '.seed', seed)
-    ipc.of[nodeKey].on(processKey + '.add', add)
-    ipc.of[nodeKey].on(processKey + '.remove', remove)
-
-    ipc.of[nodeKey].emit(processKey + '.ready')
-    console.log('Ready.')
-  })
-
-  process.on('uncaughtException', function (e) {
-    ipc.of[nodeKey].emit(processKey + '.exception', { exception: e.toString() })
-  })
-}
-
-// ---------------------------------------------------------------------------
-
-module.exports = webtorrent
index fbaf4d0f254aaa4ee0b76127c27757414a8f5594..9779c14ac2a4e30d53b50bfcccbb26b9192096ff 100644 (file)
@@ -2,7 +2,7 @@
 
 const logger = require('../helpers/logger')
 const mongoose = require('mongoose')
-const peertubeCrypto = require('../helpers/peertubeCrypto')
+const peertubeCrypto = require('../helpers/peertube-crypto')
 
 const Pod = mongoose.model('Pod')
 
index 24e2299dcdc1d297395f588df6b8c2dcdd5ff551..3e2af06fb0c253e45c6746f041764e16bbf212fb 100644 (file)
@@ -4,7 +4,7 @@ const mongoose = require('mongoose')
 
 const checkErrors = require('./utils').checkErrors
 const constants = require('../../initializers/constants')
-const customValidators = require('../../helpers/customValidators')
+const customValidators = require('../../helpers/custom-validators')
 const logger = require('../../helpers/logger')
 
 const Video = mongoose.model('Video')
index a8a70ba89ff41168065e541c743d90e0b4e68953..1c06e477cc195c7a842799ff8c70af1d39c72a7a 100644 (file)
@@ -8,7 +8,7 @@ const pathUtils = require('path')
 const mongoose = require('mongoose')
 
 const constants = require('../initializers/constants')
-const customValidators = require('../helpers/customValidators')
+const customValidators = require('../helpers/custom-validators')
 const logger = require('../helpers/logger')
 const utils = require('../helpers/utils')
 const webtorrent = require('../lib/webtorrent')