*******************************************************************************
Naoko 4.5 Config -- Sidki 2009-02-13 (Update 06-06) -- ReadMe
*******************************************************************************

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

Five "Modes" are available that allow the user to choose the config's initial
behavior.  They range from silent, conservative filtering (Minimal and Light
Modes) to informational and proactive (Advanced Mode).

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". ;-)

The set is distributed under the terms of the GNU General Public License
(included).  You can find the latest version at:
http://www.geocities.com/sidki3003/prox.html

Have fun :-)
sidki


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

Contents:

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


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

NOW:
Kye-U ( http://prxbx.com/ ) and ProxRocks for joining this project by
maintaining and supporting parts of the config.
(Further co-developers wanted! ;-)

whenever/phoenix for providing webspace and other logistic support.
http://proxfilter.net/ , http://www.proxomitron.cn/


EARLIER THIS DECADE:
Mona Oliver for her support in various ways.
http://mizzmona.com/

Joseph Daniel Sanchez for invaluable discussions and ideas.

JJoe for tracking down problems and helping with the docs.

A great number of ideas came from Paul Rupe's config set.

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.


- Extract the zip into Proxomitron's main directory.  Don't worry, no file
  unrelated to this config set will be overwritten.  You should end up with new
  subdirectories like: "sidki-etc\" and "Lists\sidki_l_xxxx-xx-xx\" and...


- Load sidki_xxxx-xx-xx.ptron by using Proxomitron's main window or the tray
  menu, and you're ready to go!  But wait...


- Open Proxomitron's Main Window and push the "Headers" button.
  There are five config modes, starting with "! |||||||||||| 1.1 Minimal Mode".
  These modes are described in "Config_Control.txt".

  In short:
  If you are new to Proxomitron, you may want to uncheck "Standard Mode" and
  check "Light Mode" or "Minimal Mode".

  If you are familiar with the program (or ready for a little adventure),
  either keep "Standard Mode" or choose "Advanced Mode".

  If you'd like to run the undamped config, also untick "Never alter Page/Link
  Styles".


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


*************************** Below Steps Are Optional **************************

- If you like to use this config as your "default.cfg", click "File -> Save
  Default Settings" in the main window.

  Alternatively, you can launch Proxomitron with the full path to the config
  appended to a normal Windows created shortcut.  Like:
  "X:\PATH TO PROX\Proxomitron.exe" "X:\PATH TO PROX\sidki_xxxx-xx-xx.ptron"


- If you want to limit animated GIFs to a few loops, instead of freezing them
  or having them run forever, activate the "Content-Type: 4c Filter GIFs"
  header filter.

  Another benefit of doing so is that scripts pretending to be a GIF image get
  blocked by a webfilter.

  Note that Proxomitron's "Freeze GIF animation" checkbox does nothing in this
  case.  Instead, a webfilter will restrict small animations to four loops and
  large ones to two.  By default, this is done only for GIFs that come with an
  incorrect content-type.


- 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.


- In case you already have any personal URL aliases, open
  "Lists\sidki_l_xxxx-xx-xx\IncludeExclude-U.ptxt" and
  "Lists\URL Alias List.txt".  Copy your 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.


- If you use Yahoo! services, edit the "Yahoo: Auto Login" filter, replace
  "YOUR_NICK" and "YOUR_PW" with your personal data, and activate it.
  Most login screens are using the secure protocol, so you'll need the OpenSSL
  DLLs (see below), and keep "Use SSLeay/OpenSSL..." enabled in Proxomitron's
  preferences.


- 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.


- 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 "Use Proxy with FTP and Gopher" header filter, replace
  "127.0.0.1:8083" with 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.


- If you want Proxomitron to filter secure pages and/or want to activate the
  "Use Half-SSL" option in the "Header Filters" window, 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/ .


- Save the config.

  There is also a file called "sidki_oob.ptron".  It is an exact copy of the
  out-of-box config, except that scanning of the general bypass list as well as
  the user IncludeExclude list is disabled.
  This config is 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.


- Start surfing!


*******************************************************************************
The Include/Exclude Lists
*******************************************************************************

- The general list "IncludeExclude.ptxt" is *the* central list of this config.
  It consists of two main sections: "EXCLUDE (ALLOW, BYPASS)" and "INCLUDE
  (BLOCK, FAKE, SITE-SPECIFIC)".

  The first section holds URLs that should be bypassed for certain filters.  As
  a matter of fact, there will always be a page that can't take some filter, so
  this section is never finished.

  The second section is the place for URLs where certain filters should
  explicitly kick in.  For example sites that need really restrictive
  filtering, like blocking all scripts or cookies.  It also contains hacks for
  around 150 western-language news sites, which would otherwise require *free*
  registration to be accessible (active in Standard and Advanced config modes
  only).

  So, if you come across any popular sites that are in need of either an
  exclusion or a "special treatment", please post on one of the Proxomitron
  boards, preferably at: http://castlecops.com/f178-Sidki_Proxomitron.html


- The user list "IncludeExclude-U.ptxt" is a slightly modified copy of above
  list, without any active entries.  There you can add sites where you don't
  want certain filters to match.  Or where you like to see site-specific
  modifications, like a user-stylesheet, a faked cookie, etc..

  Sooner or later you will probably want to add entries to this list.  Each
  entry has 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(0=a_rdlink.)

  Adding...
      www.somesite.com/mypage/ $SET(0=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(0=a_rdlink.)
      www.somesite.com/mypage/ $SET(0=a_rdlink.a_js.)


- There is also a third such list, "Mem-Flags", which holds bypasses and
  inclusions on a per-session instead of a per-site basis.  It lives in memory
  (see the next chapter if you want to make it physical).  You can add to it by
  selecting one or more options in the Proxomitron menu and then hitting the
  "Session" button.


- These lists work with keywords that tell a particular filter or subroutine,
  if it should be active or not.  You'll find a detailed overview of available
  keywords, "IncludeExclude.html", in the same directory where this ReadMe is
  located.


*******************************************************************************
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-ContLoc = "..\Mem-ContLoc.ptxt"
List.Mem-Encode = "..\Mem-Encode.ptxt"
List.Mem-Flags = "..\Mem-Flags.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 import "URL:" style header filters into this config without editing!
They have a special status which lets the header filters sort order swap
between two states, making 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 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 have to deal with so-called "Byte Order Marks", that consist of
unusual characters.  So if you have to edit the cfg file directly (normally
there's no need to do so), make sure that your text editor can handle chars
like "﻿" correctly.

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*
