X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Ftracker.ts;h=19a8b2bc937529d999006b7a7a72c8ea7b96ec79;hb=db312c7023bb8263741255f8af1c8a6aef5f88f7;hp=37f8f12c98150ea4c63250ae7d39daf7660e9043;hpb=31aa391d13f78743bb552bc8c337964afb3b5817;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/tracker.ts b/server/controllers/tracker.ts index 37f8f12c9..19a8b2bc9 100644 --- a/server/controllers/tracker.ts +++ b/server/controllers/tracker.ts @@ -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) {