blob: b28879fc46435143bac495b311cd1fb7635c35bc (
plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
.Dd 2026-10-28
.Dt opentracker.conf 4
.Os Unix
.Sh NAME
.Nm opentracker.conf
.Nd configuration file for opentracker
.Sh SYNOPSIS
.Nm
.Sh DESCRIPTION
The
.Nm
configuration file specifies various options for configuring the behavior of the opentracker program.
.Pp
Lines starting with '#' are comments and are ignored. Options are specified as 'keyword value' pairs.
.Pp
The following options are available:
.Pp
.Bl -tag -width ".It access.proxy" -compact
.It listen.tcp_udp Ar address
Specifies an address opentracker will listen on for both TCP and UDP connections. If none are specified, opentracker listens on 0.0.0.0:6969 by default. Can be added more than once.
.Pp
.It listen.tcp Ar address
Specifies the address opentracker will listen on for TCP connections. Can be added more than once.
.Pp
.It listen.udp Ar address
Specifies the address opentracker will listen on for UDP connections. Can be added more than once.
.Pp
A listen statement may carry options after the address, as in
.Dl listen.udp 10.0.0.5:6969 workers=4 shared
where
.Cm workers Ns = Ns Ar count
sets the worker count for that socket alone and is ignored for TCP, and
.Cm shared
permits another process to bind the same address.
.Pp
.It listen.udp.workers Ar threads
Specifies how many threads will be spawned to handle UDP requests, for every
listen statement that does not carry a
.Cm workers
option of its own. Defaults to 1. A count of 0 serves UDP from the event loop,
in the thread that also serves TCP. See
.Sx TUNING
before raising it.
.Pp
.It listen.shared Ar boolean
Permits another process to bind the same address, for every listen statement
that does not carry a
.Cm shared
option of its own. Defaults to 0, and is useful only where a second tracker is
deliberately run on the same address.
.Pp
.It access.whitelist Ar path/to/whitelist
Specifies the path to the whitelist file containing all torrent hashes that opentracker will serve. Use this option if opentracker runs in a non-open mode.
.Pp
.It access.blacklist Ar path/to/blacklist
Specifies the path to the blacklist file containing all torrent hashes that opentracker will not serve. Use this option if opentracker was compiled to allow blacklisting.
.Pp
.It access.fifo_add Ar path/to/adder.fifo
Specifies the path to the FIFO (named pipe) used for dynamic changesets to accesslists. Info hashes written to this FIFO will be added to the main accesslist file.
.Pp
.It access.fifo_delete Ar path/to/deleter.fifo
Specifies the path to the FIFO (named pipe) used for dynamic changesets to accesslists. Info hashes written to this FIFO will be removed from the main accesslist file.
.Pp
.It access.stats Ar ip_address_or_network
Specifies the IP address or network in CIDR notation allowed to fetch stats from opentracker.
.Pp
.It access.stats_path Ar path
Specifies the path to the stats location. You can configure opentracker to appear anywhere on your tracker. Defaults to /stats.
.Pp
.It access.proxy Ar ip_address_or_network
Specifies the IP address or network of the reverse proxies. Opentracker will take the X-Forwarded-For address instead of the source IP address. Can be added more than once.
.Pp
.It livesync.cluster.listen Ar ip_address:port
Specifies the IP address and port opentracker will listen on for incoming live sync packets to keep a cluster of opentrackers synchronized.
.Pp
.It livesync.cluster.node_ip Ar ip_address
Specifies one trusted IP address for sync between trackers running in a cluster. Can be added more than once.
.Pp
.It batchsync.cluster.admin_ip Ar ip_address
Specifies the admin IP address for old-style (HTTP-based) asynchronous tracker syncing.
.Pp
.It tracker.rootdir Ar path
Specifies the directory opentracker will chroot/chdir to. All black/white list files must be located in this directory.
.Pp
.It tracker.user Ar username
Specifies the user opentracker will setuid to after binding to potentially privileged ports.
.Pp
.It tracker.redirect_url Ar URL
Specifies the URL opentracker will redirect to in response to a "GET / HTTP" request.
.El
.Sh TUNING
A worker is a thread that blocks in a read until a datagram arrives. Where the
kernel spreads arriving datagrams over a group of sockets bound to one address,
opentracker binds one socket per worker and throughput rises with the worker
count. Linux does so, and FreeBSD since 12.0. Where a kernel does not, every
worker reads the same socket and they contend for its receive queue, so more
than one worker costs throughput. opentracker asks at start up and binds a
group only where the answer is yes.
.Pp
.Pa tests/udp_scaling.py
in the source distribution sweeps the setting against a running tracker.
Measure on the machine that will carry the traffic.
.Sh EXAMPLES
To specify the address opentracker will listen on for both TCP and UDP connections:
.Dl listen.tcp_udp 0.0.0.0:6969
.Pp
To specify the address opentracker will listen on for TCP connections:
.Dl listen.tcp 0.0.0.0
.Pp
To specify the address opentracker will listen on for UDP connections:
.Dl listen.udp 0.0.0.0:6969
.Pp
.Sh SEE ALSO
.Xr opentracker 1
.Pp
.Sh AUTHOR
.An Dirk Engling
.Aq Mt erdgeist@erdgeist.org
.Pp
|