|
|
|
# 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
|
|
|
|
# allowed to fetch stats here.
|
|
|
|
#
|
|
|
|
# access.stats 192.168.0.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/
|