X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Ftracker.ts;h=6d60639b880e66da7a213abe58b0273881d46736;hb=b65de1be4dcf626c552be613d531d3f6e23c6085;hp=d09b19cae872687366ca8d80b9d39aaf05b72f98;hpb=d988e9a2f83dd2f85d1afa0b98614b29a66dddf4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/tracker.ts b/server/controllers/tracker.ts index d09b19cae..6d60639b8 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 = {} @@ -22,7 +20,6 @@ const trackerServer = new TrackerServer({ http: false, udp: false, ws: false, - dht: false, filter: async function (infoHash, params, cb) { if (CONFIG.TRACKER.ENABLED === false) { return cb(new Error('Tracker is disabled on this instance.')) @@ -31,7 +28,7 @@ const trackerServer = new TrackerServer({ let ip: string if (params.type === 'ws') { - ip = params.socket.ip + ip = params.ip } else { ip = params.httpReq.ip } @@ -87,7 +84,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) { @@ -110,7 +107,8 @@ function createWebsocketTrackerServer (app: express.Application) { return } - return wss.handleUpgrade(request, socket, head, ws => wss.emit('connection', ws, request)) + // FIXME: typings + return wss.handleUpgrade(request, socket as any, head, ws => wss.emit('connection', ws, request)) }) .catch(err => logger.error('Cannot check if tracker block ip exists.', { err })) }