*******************************************************************************
Naoko 4.5 Config -- Sidki 2005-04-02 -- ReadMe
*******************************************************************************

This config should work with all Gecko Browsers and IE clones > 5.5, Opera 7.x
(a few config features disabled), Netscape 4.x, NCSA Mosaic, and OffByOne (many
features disabled).  It may well be incompatible with IE 5.x or Opera 6.
Most of the time i use it with Firefox.

It can be set up to just surf the web.  Proxomitron would then be the quiet
friend running in the background.  However, it is actually intended for people
that are curious about what is happening under the hood of webpages.

The set is a bit complex and will likely be difficult for some people to
maintain.  It is distributed under the terms of the GNU General Public License
(included).

The directory in which this ReadMe is located contains more files:
Documents, optional replacements for default files, and extras like
bookmarklets etc..  See "!content.html" for details.  Don't miss the directions
for use, "Config_Control.txt". ;)

Have fun :)
sidki


*******************************************************************************

Contents:

  Thanks!
  Installation
  The User Include/Exclude List
  Temporary Lists
  Importing URL Header Filters
  Importing Filters that target Scripts
  Unsorted


*******************************************************************************
Thanks!
*******************************************************************************

Mona for the creative discussions and for contributing great code.
http://www.mizzmona.com/

ProxRocks/ProxFox for testing the betas and helpful suggestions.

JJoe for tracking down problems and helping with the docs.

JD for discussions and ideas on previous configs.
http://www.jd5000.net/

A great number of ideas came from Paul Rupe's config set:
http://www.geocities.com/u82011729/prox/

Jesse Ruderman's bookmarklets were a valuable resource for the Prox menu:
http://www.squarefree.com/bookmarklets/


*******************************************************************************
Installation
*******************************************************************************

* "xxxx-xx-xx" stands for the current version.

- Optional: If you have a previous version of this config set installed and
  want to replace it, remove the "Logs" subdirectory in Proxomitron's main
  directory (2004-04-11 config only), and the subdirectories starting with
  "sidki" in "Lists" and "html".

- Extract the zip into Proxomitron's main directory, preserving the zipped
  directory structure - WinZip, WinRar, 7Zip do that by default.
  No file will be overwritten.

- While you are there, make sure that the SSL DLLs - SSLeay32.dll and
  Libeay32.dll - are installed on your system.  They should reside either in
  the same directory as Proxomitron.exe or on your system's search path.  You
  can get them here: http://www.proxomitron.info/files/ .

- Load "sidki_xxxx-xx-xx.ptron" from Proxomitron's main window or the tray
  menu.
  Important:  There is also a file called "sidki_oob.ptron".  It is an exact
  copy of the out-of-box config and intended to help you pin down a problem
  - in case you changed something in the everyday config, lost a filter, or
  added incompatible ones.  Please do not modify this file!

- Adjust the window dimensions to your liking.

- Open "LISTS\sidki_l_xxxx-xx-xx\CookieValues.ptxt" and below
  "IP Address Cookies -- Edit" replace the IP and IP alias matches with yours.
  See above-mentioned list for details.

- Optional: Open "LISTS\sidki_l_xxxx-xx-xx\IncludeExclude-U.ptxt" and
  "LISTS\URL Alias List.txt", and copy your custom aliases to the "REDIRECT
  URLS (ALIASES)" section, which is at the bottom of IncludeExclude-U.

- If you use a remote proxy that requires (basic) authentication, add it via
  the external proxy dialog.
  Then edit the "Proxy-Authorization: Set Proxy & Send" header filter and
  replace "my.proxy.com" with yours.  In the replacement string replace
  "YOUR_NICK:YOUR_PW" with your data.  Highlight this string, right-click, and
  select "MIME encode/decode -> Encode string" from the context menu.
  Finally deactivate the "Use standard Proxy" filter and activate the
  "Use Auth Proxy" filter.

- Optional: If you use Yahoo! services, edit the "Yahoo Login: Form Filler",
  replace "YOUR_NICK" and "YOUR_PW" with your personal data.  Activate the
  filter.

- Optional: If you want to personalize the URL command prefix (for security
  reasons), go to "Config -> Access" and replace "px." with something else.
  Keep the final dot tho to ensure that your browsers won't complain.  Do *not*
  check "Disable URL-based Proxomitron commands", as this config depends on
  them.

- Optional: If you want Proxomitron to filter documents that are located on FTP
  servers, you need a proxy (local or remote) that "translates" FTP to HTTP.
  Most ISP proxies do that.  First add your proxy via the "External Proxy"
  selector in Proxomitron's main window.  Then edit the "Proxy with FTP and
  Gopher" header filter, enter your proxy, and activate that filter.

- Have a look at the "Config Control" section in the headers and the web
  filters window, and adjust the defaults to suit your needs!  Please read
  "Config_Control.txt" for an explanation of the various options.

- In Proxomitron's main window, click "File -> Save Config file".

