]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/tracker.ts
Fix job queue tests
[github/Chocobozzz/PeerTube.git] / server / controllers / tracker.ts
index 37f8f12c98150ea4c63250ae7d39daf7660e9043..19a8b2bc937529d999006b7a7a72c8ea7b96ec79 100644 (file)
@@ -1,8 +1,8 @@
-import * as bitTorrentTracker from 'bittorrent-tracker'
-import * as express from 'express'
-import * as http from 'http'
-import * as proxyAddr from 'proxy-addr'
-import { Server as WebSocketServer } from 'ws'
+import { Server as TrackerServer } from 'bittorrent-tracker'
+import express from 'express'
+import { createServer } from 'http'
+import proxyAddr from 'proxy-addr'
+import { WebSocketServer } from 'ws'
 import { Redis } from '@server/lib/redis'
 import { logger } from '../helpers/logger'
 import { CONFIG } from '../initializers/config'
@@ -10,8 +10,6 @@ import { TRACKER_RATE_LIMITS } from '../initializers/constants'
 import { VideoFileModel } from '../models/video/video-file'
 import { VideoStreamingPlaylistModel } from '../models/video/video-streaming-playlist'
 
-const TrackerServer = bitTorrentTracker.Server
-
 const trackerRouter = express.Router()
 
 let peersIps = {}
@@ -71,12 +69,17 @@ const trackerServer = new TrackerServer({
 })
 
 if (CONFIG.TRACKER.ENABLED !== false) {
-
   trackerServer.on('error', function (err) {
     logger.error('Error in tracker.', { err })
   })
 
   trackerServer.on('warning', function (err) {
+    const message = err.message || ''
+
+    if (CONFIG.LOG.LOG_TRACKER_UNKNOWN_INFOHASH === false && message.includes('Unknown infoHash')) {
+      return
+    }
+
     logger.warn('Warning in tracker.', { err })
   })
 }
@@ -86,7 +89,7 @@ trackerRouter.get('/tracker/announce', (req, res) => onHttpRequest(req, res, { a
 trackerRouter.get('/tracker/scrape', (req, res) => onHttpRequest(req, res, { action: 'scrape' }))
 
 function createWebsocketTrackerServer (app: express.Application) {
-  const server = http.createServer(app)
+  const server = createServer(app)
   const wss = new WebSocketServer({ noServer: true })
 
   wss.on('connection', function (ws, req) {