summaryrefslogtreecommitdiff
path: root/opentracker.conf.sample
blob: 054e405d4f52116aebc3df46fe5152251f5c3dde (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# opentracker config file
#

# I)   Address opentracker will listen on, using both, tcp AND udp family
#      (note, that port 6969 is implicit if omitted).
#
#      If no listen option is given (here or on the command line), opentracker
#      listens on 0.0.0.0:6969 tcp and udp.
#
#      The next variable determines if udp sockets are handled in the event
#      loop (set it to 0, the default) or are handled in blocking reads in
#      dedicated worker threads. You have to set this value before the
#      listen.tcp_udp or listen.udp statements before it takes effect, but you
#      can re-set it for each listen statement. Normally you should keep it at
#      the top of the config file.
#
# listen.udp.workers 4
#
# listen.tcp_udp 0.0.0.0
# listen.tcp_udp 192.168.0.1:80
# listen.tcp_udp 10.0.0.5:6969
#
#      To only listen on tcp or udp family ports, list them this way:
#
# listen.tcp 0.0.0.0
# listen.udp 192.168.0.1:6969
#
#      Note, that using 0.0.0.0 for udp sockets may yield surprising results.
#      An answer packet sent on that socket will not necessarily have the
#      source address that the requesting client may expect, but any address
#      on that interface.
#

# II)  If opentracker runs in a non-open mode, point it to files containing
#      all torrent hashes that it will serve (shell option -w)
#
# access.whitelist /path/to/whitelist
#
#      or, if opentracker was compiled to allow blacklisting (shell option -b)
#
# access.blacklist ./blacklist
#
#      It is pointless and hence not possible to compile black AND white
#      listing, so choose one of those options at compile time. File format
#      is straight forward: "<hex info hash>\n<hex info hash>\n..."
#
# IIa) You can enable dynamic changesets to accesslists by enabling
#      WANT_DYNAMIC_ACCESSLIST.
#
#      The suggested way to work with dynamic changeset lists is to keep a
#      main accesslist file that is loaded when opentracker (re)starts and
#      reloaded infrequently (hourly or daily).
#
#      All changes to the accesslist (e.g. from a web frontend) should be
#      both appended to or removed from that file and sent to opentracker. By
#      keeping dynamic changeset lists, you can avoid reloading huge
#      accesslists whenever just a single entry is added or removed.
#
#      Any info_hash (format see above) written to the fifo_add file will be
#      kept on a dynamic add-changeset, removed from the dynamic
#      delete-changeset and treated as if it was in the main accesslist file.
#      The semantic of the respective dynamic changeset depends on whether
#      WANT_ACCESSLIST_WHITE or WANT_ACCESSLIST_BLACK is enabled.
#
# access.fifo_add /var/run/opentracker/adder.fifo
#
#      Any info_hash (format see above) written to the fifo_delete file will
#      be kept on a dynamic delete-changeset, removed from the dynamic
#      add-changeset and treated as if it was not in the main accesslist
#      file.
#
# access.fifo_delete /var/run/opentracker/deleter.fifo
#
#      If you reload the accesslist by sending SIGHUP to the tracker process,
#      the dynamic lists are flushed, as opentracker assumes thoses lists are
#      merged into the main accesslist.
#
#      NOTE: While you can have multiple writers sending lines to the fifos,
#      any writes larger than PIPE_BUF (see your limits.h, minimally 512
#      bytes but usually 4096) may be interleaved with data sent by other
#      writers. This can lead to unparsable lines of info_hashes.
#
# IIb)
#      If you do not want to grant anyone access to your stats, enable the
#      WANT_RESTRICT_STATS option in Makefile and bless the ip addresses
#      or network allowed to fetch stats here.
#
# access.stats 192.168.0.23
# access.stats 10.1.1.23
#
#      There is another way of hiding your stats. You can obfuscate the path
#      to them. Normally it is located at /stats but you can configure it to
#      appear anywhere on your tracker.
#
# access.stats_path stats
#
# II
#      If opentracker lives behind one or multiple reverse proxies,
#      every http connection appears to come from these proxies. In order to
#      take the X-Forwarded-For address instead, compile opentracker with the
#      WANT_IP_FROM_PROXY option and set your proxy addresses or networkss here.
#
# access.proxy 10.0.1.23
# access.proxy 192.0.0.0/8
#

# III) Live sync uses udp multicast packets to keep a cluster of opentrackers
#      synchronized. This option tells opentracker which port to listen for
#      incoming live sync packets. The ip address tells opentracker, on which
#      interface to join the multicast group, those packets will arrive.
#      (shell option -i 192.168.0.1 -s 9696), port 9696 is default.
#
# livesync.cluster.listen 192.168.0.1:9696
#
#      Note that two udp sockets will be opened. One on ip address 0.0.0.0
#      port 9696, that will join the multicast group 224.0.42.23 for incoming
#      udp packets and one on ip address 192.168.0.1 port 9696 for outgoing
#      udp packets.
#
#      As of now one and only one ip address must be given, if opentracker
#      was built with the WANT_SYNC_LIVE feature.
#

# IV)  Sync between trackers running in a cluster is restricted to packets
#      coming from trusted ip addresses. While source ip verification is far
#      from perfect, the authors of opentracker trust in the correct
#      application of tunnels, filters and LAN setups (shell option -A).
#
# livesync.cluster.node_ip 192.168.0.4
# livesync.cluster.node_ip 192.168.0.5
# livesync.cluster.node_ip 192.168.0.6
#
#      This is the admin ip address for old style (HTTP based) asynchronus
#      tracker syncing.
#
# batchsync.cluster.admin_ip 10.1.1.1
#

# V)   Control privilege drop behaviour.
#      Put in the directory opentracker will chroot/chdir to. All black/white
#      list files must be put in that directory (shell option -d).
#
#
# tracker.rootdir /usr/local/etc/opentracker
#
#      Tell opentracker which user to setuid to.
#
# tracker.user    nobody
#

# VI)  opentracker can be told to answer to a "GET / HTTP"-request with a
#      redirect to another location (shell option -r).
#
# tracker.redirect_url https://your.tracker.local/