#############################################
Proxomitron Version Naoko 4.4 
(C) 2002 Scott R. Lemmon
#############################################

New Users:

If this is the first time you've used Proxomitron, be sure to read
the "Installation and Eradication" section of the help file. You'll
need to follow those instructions to get Proxomitron working with
your browser. 

New in version Naoko-4.4

* Added $KEYCHK() command to scan for keypresses.
* Added "LOGFILE" option to blocklists
* Added $FILE(fname) command to insert a file.
* Added $RESP() command to match a server's return status code.
* Fixed several misc. bugs since 4.3

(Please see the Changes.txt file for more details)

New in version Naoko-4
 
Here's a quick list of most new features in Proxomitron.  It may not be
complete since I'm mainly focusing on things that are not necessarily
apparent from the GUI. Please check the included help file for instructions
on setting up your browser to use Proxomitron, and full details of the new
features.

New features include...

* Matching Blocklist/Include files
* Filter searching
* Easy method to block new ads/cookies/pages/etc
* Webpage Source view
* Local file filtering
* URL rewriting/redirecting
* Easier config file loading
* CGI Proxy support
* Easier Proxy password
* Header filter activated proxy control 
* Better access control
* HTTP/1.1 & persistent connection support
* Many enhanced matching commands
* SSL Support

## Bugs fixed ##

* Win NT and 2000 merge filter bug fixed
* Menu icon color bug fixed
* Various matching bugs
* Problems freezing a few .gif files
* Plenty of things I forgot ;-)


## SSL Support ##

Proxomitron now supports SSL (secure https) connections.  This comes in two
flavors - SSLeay mode and pass-thru mode.  The HTTP options under the
"settings" dialog control which is used by default.


SSLeay/OpenSSL mode
-------------------

In this mode Proxomitron decrypt incoming data, filters it, then re-encrypts
it before sending it on.  This allows for nearly transparent filtering and
full control over https connections. This feat is accomplished using the
very nice Open Source SSLeay/OpenSSL libraries (not included - see below).

** WARNING **

This mode is experimental! I would strongly discourage using active
SSL filtering for important transactions such as on-line banking or purchases.
The connection may not be as secure, and it's better not to risk a filter
potentially creating troubles on such a page.  However, since the casual use 
of SSL on less important pages is increasing, sometimes you may wish to 
filter it anyway.  Still, keep in mind that you do so at your own risk.

To use this mode Proxomitron must have access to "slleay32.dll" and
"libeay32.dll" which contain all the SSL libraries and all cryptographic
routines. Otherwise "Pass-Thru" mode will be used.

Because of all the legal and patent problems involved in the USA
with any program that uses encryption, Proxomitron comes with NO
ENCRYPTION CODE WHATSOEVER.  In order to filter SSL connection
you must get a copy of two additional files - "slleay32.dll" and
"libeay32.dll".  These files are part of the SSLeay/OpenSSL
library and contain all the needed routines to do SSL encryption
and decryption. In order to work they should be relatively recent
versions and must be complied with all algorithms needed for
https. I know it's a pain but it's the only safe way I know 
to offer SSL support.

The .DLL files can often be found as part of other programs that
use SSL. The open-source "stunnel" application is one example. 
If you can locate a binary distribution of stunnel for Win32 you
should be able to find the two dll's with it. Finding them is the
hard part - once you do, just copy the two files into Proxomitron's
program folder and check "Use SSLeay/OpenSSL" under the "HTTP" 
section of Proxomitron's config dialog.

Here's a few URLs where compatible ssleay .dlls could be found 
(at least at one time). However since these are independent sites
with no relation to Proxomitron this could change at any time...

http://sunsite.bilkent.edu.tr/pub/mozilla-crypto.ssleay.org/download/cryptozilla-win32-0.1pre/

Andras.net is now providing a mirror of the OpenSSL files in Hungary...

http://andras.net/tools/ssl/dlls.zip

and here's a new mirror from Germany...

http://ssl.aks-mail.de/


NOTE: If anyone wishes to mirror these files and is located
      somewhere legally able to do so please let me know. 

