FEATURE_STATISTICS: Include all requests in the statistics
[privoxy.git] / templates / show-status
1 ##########################################################
2 #
3 # Show-Status-CGI Output template for Privoxy.
4 #
5 # USING HTML TEMPLATES:
6 # ---------------------
7 #
8 # Template files are written win plain HTML, with a few
9 # additions:
10 #
11 # - Lines that start with a '#' character like this one
12 #   are ignored
13 #
14 # - Each item in the below list of exported symbols will
15 #   be replaced by dynamically generated text, if they
16 #   are enclosed in '@'-characters. E.g. The string @version@
17 #   will be replaced by the version number of Privoxy.
18 #
19 # - One special application of this is to make whole blocks
20 #   of the HTML template disappear if the condition <name>
21 #   is not given. Simply enclose the block between the two
22 #   strings @if-<name>start and if-<name>-end@. The strings
23 #   should be placed in HTML comments (<!-- -->), so the
24 #   html structure won't be messed when the magic happens.
25 #
26 # USABLE SYMBOLS IN THIS TEMPLATE:
27 # --------------------------------
28 #
29 #  my-ip-addr:
30 #    The IP-address that the client used to reach Privoxy
31 #  my-hostname:
32 #    The hostname associated with my-ip-addr
33 #  admin-address:
34 #    The email address of the Privoxy administrator, as configured
35 #    in the config file
36 #  default-cgi:
37 #    The URL for the "main menu" builtin CGI of Privoxy
38 #  menu:
39 #    List of <li> elements linking to the other available CGIs
40 #  version:
41 #    The Privoxy version number
42 #  code-status:
43 #    The Privoxy development status: "alpha", "beta", or "stable".
44 #  homepage:
45 #    The URL of the Privoxy project, which maintains this software.
46 #
47 #  invocation:
48 #    The command line with which Privoxy was invoked
49 #  options:
50 #    The options read from the configfile, linked to their
51 #    explanations, plus warnings if parsing acl or forward
52 #    statements produced errors.
53 #  defines:
54 #    A HTML-formatted list of all conditional #defines used when
55 #    Privoxy was compiled
56 #
57 #
58 # CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS:
59 # ------------------------------------------------------------------
60 #
61 #  unstable:
62 #    This is an alpha or beta Privoxy release
63 #  have-adminaddr-info:
64 #    An e-mail address for the local Privoxy administrator has
65 #    been specified and is available through the "admin-address"
66 #    symbol
67 #  have-proxy-info:
68 #    A URL for Privoxy's online documentation has been
69 #    specified and is available through the "proxy-info-url"
70 #    symbol
71 #  have-help-info:
72 #    If either have-proxy-info is true or have-adminaddr-info is
73 #    true, have-help-info is true.  Used to conditionally include
74 #    a grey box for any and all help info.
75 #  statistics:
76 #    Privoxy was compiled with statistics support
77 #  have-stats:
78 #    There have been previous requests and statistics have
79 #    been collected. In this case, the following symbols
80 #    are available:
81 #    requests-received:
82 #      The number of requests received so far
83 #    requests-blocked:
84 #      The number of request blocked so far
85 #    percent-blocked:
86 #      The percentage of blocked requests
87 #  have-no-stats:
88 #    There haven't any statistics been collected yet
89 #  extended-statistics:
90 #    Privoxy was compiled with extended statistiscs support.
91 #    In this case the following symbols are available:
92 #    block-reason-statistics:
93 #      Table content of block reasons and how often they were used.
94 #    filter-statistics:
95 #      Table content of content filter statistics.
96 #  trust-support:
97 #    Privoxy was compiled with trust support
98 #  actions-filenames:
99 #    The path to the actions files.
100 #  re-filter-filenames:
101 #    The path to the re_filter files.
102 #  trust-filename:
103 #    The path to the trust file. Only available if
104 #    trust-support is set
105 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
106 <html>
107
108 <head>
109   <title>Privoxy@@my-hostname@: Proxy Status</title>
110   <meta http-equiv="Content-Style-Type" content="text/css">
111   <meta http-equiv="Content-Script-Type" content="text/javascript">
112   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
113   <meta name="robots" content="noindex,nofollow">
114   <link rel="stylesheet" type="text/css" href="@default-cgi@send-stylesheet">
115   <link rel="shortcut icon" href="@default-cgi@favicon.ico" type="image/x-icon">
116 </head>
117
118 <body>
119
120   <table summary="" cellpadding="20" cellspacing="10" border="0" width="100%">
121     <tr>
122       <td class="title">
123
124 #include mod-title
125
126       </td>
127     </tr>
128
129 <!-- @if-unstable-start -->
130 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
131     <tr>
132       <td class="warning">
133
134 #include mod-unstable-warning
135
136       </td>
137     </tr>
138 <!-- if-unstable-end@ -->
139
140     <tr>
141       <td class="box">
142         <h2>The following files are in use:</h2>
143         <table summary="Action, filter and trust files in use." class="transparent">
144           <tr>
145             <th colspan="2"><a href="@user-manual@@actions-help-prefix@ACTIONS-FILE">Actions Files:</a></th>
146           </tr>
147             @actions-filenames@
148           <tr>
149             <th colspan="2"><a href="@user-manual@filter-file.html">Filter Files:</a></th>
150           </tr>
151             @re-filter-filenames@
152 <!-- @if-trust-support-start -->
153           <tr>
154             <th colspan="2"><a href="@user-manual@config.html#TRUSTFILE">Trust File:</a></th>
155           </tr>
156           <tr>
157             <td>
158               @trust-filename@
159             </td>
160             <td class="buttons">
161               <!-- @if-have-trustfile-start -->
162               <a href="show-status?file=trust">View</a>
163               <!-- if-have-trustfile-end@ -->
164             </td>
165           </tr>
166 <!-- if-trust-support-end@ -->
167         </table>
168 <!-- @if-cgi-editor-is-disabled-start -->
169         <p>
170           The CGI editor is currently disabled, thus no edit buttons are shown.<br>
171           Please have a look at the
172            <a href="@user-manual@config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions documentation</a>
173           to learn how to enable it and what the risks are.
174         </p>
175 <!--  if-cgi-editor-is-disabled-end@ -->
176       </td>
177     </tr>
178
179     <tr>
180       <td class="box">
181         <h2>Privoxy was <a href="@user-manual@startup.html#CMDOPTIONS">invoked</a> as follows:</h2>
182         <p>@invocation@</p>
183       </td>
184     </tr>
185
186     <tr>
187       <td class="box">
188         <h2>The following options were given in the <a href="@user-manual@config.html">config file</a>:</h2>
189         <p>@options@</p>
190       </td>
191     </tr>
192
193 <!-- @if-statistics-start -->
194     <tr>
195       <td class="box">
196         <h2>Blocking Statistics:</h2>
197         <p>
198   <!-- @if-have-stats-start -->
199           @requests-blocked@ out of @requests-received@ requests have been blocked,
200           which equals a block rate of @percent-blocked@%.
201         </p>
202         <p>
203          For additional statistics you may want to look into Privoxy-Log-Parser's --statistics option.
204 <!-- if-have-stats-end@ -->
205 <!-- @if-have-no-stats-start -->
206           There haven't been any requests so far.
207 <!-- if-have-no-stats-end@ -->
208         </p>
209       </td>
210     </tr>
211 <!-- if-statistics-end@ -->
212
213 <!-- @if-extended-statistics-start -->
214     <tr>
215       <td class="box">
216         <h2>Block Reason Statistics:</h2>
217         <table summary="Statistics for block reasons" border="1">
218          <tr><th>Block reason</th><th>Count</th></tr>
219 @block-reason-statistics@        </table>
220       </td>
221     </tr>
222     <tr>
223       <td class="box">
224         <h2>Content Filter Statistics:</h2>
225         <table summary="Statistics for content filters" border="1">
226          <tr><th>Filter name</th><th>Executions</th><th>Response bodies modified</th><th>Hits</th></tr>
227 @filter-statistics@        </table>
228       </td>
229     </tr>
230 <!-- if-extended-statistics-end@ -->
231
232     <tr>
233       <td class="box">
234         <h2>Conditional #defines:</h2>
235           <table summary="The state of some ./configure options and what they do." border="1" style="margin-left: 10px">
236             <tr>
237               <th>#define</th> <th>Enabled?</th> <th>Effects when enabled</th>
238             </tr>
239
240             <tr>
241               <td><code>FEATURE_64_BIT_TIME_T</code></td>
242               <td>@if-FEATURE_64_BIT_TIME_T-then@ Yes @else-not-FEATURE_64_BIT_TIME_T@ No @endif-FEATURE_64_BIT_TIME_T@</td>
243               <td>Dates before 1970 and after 2038 are (hopefully) supported.</td>
244             </tr>
245             <tr>
246               <td><code>FEATURE_ACCEPT_FILTER</code></td>
247               <td>@if-FEATURE_ACCEPT_FILTER-then@ Yes @else-not-FEATURE_ACCEPT_FILTER@ No @endif-FEATURE_ACCEPT_FILTER@</td>
248               <td>Support for FreeBSD's accf_http(9) which is also available on some other BSDs.</td>
249             </tr>
250             <tr>
251               <td><code>FEATURE_ACL</code></td>
252               <td>@if-FEATURE_ACL-then@ Yes @else-not-FEATURE_ACL@ No @endif-FEATURE_ACL@</td>
253               <td>Allows the use of an ACL to control access to Privoxy by IP address.</td>
254             </tr>
255             <tr>
256               <td><code>FEATURE_BROTLI</code></td>
257               <td>@if-FEATURE_BROTLI-then@ Yes @else-not-FEATURE_BROTLI@ No @endif-FEATURE_BROTLI@</td>
258               <td>Allows to decompress content with Brotli before filtering it. Requires external brotli library.</td>
259             </tr>
260             <tr>
261               <td><code>FEATURE_CGI_EDIT_ACTIONS</code></td>
262               <td>@if-FEATURE_CGI_EDIT_ACTIONS-then@ Yes @else-not-FEATURE_CGI_EDIT_ACTIONS@ No @endif-FEATURE_CGI_EDIT_ACTIONS@</td>
263               <td>Allows the use of the @if-FEATURE_CGI_EDIT_ACTIONS-then@<a
264                  href="@default-cgi@edit-actions">@else-not-FEATURE_CGI_EDIT_ACTIONS@
265                  @endif-FEATURE_CGI_EDIT_ACTIONS@web-based actions file
266                  editor@if-FEATURE_CGI_EDIT_ACTIONS-then@</a>@else-not-FEATURE_CGI_EDIT_ACTIONS@@endif-FEATURE_CGI_EDIT_ACTIONS@.</td>
267             </tr>
268             <tr>
269               <td><code>FEATURE_CLIENT_TAGS</code></td>
270               <td>@if-FEATURE_CLIENT_TAGS-then@ Yes @else-not-FEATURE_CLIENT_TAGS@ No @endif-FEATURE_CLIENT_TAGS@</td>
271               <td>
272                Allows clients to request to be tagged.
273               </td>
274             </tr>
275             <tr>
276               <td><code>FEATURE_COMPRESSION</code></td>
277               <td>@if-FEATURE_COMPRESSION-then@ Yes @else-not-FEATURE_COMPRESSION@ No @endif-FEATURE_COMPRESSION@</td>
278               <td>
279                Allows to compress buffered content before sending it to the client, assuming the client supports it.
280               </td>
281             </tr>
282             <tr>
283               <td><code>FEATURE_CONNECTION_KEEP_ALIVE</code></td>
284               <td>@if-FEATURE_CONNECTION_KEEP_ALIVE-then@ Yes @else-not-FEATURE_CONNECTION_KEEP_ALIVE@ No @endif-FEATURE_CONNECTION_KEEP_ALIVE@</td>
285               <td>
286                Allows to send multiple request through the same connections if the server supports it.
287                Requires the keep-alive-timeout config directive to be set.
288               </td>
289             </tr>
290             <tr>
291               <td><code>FEATURE_CONNECTION_SHARING</code></td>
292               <td>@if-FEATURE_CONNECTION_SHARING-then@ Yes @else-not-FEATURE_CONNECTION_SHARING@ No @endif-FEATURE_CONNECTION_SHARING@</td>
293               <td>
294                Allows to share outgoing connections between incoming connections.
295                Requires the connection-sharing config directive to be set.
296               </td>
297             </tr>
298             <tr>
299               <td><code>FEATURE_DYNAMIC_PCRE</code></td>
300               <td>@if-FEATURE_DYNAMIC_PCRE-then@ Yes @else-not-FEATURE_DYNAMIC_PCRE@ No @endif-FEATURE_DYNAMIC_PCRE@</td>
301               <td>Dynamically link to the PCRE library. This is set automatically
302                by <code>./configure</code> if you do not have libpcre installed.
303                Dynamically linking to an external libpcre is recommended as the one that is distributed
304                with Privoxy itself is outdated and lacks various features and bug-fixes you may be interested in.</td>
305             </tr>
306             <tr>
307               <td><code>FEATURE_EXTENDED_STATISTICS</code></td>
308               <td>@if-FEATURE_EXTENDED_STATISTICS-then@ Yes @else-not-FEATURE_EXTENDED_STATISTICS@ No @endif-FEATURE_EXTENDED_STATISTICS@</td>
309               <td>Gather statistics for block reasons and filter executions.</td>
310             </tr>
311             <tr>
312               <td><code>FEATURE_EXTERNAL_FILTERS</code></td>
313               <td>@if-FEATURE_EXTERNAL_FILTERS-then@ Yes @else-not-FEATURE_EXTERNAL_FILTERS@ No @endif-FEATURE_EXTERNAL_FILTERS@</td>
314               <td>
315                Allows to <a href="@user-manual@actions-file.html#EXTERNAL-FILTER">filter content
316                with external scripts and programs</a> written in any language the system Privoxy
317                runs on supports.
318               </td>
319             </tr>
320             <tr>
321               <td><code>FEATURE_FAST_REDIRECTS</code></td>
322               <td>@if-FEATURE_FAST_REDIRECTS-then@ Yes @else-not-FEATURE_FAST_REDIRECTS@ No @endif-FEATURE_FAST_REDIRECTS@</td>
323               <td>Allows the +fast-redirects action, to bypass redirect and logging scripts.</td>
324             </tr>
325             <tr>
326               <td><code>FEATURE_FORCE_LOAD</code></td>
327               <td>@if-FEATURE_FORCE_LOAD-then@ Yes @else-not-FEATURE_FORCE_LOAD@ No @endif-FEATURE_FORCE_LOAD@</td>
328               <td>
329                Allows bypassing all blocking for a single page using the prefix
330                <q><code>@force-prefix@</code></q> provided blocks aren't enforced with the
331                <a href="@user-manual@config.html#ENFORCE-BLOCKS">enforce-blocks</a> directive.
332               </td>
333             </tr>
334             <tr>
335               <td><code>FEATURE_GRACEFUL_TERMINATION</code></td>
336               <td>@if-FEATURE_GRACEFUL_TERMINATION-then@ Yes @else-not-FEATURE_GRACEFUL_TERMINATION@ No @endif-FEATURE_GRACEFUL_TERMINATION@</td>
337               <td>Allows to shutdown Privoxy through the web interface.</td>
338             </tr>
339             <tr>
340               <td><code>FEATURE_HTTPS_INSPECTION</code></td>
341               <td>@if-FEATURE_HTTPS_INSPECTION-then@ Yes @else-not-FEATURE_HTTPS_INSPECTION@ No @endif-FEATURE_HTTPS_INSPECTION@</td>
342               <td>Allows to intercept and filter HTTPS traffic. Experimental.</td>
343             </tr>
344             <tr>
345               <td><code>FEATURE_IMAGE_BLOCKING</code></td>
346               <td>@if-FEATURE_IMAGE_BLOCKING-then@ Yes @else-not-FEATURE_IMAGE_BLOCKING@ No @endif-FEATURE_IMAGE_BLOCKING@</td>
347               <td>Allows the +handle-as-image action, to send <q>blocked</q> images instead of HTML.</td>
348             </tr>
349             <tr>
350               <td><code>FEATURE_IPV6_SUPPORT</code></td>
351               <td>@if-FEATURE_IPV6_SUPPORT-then@ Yes @else-not-FEATURE_IPV6_SUPPORT@ No @endif-FEATURE_IPV6_SUPPORT@</td>
352               <td>
353                Allows IPv6 addresses in incoming requests, when resolving domains to
354                IP addresses and in the configuration files.
355               </td>
356             </tr>
357             <tr>
358               <td><code>FEATURE_NO_GIFS</code></td>
359               <td>@if-FEATURE_NO_GIFS-then@ Yes @else-not-FEATURE_NO_GIFS@ No @endif-FEATURE_NO_GIFS@</td>
360               <td>Use PNG instead of GIF for the built-in images.</td>
361             </tr>
362             <tr>
363               <td><code>FEATURE_PCRE_HOST_PATTERNS</code></td>
364               <td>@if-FEATURE_PCRE_HOST_PATTERNS-then@ Yes @else-not-FEATURE_PCRE_HOST_PATTERNS@ No @endif-FEATURE_PCRE_HOST_PATTERNS@</td>
365               <td>Allow to use extended host patterns and vanilla host patterns
366                at the same time by prefixing extended host patterns with
367                "PCRE-HOST-PATTERN:".
368               </td>
369             </tr>
370             <tr>
371               <td><code>FEATURE_PTHREAD</code></td>
372               <td>@if-FEATURE_PTHREAD-then@ Yes @else-not-FEATURE_PTHREAD@ No @endif-FEATURE_PTHREAD@</td>
373               <td>Use POSIX threads rather than native threads</td>
374             </tr>
375             <tr>
376               <td><code>FEATURE_STATISTICS</code></td>
377               <td>@if-FEATURE_STATISTICS-then@ Yes @else-not-FEATURE_STATISTICS@ No @endif-FEATURE_STATISTICS@</td>
378               <td>Enables the statistics function.</td>
379             </tr>
380             <tr>
381               <td><code>FEATURE_STRPTIME_SANITY_CHECKS</code></td>
382               <td>@if-FEATURE_STRPTIME_SANITY_CHECKS-then@ Yes @else-not-FEATURE_STRPTIME_SANITY_CHECKS@ No @endif-FEATURE_STRPTIME_SANITY_CHECKS@</td>
383               <td>Try to work around broken strptime() implementations.</td>
384             </tr>
385             <tr>
386               <td><code>FEATURE_TOGGLE</code></td>
387               <td>@if-FEATURE_TOGGLE-then@ Yes @else-not-FEATURE_TOGGLE@ No @endif-FEATURE_TOGGLE@</td>
388               <td>Allow Privoxy to be <q>disabled</q> so it is just a normal non-blocking non-filtering proxy.</td>
389             </tr>
390             <tr>
391               <td><code>FEATURE_TRUST</code></td>
392               <td>@if-FEATURE_TRUST-then@ Yes @else-not-FEATURE_TRUST@ No @endif-FEATURE_TRUST@</td>
393               <td>Allows the use of trust files.</td>
394             </tr>
395             <tr>
396               <td><code>FEATURE_ZLIB</code></td>
397               <td>@if-FEATURE_ZLIB-then@ Yes @else-not-FEATURE_ZLIB@ No @endif-FEATURE_ZLIB@</td>
398               <td>Allows to decompress gzip and zlib compressed documents for filtering.
399                 Requires external zlib library.</td>
400             </tr>
401           </table>
402       </td>
403     </tr>
404
405     <tr>
406       <td class="box">
407         <h2>More Privoxy:</h2>
408         <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul>
409       </td>
410     </tr>
411
412 <!-- @if-have-help-info-start -->
413     <tr>
414       <td class="info">
415
416 #include mod-local-help
417
418       </td>
419     </tr>
420 <!-- if-have-help-info-end@ -->
421
422     <tr>
423       <td class="info">
424
425 #include mod-support-and-service
426
427       </td>
428     </tr>
429
430   </table>
431
432 </body>
433 </html>