##########################################################
#
-# "Blocked" Error Output template for junkbuster 2.9.x.
+# "Blocked" Error Output template for Privoxy.
#
+# NOTE: UNLIKE THE OTHER TEMPLATES, THIS ONE USES
+# JavaScript write() TO GENERATE THE PAGE IN JS_AWARE
+# BROWSERS. SYMBOL SUBSTITUTIONS THAT RESULT IN MULTILINE
+# STRINGS WILL BREAK THE JavaScript SYNTAX.
+# USE WITH CAUTION.
#
# USING HTML TEMPLATES:
# ---------------------
#
-# Template files are written win plain HTML, with a few
+# Template files are written in plain HTML, with a few
# additions:
-#
+#
# - Lines that start with a '#' character like this one
# are ignored
#
# - Each item in the below list of exported symbols will
# be replaced by dynamically generated text, if they
# are enclosed in '@'-characters. E.g. The string @version@
-# will be replaced by the version number of Junkbuster.
+# will be replaced by the version number of Privoxy.
#
# - One special application of this is to make whole blocks
# of the HTML template disappear if the condition <name>
# strings @if-<name>start and if-<name>-end@. The strings
# should be placed in HTML comments (<!-- -->), so the
# html structure won't be messed when the magic happens.
-#
+#
# USABLE SYMBOLS IN THIS TEMPLATE:
# --------------------------------
#
# my-hostname:
# The hostname associated with my-ip-addr
# admin-address:
-# The email address of the pxoxy's administrator, as configured
+# The email address of the proxy administrator, as configured
# in the config file
# default-cgi:
# The URL for the "main menu" builtin CGI of this proxy
# The URL of the SourceForge ijbswa project, who maintains this
# software.
#
+# protocol:
+# The request's protocol: http:// or https://
# hostport:
-# The host and port part of the request that lead to this problem
-# hostport-html:
-# The host and port part of the request that lead to this problem, HTML-encoded
+# The host and port part of the blocked request's URL.
# path:
-# The path part of the request that lead to this problem
-# path-html:
-# The path part of the request that lead to this problem, HTML-encoded
+# The path part of the blocked request's URL.
+# path-ue:
+# The path part of the blocked request's URL, url-encoded.
#
#
# CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS:
#
# unstable:
# This is an alpha or beta release of the proxy software
+# have-adminaddr-info:
+# An e-mail address for the local Privoxy administrator has
+# been specified and is available through the "admin-address"
+# symbol
# have-proxy-info:
# A URL for online documentation about this proxy has been
# specified and is available through the "proxy-info-url"
# symbol
+# have-help-info:
+# If either have-proxy-info is true or have-adminaddr-info is
+# true, have-help-info is true. Used to conditionally include
+# a grey box for any and all help info.
# force-support:
-# Junkbuster has been compiled with support for forced loading
+# Privoxy has been compiled with support for forced loading
# of blocked content. In that case, the symbol "force-prefix" is
-# avaiable, which translates to the FORCE_PREFIX
+# avaiable, which translates to the FORCE_PREFIX
#
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
-
-<head>
- <title>Request blocked (Junkbuster@@my-hostname@)</title>
+ <head>
+ <title>Request blocked (Privoxy@@my-hostname@)</title>
+ <meta http-equiv="Content-Style-Type" content="text/css">
+ <meta http-equiv="Content-Script-Type" content="text/javascript">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta name="robots" content="noindex,nofollow">
+ <link rel="shortcut icon" href="@default-cgi@error-favicon.ico" type="image/x-icon">
<style type="text/css">
- BODY, P, H1, H2, UL, OL, LI { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif }
+#include cgi-style.css
</style>
-</head>
-
-<body bgcolor="#ffffff">
+ <script type="text/javascript" language="javascript">
+ <!--
+ /*
+ * Is this window or frame too small
+ * for the full-blown "blocked" page?
+ */
+ function isSmallFrame()
+ {
+ minWidth = 650;
+ minHeight = 330;
- <table cellpadding=20 cellspacing=10 border=0 width=100%>
- <tr>
- <td bgcolor=#ff0000>
- <p><font size=+5 color=#ffffff><b>BLOCKED</b></font></p>
- </td>
- <td bgcolor=#dddddd>
- <p><font size=+2><b>This is the Internet J</b></font><font size=+1><b>UNK<i></font><font color="red">BUSTER</font></i></b>
- <font size=+2><b>@version@ on @my-hostname@ (@my-ip-address@), port @my-port@</b></font></p>
- </td>
- </tr>
+ /*
+ * Navigator, Mozilla, Opera
+ */
+ if (window.innerWidth
+ && (window.innerWidth >= minWidth)
+ && (window.innerHeight >= minHeight))
+ {
+ return false;
+ }
-<!-- @if-unstable-start -->
-# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in
- <tr>
- <td bgcolor=#ffdddd colspan=2>
- <p><b>Please note that this is a <font color=red>@code-status@</font> release,
- of the proxy software, not intended for production systems!
- <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>
- </p>
+ /*
+ * MSIE
+ */
+ else if (document.body && document.body.clientWidth
+ && (document.body.clientWidth >= minWidth)
+ && (document.body.clientHeight >= minHeight))
+ {
+ return false;
+ }
- <p>Feel free to <a href=mailto:ijbswa-developers@lists.sourceforge.net>mail the developers</a>
- with any problems you might have
- </p>
- </td>
- </tr>
-<!-- if-unstable-end@ -->
+ /*
+ * Small window or unsupported browser
+ */
+ return true;
+ }
+ //-->
+ </script>
+ </head>
+ <body>
+ <script type="text/javascript" language="javascript">
+ <!--
+# Note: The same small version is used at the bottom
+# of this file in the <noscript> context. If you
+# make changes here, keep the other version in sync!
- <tr>
- <td bgcolor=#eeeeee colspan=2>
- <h2>Request for blocked URL</h2>
- <blockquote>
- <p>Your request for <b>@hostport-html@@path-html@</b> was blocked.
- <br><a href="@default-cgi@/show-url-info?url=@hostport@@path@">See why</a>
- <!-- @if-force-support-start -->
- or <a href="http://@hostport@@force-prefix@@path@">go there anyway</a>.
-<!-- if-force-support-end@ -->
- </p>
- </blockquote>
- </td>
- </tr>
-
- <tr>
- <td bgcolor=#dddddd colspan=2>
- <h2>More Junkbuster:</h2>
- <ul>@menu@</ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor=#dddddd colspan=2>
- <p>If you have any questions about this service,
+ if (isSmallFrame())
+ {
+ document.write('\
+ <p class="small" align="center"> \
+ Request blocked by <a href="@default-cgi@" target="_blank">Privoxy</a>: @block-reason@ \
+ <br>See <a href="@default-cgi@show-url-info?url=@hostport@@path-ue@" \
+ >why this block applies</a> \
+ <!-- @if-force-support-start --> \
+ or <a href="http://@hostport@@force-prefix@@path@">go \
+ <!-- if-force-support-end@ --> \
+ to <b>@protocol@@hostport@@path@</b> \
+ <!-- @if-force-support-start --> \
+ anyway</a>. \
+ <!-- if-force-support-end@ --> \
+ </p> \
+ ');
-<!-- @if-have-proxy-info-start -->
- consult the <a href="@proxy-info-url@">online documentation</a> or
-<!-- if-have-proxy-info-end@ -->
+ }
+ else
+ {
+ document.write('\
+ <table cellpadding="20" cellspacing="10" border="0" width="100%">\
+ <tr> \
+ <td class="status"> \
+ BLOCKED \
+ </td> \
+ <td class="title" width=100%> \
+ <h1> \
+ This is <a href="@homepage@">Privoxy</a> @version@ on @my-hostname@ (@my-ip-address@), port @my-port@, \
+ @if-enabled-display-then@enabled@else-not-enabled-display@disabled@endif-enabled-display@ \
+ </h1> \
+ </td> \
+ </tr> \
+ \
+<!-- @if-unstable-start --> \
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in \
+ <tr> \
+ <td class="warning" colspan="2"> \
+ <h2>Warning:</h2> \
+ <p> \
+ <b>Please note that this <font color=red>@code-status@</font> release \
+ of the proxy software is not intended for production systems! \
+ <br>Use at your own risk. See the <a href="@user-manual@copyright.html">license</a> for details.</b> \
+ </p> \
+ </td> \
+ </tr> \
+<!-- if-unstable-end@ --> \
+ \
+ <tr> \
+ <td class="box" colspan="2"> \
+ <h2>Request for blocked URL</h2> \
+ <p>Your request for <b>@protocol@@hostport@@path@</b> was blocked. \
+ <br>Block reason: @block-reason@ \
+ <br><a href="@default-cgi@show-url-info?url=@hostport@@path-ue@" \
+ >See why this block applies</a> \
+<!-- @if-force-support-start --> \
+ or <a href="http://@hostport@@force-prefix@@path@">go there anyway</a>. \
+<!-- if-force-support-end@ --> \
+ </p> \
+ </td> \
+ </tr> \
+ \
+ <tr> \
+ <td class="box" colspan="2"> \
+ <h2>More Privoxy:</h2> \
+ <ul>@menu@<li><a href="@user-manual@">Documentation</a></li></ul> \
+ </td> \
+ </tr> \
+ \
+ <tr> \
+ <td class="info" colspan="2"> \
+ <big><b>Support and Service:</b></big> \
+ <p> \
+ The Privoxy Team values your feedback. \
+ </p> \
+ <p> \
+ Please have a look at the User Manual to learn how to \
+ <a title="Privoxy User Manual: Contacting the developers, Bug Reporting and Feature Requests" \
+ href="@user-manual@contact.html">get support or report problems</a>. \
+ <p> \
+ If you want to support the Privoxy Team, you can \
+ <a href="https://www.privoxy.org/faq/general.html#PARTICIPATE">participate</a> \
+ or <a href="https://www.privoxy.org/faq/general.html#DONATE">donate</a>. \
+ </p> \
+ </td> \
+ </tr> \
+ \
+<!-- @if-have-help-info-start --> \
+ <tr> \
+ <td class="info" colspan="2"> \
+ <h2>Local Privoxy support:</h2> \
+ \
+<!-- @if-have-proxy-info-start --> \
+ <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Privoxy installation.</p> \
+<!-- if-have-proxy-info-end@ --> \
+ \
+<!-- @if-have-adminaddr-info-start --> \
+ <p>Address e-mail questions about this service to \
+ <a href="mailto:@admin-address@"><code>@admin-address@</code></a>, \
+ who will be glad to help you. \
+ </p> \
+<!-- if-have-adminaddr-info-end@ --> \
+ </td> \
+ </tr> \
+<!-- if-have-help-info-end@ --> \
+ \
+ </table> \
+ ');
+ }
+ //-->
+ </script>
- <a href=mailto:@admin-address@>send mail to <code>@admin-address@</code></a>
- who will be glad to help you.
- </p>
- </td>
- </tr>
+# Note: The same small version is used above via JavaScript
+# If you make changes here, keep the other version in sync!
- </table>
+ <noscript>
+ <p class="small" align="center">
+ Request blocked by <a href="@default-cgi@">Privoxy</a>: @block-reason@
+ <br>See <a href="@default-cgi@show-url-info?url=@hostport@@path-ue@"
+ >why this block applies</a>
+ <!-- @if-force-support-start -->
+ or <a href="http://@hostport@@force-prefix@@path@">go
+ <!-- if-force-support-end@ -->
+ to <b>@protocol@@hostport@@path@</b>
+ <!-- @if-force-support-start -->
+ anyway</a>.
+ <!-- if-force-support-end@ -->
+ </p>
+ </noscript>
-</body>
+ </body>
</html>