Skip to content

Commit a240724

Browse files
committed
cmd: add --http-hostname, --udp-hostname, --udp6-hostname options
1 parent 0150982 commit a240724

File tree

1 file changed

+42
-13
lines changed

1 file changed

+42
-13
lines changed

bin/cmd.js

Lines changed: 42 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ var argv = minimist(process.argv.slice(2), {
2121
'version',
2222
'ws'
2323
],
24+
string: [
25+
'http-hostname',
26+
'udp-hostname',
27+
'udp6-hostname'
28+
],
2429
default: {
2530
port: 8000
2631
}
@@ -42,15 +47,18 @@ if (argv.help) {
4247
If no --http, --udp, or --ws option is supplied, all tracker types will be started.
4348
4449
Options:
45-
-p, --port [number] change the port [default: 8000]
46-
--trust-proxy trust 'x-forwarded-for' header from reverse proxy
47-
--interval client announce interval (ms) [default: 600000]
48-
--http enable http server
49-
--udp enable udp server
50-
--ws enable websocket server
51-
-q, --quiet only show error output
52-
-s, --silent show no output
53-
-v, --version print the current version
50+
-p, --port [number] change the port [default: 8000]
51+
--http-hostname [string] change the http server hostname [default: '::']
52+
--udp-hostname [string] change the udp hostname [default: '0.0.0.0']
53+
--udp6-hostname [string] change the udp6 hostname [default: '::']
54+
--trust-proxy trust 'x-forwarded-for' header from reverse proxy
55+
--interval client announce interval (ms) [default: 600000]
56+
--http enable http server
57+
--udp enable udp server
58+
--ws enable websocket server
59+
-q, --quiet only show error output
60+
-s, --silent show no output
61+
-v, --version print the current version
5462
5563
Please report bugs! https://github.com/feross/bittorrent-tracker/issues
5664
@@ -94,14 +102,35 @@ server.on('stop', function (addr) {
94102
if (!argv.quiet) console.log('stop: ' + addr)
95103
})
96104

97-
server.listen(argv.port, function () {
105+
var hostname = {
106+
http: argv['http-hostname'],
107+
udp4: argv['udp-hostname'],
108+
udp6: argv['upd6-hostname']
109+
}
110+
111+
server.listen(argv.port, hostname, function () {
98112
if (server.http && argv.http && !argv.quiet) {
99-
console.log('HTTP tracker: http://localhost:' + server.http.address().port + '/announce')
113+
var httpAddr = server.http.address()
114+
var httpHost = httpAddr.address !== '::' ? httpAddr.address : 'localhost'
115+
var httpPort = httpAddr.port
116+
console.log('HTTP tracker: http://' + httpHost + ':' + httpPort + '/announce')
100117
}
101118
if (server.udp && !argv.quiet) {
102-
console.log('UDP tracker: udp://localhost:' + server.udp.address().port)
119+
var udpAddr = server.udp.address()
120+
var udpHost = udpAddr.address
121+
var udpPort = udpAddr.port
122+
console.log('UDP tracker: udp://' + udpHost + ':' + udpPort)
123+
}
124+
if (server.udp6 && !argv.quiet) {
125+
var udp6Addr = server.udp6.address()
126+
var udp6Host = udp6Addr.address !== '::' ? udp6Addr.address : 'localhost'
127+
var udp6Port = udp6Addr.port
128+
console.log('UDP6 tracker: udp://' + udp6Host + ':' + udp6Port)
103129
}
104130
if (server.ws && !argv.quiet) {
105-
console.log('WebSocket tracker: ws://localhost:' + server.http.address().port)
131+
var wsAddr = server.http.address()
132+
var wsHost = wsAddr.address !== '::' ? wsAddr.address : 'localhost'
133+
var wsPort = wsAddr.port
134+
console.log('WebSocket tracker: ws://' + wsHost + ':' + wsPort)
106135
}
107136
})

0 commit comments

Comments
 (0)