OpenSSL is developed by the OpenSSL Project for use in the
OpenSSL Toolkit. (http://www.OpenSSL.org/) which includes 
cryptographic software written by Eric Young (eay@cryptsoft.com).
and includes software written by Tim Hudson (tjh@cryptsoft.com).      

(See openssl.txt for the full license)


Server Certificates And Such
----------------------------

There are some other limitations to this. In order for Proxomitron to
act as a SSL server it must have a "Certificate".  Certificates are
used by web servers to identify themselves to your web browser. They
must be digitally "signed" by a known company like VeriSign or your
browser will generate a warning.

Proxomitron's certificate is located in the "proxcert.pem" file.  It's
a self-signed certificate created using SSLeay (if you're familiar
with SSLeay you could create a certificate of your own). As such it
should *not* be considered secure.  However it's only used for the
connection between Proxomitron and your web browser - the connection
between Proxomitron and the remote site relies on the site's certificate
not Proxomitron's.  Normally the local connection to your browser never
passes outside your PC, so its security isn't really an issue. In fact,
the only reason to encrypt it at all is to make your browser think it's
connecting directly to a secure site.

This does have a few drawbacks though. When you first visit a secure
site being filtered through Proxomitron, your browser will usually
issue a warning.  This happens for two reasons. First Proxomitron's
certificate won't initially be recognized by your browser (normally
you'll be allowed to add it though). Secondly, Proxomitron's
certificate will not match the name of the site your visiting (since
it can't know that ahead of time).

Unfortunately (or perhaps fortunately) these warning are unavoidable
since SSL was intentionally designed to prevent an intermediary from
secretly intercepting your data. Proxomitron *is* intercepting your
data, but under your control.

One way around this is to use a sort of "half-SSL" technique. 
Proxomitron lets you specify in a normal non-secure "http://" URL that
you want to make a SSL connection to the actual web server - just write
the URL like so...

Original:  https://some.secure.site.com/
New     :  http://https..some.secure.site.com/

Change the protocol back to "http://" then add "https.." to the front of the
hostname. This make it so the connection between your browser and
Proxomitron is not encrypted but the connection from Proxomitron to the
final server is! Since the local connection to Proxomitron is usually
confined to your PC alone, this is really no less secure.  However your
browser thinks it's got a normal insecure connection and won't do any
certificate checks. This can also be used to access secure pages from
browsers that may not have https support at all.

Also beware that Proxomitron does no certificate checking of it's own! If
you don't trust a website and wish to check that it has a valid certificate
put Proxomitron in "Bypass" mode. This will allow your browser to
validate the site as it normally would.

Keep in mind certificates are just used to help insure your actually
connecting to the site you think you are and not some "spoofed" site.
Whether they actually do this or not is debatable. Many sites (especially
smaller ones) may not be using properly "signed" certificates, but this
doesn't mean your connection is not as encrypted. Really all it means is
they didn't cough up some money for VeriSign's official stamp of approval.
Likewise, a valid certificate is no guarantee a site won't rip you off -
you must still be careful before trusting a site with sensitive data. 

Still, that being said, it's always safer to connect in pass-thru mode
(see below) in cases where security is critical.

 
Pass-Thru mode
--------------

This is similar to the support offered by many other proxies. In this mode
SSL data is simply passed to the server without any alteration.  This mode
requires no special cytological support as the data is never decoded. 
However this method also gives little benefit except to allow proxy
switching. Proxomitron will always use pass-thru mode when bypassed, and
when the "Use SSLeay" mode is not enabled (or the SSLeay dll files are not
present). This is also the safest mode to use from a security standpoint,
and is the default mode used by Proxomitron.


## Proxy Related Stuff ##

CGI PROXY SUPPORT:
------------------

Proxies that use a URL prefix can now be used in Proxomitron.  Simply add
the URL to the proxy selector as you would a normal proxy (but the http://
isn't required). The only restriction is that the proxy must work by tacking
the destination URL to the end.  For example, if the proxy was...

http://somehost.com/cgi-bin/proxy.cgi/

and you were connecting to...

http://anotherhost.com/some/webpage.html

Then Proxomitron will automatically form...

somehost.com/cgi-bin/proxy.cgi/http://anotherhost.com/some/webpage.html

While a DeleGate style proxy might look like...

www.delegate.com:8080/-_-

and form...

www.delegate.com:8080/-_-http://anotherhost.com/some/webpage.html

Just like in a web browser multiple CGI style proxies can be chained by
simply combining them together...

somehost.com/cgi-bin/proxy.cgi/http://www.delegate.com:8080/-_-http://anotherhost.com/some/webpage.html

CHAINING REGULAR A PROXY TO CGI PROXIES:
----------------------------------------

In addition to CGI proxies it's also possible to chain a regular proxy to the
start of the list.  This is the equivalent of using a normal proxy in your
browser while also using a CGI proxy.  The syntax for this is to use '->'
like so...

www.aproxy.com:8080->somehost.com/cgi-bin/proxy.cgi/



+++++++++++++++++++

Well that's about it for now. be sure to check the all new HTML help file
for full details on all the new features.

-Scott-