@@ -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