Frequently asked Questions
==========================

Q: What exactly is the certificate used for in Proxomitron?

A: If you go to an https page, Proxomitron decrypts the page, filters it, and
   re-encrypts it using a certain key.  This key is contained in its
   certificate, called "proxcert.pem".  The browser in turn gets the
   re-encrypted page and asks again for proxcert.pem to be able to decrypt the
   page.
   Usually the certificate needs to match the domain of the encrypted page
   which of course is impossible to accomplish - Prox just returns
   "Proxomitron" instead of "secure-site.com".  Hence the security warning once
   per site in Mozilla and Opera.

   Now that Prox has all the SSL responsibility, it needs to know which "real"
   certificates (the ones that belong to the https pages) are good and which
   are bad.  For this purpose it uses a list of trusted certificate authorities
   - companies that issue certificates.  This list is called "certs.pem".


Q: What local ports are involved in the request/response chain?

A: Prox listens locally on port 8080 (by default), the browser sends its
   request from a low range random port to 8080, Prox opens a low range random
   port and sends the request to the outside world (usually remote port 80),
   the reply from the outside world is addressed to this same port, Prox sends
   the reply from port 8080 to the local port that the browser previously
   opened.


Q: $NEST() doesn't match this code.  Why?

A: $NEST() and $INEST() are skipping quotes -- By design.

   Quoting Scott:
   A few smattered single quotes usually isn't always a problem for it
   actually.  Mona's example as stated works.  It only fails if you add an
   additional single quote at the end and it all appears on one line and the
   end tag is between the two (the line break was inserted by the mailer I
   think).  In other words...

   <a ...> 'something' </a> works, and
   <a ...> 'something  </a>
   stuff' works too but...

   <a ...> 'something  </a>' fails.

   because it looks like the closing tag's within a string.  I wish I could
   think of a way to get it to work in all situations, but it's really six of
   one, half a dozen of the other.  Originally I thought to only include quotes
   after an equal, but in JavaScript you also run into quotes after( , . +  and
   probably several others.  I also tried just checking double quotes (they're
   less common in regular text and usually paired anyway), but while most
   JavaScripts use double quotes for strings, enough didn't that I still ran
   into frequent problems.


Q: This page doesn't display properly with your config.  What to do?

A: Usually it can be solved by adding that page to the "IncludeExclude" list.
   For instance, if you want to allow all scripts on this.site.com, the entry
   would look like:
   this.site.com/	$SET(keyword=.a_js.)
   This procedure is automated now for the most common keywords.  Open the
   Proxomitron menu, select "Allow" -> "All JavaScript", and hit the "List"
   button.
