1 ##########################################################
3 # "Blocked" Error Output template for Privoxy.
5 # NOTE: UNLIKE THE OTHER TEMPLATES, THIS ONE USES
6 # JavaScript write() TO GENERATE THE PAGE IN JS_AWARE
7 # BROWSERS. SYMBOL SUBSTITUTIONS THAT RESULT IN MULTILINE
8 # STRINGS WILL BREAK THE JavaScript SYNTAX.
11 # USING HTML TEMPLATES:
12 # ---------------------
14 # Template files are written in plain HTML, with a few
17 # - Lines that start with a '#' character like this one
20 # - Each item in the below list of exported symbols will
21 # be replaced by dynamically generated text, if they
22 # are enclosed in '@'-characters. E.g. The string @version@
23 # will be replaced by the version number of Privoxy.
25 # - One special application of this is to make whole blocks
26 # of the HTML template disappear if the condition <name>
27 # is not given. Simply enclose the block between the two
28 # strings @if-<name>start and if-<name>-end@. The strings
29 # should be placed in HTML comments (<!-- -->), so the
30 # html structure won't be messed when the magic happens.
32 # USABLE SYMBOLS IN THIS TEMPLATE:
33 # --------------------------------
36 # The IP-address that the client used to reach this proxy
38 # The hostname associated with my-ip-addr
40 # The email address of the proxy administrator, as configured
43 # The URL for the "main menu" builtin CGI of this proxy
45 # List of <li> elements linking to the other available CGIs
47 # The version number of the proxy software
49 # The development status of the proxy software: "alpha", "beta",
52 # The URL of the Privoxy project, which maintains this software.
55 # The request's protocol: http:// or https://
57 # The host and port part of the blocked request's URL.
59 # The path part of the blocked request's URL.
61 # The path part of the blocked request's URL, url-encoded.
64 # CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS:
65 # ------------------------------------------------------------------
68 # This is an alpha or beta release of the proxy software
69 # have-adminaddr-info:
70 # An e-mail address for the local Privoxy administrator has
71 # been specified and is available through the "admin-address"
74 # A URL for online documentation about this proxy has been
75 # specified and is available through the "proxy-info-url"
78 # If either have-proxy-info is true or have-adminaddr-info is
79 # true, have-help-info is true. Used to conditionally include
80 # a grey box for any and all help info.
82 # Privoxy has been compiled with support for forced loading
83 # of blocked content. In that case, the symbol "force-prefix" is
84 # avaiable, which translates to the FORCE_PREFIX
86 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
89 <title>Request blocked (Privoxy@@my-hostname@)</title>
90 <meta http-equiv="Content-Style-Type" content="text/css">
91 <meta http-equiv="Content-Script-Type" content="text/javascript">
92 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
93 <meta name="robots" content="noindex,nofollow">
94 <link rel="shortcut icon" href="@default-cgi@error-favicon.ico" type="image/x-icon">
95 <style type="text/css">
96 #include cgi-style.css
98 <script type="text/javascript" language="javascript">
101 * Is this window or frame too small
102 * for the full-blown "blocked" page?
104 function isSmallFrame()
110 * Navigator, Mozilla, Opera
112 if (window.innerWidth
113 && (window.innerWidth >= minWidth)
114 && (window.innerHeight >= minHeight))
122 else if (document.body && document.body.clientWidth
123 && (document.body.clientWidth >= minWidth)
124 && (document.body.clientHeight >= minHeight))
130 * Small window or unsupported browser
138 <script type="text/javascript" language="javascript">
140 # Note: The same small version is used at the bottom
141 # of this file in the <noscript> context. If you
142 # make changes here, keep the other version in sync!
147 <p class="small" align="center"> \
148 Request blocked by <a href="@default-cgi@" target="_blank">Privoxy</a>: @block-reason@ \
149 <br>See <a href="@default-cgi@show-url-info?url=@hostport@@path-ue@" \
150 >why this block applies</a> \
151 <!-- @if-force-support-start --> \
152 or <a href="http://@hostport@@force-prefix@@path@">go \
153 <!-- if-force-support-end@ --> \
154 to <b>@protocol@@hostport@@path@</b> \
155 <!-- @if-force-support-start --> \
157 <!-- if-force-support-end@ --> \
165 <table cellpadding="20" cellspacing="10" border="0" width="100%">\
167 <td class="status"> \
170 <td class="title" width=100%> \
172 This is <a href="@homepage@">Privoxy</a> @version@ on @my-hostname@ (@my-ip-address@), port @my-port@, \
173 @if-enabled-display-then@enabled@else-not-enabled-display@disabled@endif-enabled-display@ \
178 <!-- @if-unstable-start --> \
179 # This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in \
181 <td class="warning" colspan="2"> \
184 <b>Please note that this <font color=red>@code-status@</font> release \
185 of the proxy software is not intended for production systems! \
186 <br>Use at your own risk. See the <a href="@user-manual@copyright.html">license</a> for details.</b> \
190 <!-- if-unstable-end@ --> \
193 <td class="box" colspan="2"> \
194 <h2>Request for blocked URL</h2> \
195 <p>Your request for <b>@protocol@@hostport@@path@</b> was blocked. \
196 <br>Block reason: @block-reason@ \
197 <br><a href="@default-cgi@show-url-info?url=@hostport@@path-ue@" \
198 >See why this block applies</a> \
199 <!-- @if-force-support-start --> \
200 or <a href="http://@hostport@@force-prefix@@path@">go there anyway</a>. \
201 <!-- if-force-support-end@ --> \
207 <td class="box" colspan="2"> \
208 <h2>More Privoxy:</h2> \
209 <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul> \
213 <!-- @if-have-help-info-start --> \
215 <td class="info" colspan="2"> \
216 <h2>Local Privoxy support:</h2> \
218 <!-- @if-have-proxy-info-start --> \
219 <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Privoxy installation.</p> \
220 <!-- if-have-proxy-info-end@ --> \
222 <!-- @if-have-adminaddr-info-start --> \
223 <p>Address e-mail questions about this service to \
224 <a href="mailto:@admin-address@"><code>@admin-address@</code></a>, \
225 who will be glad to help you. \
227 <!-- if-have-adminaddr-info-end@ --> \
230 <!-- if-have-help-info-end@ --> \
233 <td class="info" colspan="2"> \
234 <big><b>Support and Service:</b></big> \
236 The Privoxy Team values your feedback. \
239 Please have a look at the User Manual to learn how to \
240 <a title="Privoxy User Manual: Contacting the developers, Bug Reporting and Feature Requests" \
241 href="@user-manual@contact.html">get support or report problems</a>. \
243 If you want to support the Privoxy Team, you can \
244 <a href="https://www.privoxy.org/faq/general.html#PARTICIPATE">participate</a> \
245 or <a href="https://www.privoxy.org/faq/general.html#DONATE">donate</a>. \
256 # Note: The same small version is used above via JavaScript
257 # If you make changes here, keep the other version in sync!
260 <p class="small" align="center">
261 Request blocked by <a href="@default-cgi@">Privoxy</a>: @block-reason@
262 <br>See <a href="@default-cgi@show-url-info?url=@hostport@@path-ue@"
263 >why this block applies</a>
264 <!-- @if-force-support-start -->
265 or <a href="http://@hostport@@force-prefix@@path@">go
266 <!-- if-force-support-end@ -->
267 to <b>@protocol@@hostport@@path@</b>
268 <!-- @if-force-support-start -->
270 <!-- if-force-support-end@ -->