summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man1/opentracker.116
-rw-r--r--man4/opentracker.conf.442
-rw-r--r--ot_stats.c1
3 files changed, 24 insertions, 35 deletions
diff --git a/man1/opentracker.1 b/man1/opentracker.1
index 85ded7b..0103ebe 100644
--- a/man1/opentracker.1
+++ b/man1/opentracker.1
@@ -20,7 +20,6 @@
20is a bittorrent tracker that implements announce and scrape actions over the 20is a bittorrent tracker that implements announce and scrape actions over the
21UDP and the plain http protocol, aiming for minimal resource usage. 21UDP and the plain http protocol, aiming for minimal resource usage.
22.Pp 22.Pp
23
24When invoked with parameters, it binds to TCP and UDP port 6969 on all 23When invoked with parameters, it binds to TCP and UDP port 6969 on all
25interfaces. The recommended way to configure opentracker is by providing a 24interfaces. The recommended way to configure opentracker is by providing a
26config file using the 25config file using the
@@ -29,17 +28,14 @@ option. See
29.Xr opentracker.conf 4 28.Xr opentracker.conf 4
30for details. 29for details.
31.Pp 30.Pp
32
33.Sh OPTIONS 31.Sh OPTIONS
34The following options are available: 32The following options are available:
35
36.Bl -tag -width -indent=8 33.Bl -tag -width -indent=8
37.It Fl f Ar config 34.It Fl f Ar config
38Parse a config file with a list of options. Consecutive command options 35Parse a config file with a list of options. Consecutive command options
39will override options from the config file. See 36will override options from the config file. See
40.Xr opentracker.conf 4 37.Xr opentracker.conf 4
41for details. 38for details.
42
43.It Fl i Ar ip-select 39.It Fl i Ar ip-select
44Select an ip address that will be used with the next 40Select an ip address that will be used with the next
45.Op Fl p 41.Op Fl p
@@ -90,15 +86,11 @@ or
90.Br WANT_ACCESSLIST_WHITE 86.Br WANT_ACCESSLIST_WHITE
91options, this option sets the location of the accesslist. 87options, this option sets the location of the accesslist.
92.El 88.El
93
94.Sh EXAMPLES 89.Sh EXAMPLES
95
96Start 90Start
97.Nm 91.Nm
98bound on UDP and TCP ports 6969 on IPv6 localhost. 92bound on UDP and TCP ports 6969 on IPv6 localhost.
99
100.Dl # ./opentracker -i ::1 -p 6969 -P 6969 93.Dl # ./opentracker -i ::1 -p 6969 -P 6969
101
102.Pp 94.Pp
103Start 95Start
104.Nm 96.Nm
@@ -106,12 +98,9 @@ bound on UDP port 6868 and TCP port 6868 on IPv4 localhost and allow
106privileged access from the network 192.168/16 while redirecting 98privileged access from the network 192.168/16 while redirecting
107HTTP clients accessing the root directory, which is not covered by the 99HTTP clients accessing the root directory, which is not covered by the
108bittorrent tracker protocol, to https://my-trackersite.com/. 100bittorrent tracker protocol, to https://my-trackersite.com/.
109
110.Dl # ./opentracker -i 192.168.0.4 -p 6868 -P 6969 -A 192.168/16 -r https://my-trackersite.com/ 101.Dl # ./opentracker -i 192.168.0.4 -p 6868 -P 6969 -A 192.168/16 -r https://my-trackersite.com/
111
112The announce URLs are http://192.168.0.4:6868/announce and 102The announce URLs are http://192.168.0.4:6868/announce and
113udp://192.168.0.4:6868/announce respectively. 103udp://192.168.0.4:6868/announce respectively.
114
115.Sh FILES 104.Sh FILES
116.Bl -tag -width indent 105.Bl -tag -width indent
117.It Pa opentracker.conf 106.It Pa opentracker.conf
@@ -127,16 +116,15 @@ opentracker documentation
127.Pp 116.Pp
128Bittorrent tracker protocol 117Bittorrent tracker protocol
129.Lk http://www.bittorrent.org/beps/bep_0015.html 118.Lk http://www.bittorrent.org/beps/bep_0015.html
130.Sh
131.Sh AUTHOR 119.Sh AUTHOR
132.An Dirk Engling 120.An Dirk Engling
133.Aq Mt erdgeist@erdgeist.org . 121.Aq Mt erdgeist@erdgeist.org .
134.Sh LICENSE 122.Sh LICENSE
135This software is released under the Beerware License: 123This software is released under the Beerware License:
136 124.Pp
137Permission is hereby granted, free of charge, to any person obtaining a copy of this software 125Permission is hereby granted, free of charge, to any person obtaining a copy of this software
138and associated documentation files (the "Software"), to deal in the Software with the following 126and associated documentation files (the "Software"), to deal in the Software with the following
139terms and conditions: 127terms and conditions:
140 128.Pp
141If you meet the author(s) someday, and you think this software is worth it, you can buy them 129If you meet the author(s) someday, and you think this software is worth it, you can buy them
142a beer in return. 130a beer in return.
diff --git a/man4/opentracker.conf.4 b/man4/opentracker.conf.4
index b4f5f51..2bc1389 100644
--- a/man4/opentracker.conf.4
+++ b/man4/opentracker.conf.4
@@ -14,59 +14,59 @@ configuration file specifies various options for configuring the behavior of the
14Lines starting with '#' are comments and are ignored. Options are specified as 'keyword value' pairs. 14Lines starting with '#' are comments and are ignored. Options are specified as 'keyword value' pairs.
15.Pp 15.Pp
16The following options are available: 16The following options are available:
17 17.Pp
18.Bl -tag -width ".It access.proxy" -compact 18.Bl -tag -width ".It access.proxy" -compact
19.It listen.tcp_udp Ar address 19.It listen.tcp_udp Ar address
20Specifies 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. 20Specifies 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.
21 21.Pp
22.It listen.tcp Ar address 22.It listen.tcp Ar address
23Specifies the address opentracker will listen on for TCP connections. Can be added more than once. 23Specifies the address opentracker will listen on for TCP connections. Can be added more than once.
24 24.Pp
25.It listen.udp Ar address 25.It listen.udp Ar address
26Specifies the address opentracker will listen on for UDP connections. Can be added more than once. 26Specifies the address opentracker will listen on for UDP connections. Can be added more than once.
27 27.Pp
28.It listen.udp.workers Ar threads 28.It listen.udp.workers Ar threads
29Specifies how many threads will be spawned to handle UDP connections. Defaults to 4. 29Specifies how many threads will be spawned to handle UDP connections. Defaults to 4.
30 30.Pp
31.It access.whitelist Ar path/to/whitelist 31.It access.whitelist Ar path/to/whitelist
32Specifies 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. 32Specifies 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.
33 33.Pp
34.It access.blacklist Ar path/to/blacklist 34.It access.blacklist Ar path/to/blacklist
35Specifies 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. 35Specifies 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.
36 36.Pp
37.It access.fifo_add Ar path/to/adder.fifo 37.It access.fifo_add Ar path/to/adder.fifo
38Specifies 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. 38Specifies 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.
39 39.Pp
40.It access.fifo_delete Ar path/to/deleter.fifo 40.It access.fifo_delete Ar path/to/deleter.fifo
41Specifies 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. 41Specifies 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.
42 42.Pp
43.It access.stats Ar ip_address_or_network 43.It access.stats Ar ip_address_or_network
44Specifies the IP address or network in CIDR notation allowed to fetch stats from opentracker. 44Specifies the IP address or network in CIDR notation allowed to fetch stats from opentracker.
45 45.Pp
46.It access.stats_path Ar path 46.It access.stats_path Ar path
47Specifies the path to the stats location. You can configure opentracker to appear anywhere on your tracker. Defaults to /stats. 47Specifies the path to the stats location. You can configure opentracker to appear anywhere on your tracker. Defaults to /stats.
48 48.Pp
49.It access.proxy Ar ip_address_or_network 49.It access.proxy Ar ip_address_or_network
50Specifies 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. 50Specifies 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.
51 51.Pp
52.It livesync.cluster.listen Ar ip_address:port 52.It livesync.cluster.listen Ar ip_address:port
53Specifies the IP address and port opentracker will listen on for incoming live sync packets to keep a cluster of opentrackers synchronized. 53Specifies the IP address and port opentracker will listen on for incoming live sync packets to keep a cluster of opentrackers synchronized.
54 54.Pp
55.It livesync.cluster.node_ip Ar ip_address 55.It livesync.cluster.node_ip Ar ip_address
56Specifies one trusted IP address for sync between trackers running in a cluster. Can be added more than once. 56Specifies one trusted IP address for sync between trackers running in a cluster. Can be added more than once.
57 57.Pp
58.It batchsync.cluster.admin_ip Ar ip_address 58.It batchsync.cluster.admin_ip Ar ip_address
59Specifies the admin IP address for old-style (HTTP-based) asynchronous tracker syncing. 59Specifies the admin IP address for old-style (HTTP-based) asynchronous tracker syncing.
60 60.Pp
61.It tracker.rootdir Ar path 61.It tracker.rootdir Ar path
62Specifies the directory opentracker will chroot/chdir to. All black/white list files must be located in this directory. 62Specifies the directory opentracker will chroot/chdir to. All black/white list files must be located in this directory.
63 63.Pp
64.It tracker.user Ar username 64.It tracker.user Ar username
65Specifies the user opentracker will setuid to after binding to potentially privileged ports. 65Specifies the user opentracker will setuid to after binding to potentially privileged ports.
66 66.Pp
67.It tracker.redirect_url Ar URL 67.It tracker.redirect_url Ar URL
68Specifies the URL opentracker will redirect to in response to a "GET / HTTP" request. 68Specifies the URL opentracker will redirect to in response to a "GET / HTTP" request.
69 69.El
70.Sh EXAMPLES 70.Sh EXAMPLES
71To specify the address opentracker will listen on for both TCP and UDP connections: 71To specify the address opentracker will listen on for both TCP and UDP connections:
72.Dl listen.tcp_udp 0.0.0.0:6969 72.Dl listen.tcp_udp 0.0.0.0:6969
@@ -76,11 +76,11 @@ To specify the address opentracker will listen on for TCP connections:
76.Pp 76.Pp
77To specify the address opentracker will listen on for UDP connections: 77To specify the address opentracker will listen on for UDP connections:
78.Dl listen.udp 0.0.0.0:6969 78.Dl listen.udp 0.0.0.0:6969
79 79.Pp
80.Sh SEE ALSO 80.Sh SEE ALSO
81.Xr opentracker 1 81.Xr opentracker 1
82 82.Pp
83.Sh AUTHOR 83.Sh AUTHOR
84.An Dirk Engling 84.An Dirk Engling
85.Aq Mt erdgeist@erdgeist.org 85.Aq Mt erdgeist@erdgeist.org
86 86.Pp
diff --git a/ot_stats.c b/ot_stats.c
index 245961d..b2eaec9 100644
--- a/ot_stats.c
+++ b/ot_stats.c
@@ -329,6 +329,7 @@ size_t stats_top_txt(char *reply, int amount) {
329 329
330 byte_zero(top100s, sizeof(top100s)); 330 byte_zero(top100s, sizeof(top100s));
331 byte_zero(top100c, sizeof(top100c)); 331 byte_zero(top100c, sizeof(top100c));
332 byte_zero(top100l, sizeof(top100l));
332 333
333 for (bucket = 0; bucket < OT_BUCKET_COUNT; ++bucket) { 334 for (bucket = 0; bucket < OT_BUCKET_COUNT; ++bucket) {
334 ot_vector *torrents_list = mutex_bucket_lock(bucket); 335 ot_vector *torrents_list = mutex_bucket_lock(bucket);