- Optional: If you like to have this config loaded by default upon startup,
  either launch Proxomitron from a shortcut pointing to
  "X:\PATH_TO_PROX\Proxomitron.exe X:\PATH_TO_PROX\sidki_xxxx-xx-xx.ptron"
  or rename "sidki_xxxx-xx-xx.ptron" to "default.cfg".

- Start surfing!


*******************************************************************************
The User Include/Exclude List
*******************************************************************************

The user list "IncludeExclude-U.ptxt" is where you can add URLs that should be
bypassed or explicitly included for certain filters.  You will sooner or later
need to add entries to it.  Each entry needs to match *just once*.

Say you want to bypass all JavaScript filters on www.somesite.com/mypage/ but
there already is an entry:
www.somesite.com/  $SET(keyword=$GET(keyword)a_rdlink.)

Adding...
www.somesite.com/mypage/ $SET(keyword=$GET(keyword)a_rdlink.a_js.)
...won't work because "www.somesite.com/mypage/"
is consumed by the first match.

So the correct way goes like:
www.somesite.com/(^mypage/) $SET(keyword=$GET(keyword)a_rdlink.)
www.somesite.com/mypage/ $SET(keyword=$GET(keyword)a_rdlink.a_js.)

There is a detailed overview, "IncludeExclude.html", in the directory that
ReadMe.txt is located in.


*******************************************************************************
Temporary Lists
*******************************************************************************

There are a few lists that only exist in memory and get destroyed when you shut
down Proxomitron or reload the config.  If you want to keep them across
sessions or just want to look at them for a while:

Add these entries to the [Blocklists] section of the config:
List.--[Temporary_Lists]--- = "..\Lists\sidki_l_xxxx-xx-xx\Separator"
List.Mem-CCProx = "..\Mem-CCProx.ptxt"
List.Mem-ContLoc = "..\Mem-ContLoc.ptxt"
List.Mem-Encode = "..\Mem-Encode.ptxt"
List.Mem-ScriptSrc = "..\Mem-ScriptSrc.ptxt"
List.Mem-SpoofVars = "..\Mem-SpoofVars.ptxt"
List.Mem-StyleSrc = "..\Mem-StyleSrc.ptxt"

Then create zero-byte files with the above names in Proxomitron's root
Directory and reload the config.


*******************************************************************************
Importing URL Header Filters
*******************************************************************************

Don't directly import "URL:" header filters into this config!
They have a "special status" that lets the header filters sort order swap
between two states and make the order in which the filters match unpredictable.

Converting a "URL:" filter to one that doesn't interfere is easy:

Old:
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Kill somesite.com (Out)"
Match = "http://somesite.com/"
Replace = "\k"

New:
[HTTP headers]
In = FALSE
Out = TRUE
Key = "!-|||||||||||| URL: Kill somesite.com (Out)"
URL = "somesite.com/"
Replace = "\k"

If you need to match the protocol, there is a global variable "uProt" for that:
URL = "somesite.com/&$TST(uProt=http:)"


*******************************************************************************
Importing Filters that target Scripts
*******************************************************************************

A lot of filters in this config need to know if they are within a script.
For this reason a variable called "script" is set at the beginning
of a script block (or external script) , and reset when it closes.

If you add a filter that removes scripts, it needs to reset this
variable to keep things running smoothly.  To reset it, just append
"$SET(script=)" to the replacement string.

[Patterns]
Name = "Remove bad Script"
Active = FALSE
Bounds = "$NEST(<script,</script >)"
Limit = 1024
Match = "*bad_code*"
Replace = "<!-- bad script removed -->$SET(script=)"


There are also filters that are intended to replace certain code within scripts
but in fact do that in the entire document.  That kind of a filter may make
reading a discussion about scripting or Proxomitron hard to follow. :-)
You can almost always avoid that by appending "&$TST(script=*)" to the matching
expression.

[Patterns]
Name = "Replace bad Script Code"
Active = FALSE
Limit = 16
Match = "bad_code&$TST(script=*)"
Replace = "good_code"

Note: JavaScript links can be included by appending
"&($TST(script=*)|$TST(tAnc=j))" instead.


*******************************************************************************
Unsorted
*******************************************************************************

This public config is also the one i use.  It defaults to a balance of
protection, speed, and maintenance that i prefer.  Your mileage may vary.
The general "IncludeExclude" list as well as the "Web Page Filters" window
contains a subsection called "Possible Exploits".  Those filters - when enabled
- might offer further protection.  Some of them are labeled "o.3", meaning
"considerable risk to break pages".

The config set uses non-standard file extensions: .ptron instead of .cfg, .ptxt
instead of .txt.  After you associate them with your text editor, you may be
able to use Proxomitron-language style syntax highlighting for the two file
types.  A reg file and a highlight file for UltraEdit are provided to help you
set things up.  See "!content.html" for details.

Some filters need to know what browser you are using to work properly.  So, if
you are using a User-Agent switcher plugin, make sure you set it to the real UA
while using this config.  Other unexpected things may happen with ad-blocking
browser plugins - see FAQ.


*EOF*
