-
Notifications
You must be signed in to change notification settings - Fork 7
/
server.js
executable file
·40 lines (34 loc) · 1.1 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (C) 2016 Philipp Henkel
// Licensed under the MIT License (MIT). See LICENSE file for more details.
var config = require('./config.js');
var filter = require('./filter')
var Server = require('bittorrent-tracker').Server
var server = new Server({
trustProxy: config.get('trustProxy'),
udp: config.get('udp'),
http: config.get('http'),
ws: config.get('websocket'),
stats: config.get('stats'),
filter: function (infoHash, params, cb) {
var whitelist = config.get('torrentWhitelist')
cb(filter.isTorrentAllowed(infoHash, whitelist))
}
})
server.on('error', function (err) {
console.error('error: ' + err.message)
})
server.on('warning', function (err) {
console.warn('warning: ' + err.message)
})
server.listen(8000, function () {
if (server.http) {
console.log('HTTP tracker listening on port ' + server.http.address().port)
}
if (server.udp) {
console.log('UDP tracker listening on port ' + server.udp.address().port)
}
if (server.ws) {
console.log('WebSocket tracker listening on port ' + server.ws.address().port)
}
})
console.log('configuration = ' + config);