*******************************************************************************
NAOKO 4.5 CONFIG -- SIDKI 2004-12-15 -- 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.
However, most of the time i use it with Firefox (nightly build).

While it might be set up to surf the web and forget about Proxomitron, it's
actually intended for people that are curious about what's happening under the
hood of webpages.  Otherwise most of the displayed information can be
considered as overhead.

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


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

Mona for the creative discussions and for contributing great filters.

ProxRocks/ProxFox for testing the betas and helpful suggestions.

JD for discussions and ideas.

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

- 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're 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 the system's search path.  You
  can get them here: http://www.proxomitron.info/files/ .

- Load "sidki.ptron" from Proxomitron's main window or the tray menu.

- Adjust the window dimensions to your liking.

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

- Open "LISTS\sidki\IncludeExclude.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.

- 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 your's.  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" and activate "Use Auth Proxy"
  filter.

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

- If you want to personalize the URL 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.

- If you want to use Proxomitron for the FTP protocol you need a proxy (local
  or remote) that "translates" FTP to HTTP.  Most ISP proxies do that.  Edit
  the "URL: 5 Proxy with FTP and Gopher" header filter, enter the IP address of
  your proxy, and activate that filter.

- Have a look at the "Config Control" section in the headers and the web
  filters section, and adjust the defaults to suit your needs!

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

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

- Start surfing!


*******************************************************************************
Displaying information about filtered code (or not)
*******************************************************************************

By default important information is shown at the bottom of pages.  Under
"Display I" in the Config Control section of the web filters there are options
to show more or less.  There is also a "Debug Mode" switch - accessible from
there as well as the Proxomitron menu - that activates several filters and
JavaScript routines.

You can always show/hide the filter information with the "Toggle Kills"
bookmarklet or with the "Toggle Kills" link in the Proxomitron Menu.

The majority of filters are set up for optional logging hits to a file.
There are two levels: Rare or crucial hits are logged to Log-Rare.log (active
by default).  Those and all other hits may also go timestamped to Log-Main.log
(by default only active when pressing the "L" key).  The responsible header
filters are:
"Log to Main (L-key) + Rare"
"Log to Main + Rare"


*******************************************************************************
The general include/exclude list "IncludeExclude.ptxt"
*******************************************************************************

One central part of this config is the list "IncludeExclude.ptxt".  It consists
of three main sections:

"exclude (allow, bypass)"
"include (block, fake, site-specific)"
"redirect URLs"

You will sooner or later need to add entries to that list.  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=.prefix.)

Adding...
www.somesite.com/mypage/ $SET(keyword=.prefix.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=.prefix.)
www.somesite.com/mypage/ $SET(keyword=.prefix.js.)


*******************************************************************************
Temporary lists
*******************************************************************************

There are a few lists that only exist in memory and get destroyed when you shut
down Proxomitron.  If you want to keep them accross 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\Separator"
List.Mem-CCProx = "..\Mem-CCProx.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 above names in Proxomitron's root directory
and restart the program.


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

This config set uses non-standard file extensions: .ptron instead of .cfg,
.ptxt instead of .txt.  The reason is that you can associate them with your
texteditor and, if it supports it, use Proxomitron-language syntax-highlighting
for the two filetypes.  A regfile to open them in an editor and a highlight
file for UltraEdit is included in "extras.zip".

Some filters need to know what browser you are using to work properly.  So, if
you are using a User-Agent switcher extension with Mozilla, make sure you set
it to the real UA while using this config.

There is a Proxomitron Menu that appears as an icon lower right on mouse click,
expands on hover, and disables itself on click.  The first header displays the
window name if there is one, or else "Dynamic".  The second header shows the
mode in which the page is rendered.  Some items in the menu vary depending on
browser, page, or chosen config settings.


*******************************************************************************
Changes - chronically incomplete
*******************************************************************************

December xxx 2004
	Added "Half-SSL", Based on filters by Scott, JarC, and JJoe.
	It circumvents re-encrypting of documents after filtering, and alert
	messages in Mozilla and Opera.  SSLeay32.dll and Libeay32.dll are now
	required.  Selecting "Use SSLeay/OpenSSL" under Options is still
	optional tho.

	Changed handling of headers related to caching.  Basically, you'll
	always get a cached copy when going back to a page.
	Note that cache related headers get filtered for local.ptron files as
	well.  Also note that CTRL-Refresh forces a fresh copy now in *all*
	browsers.

	Ad lists rebuilt from scratch.

	"AliasList" and "AliasJump" got merged with "IncludeExclude".
	Please copy your existing custom aliases and redirects to that list.

	Proxy spoofing.  It "hides" your real IP address from websites by
	pretending that your computer is a proxy server, forwarding requests
	for another IP address.  Based on JakBeNymble's filters.  The "other"
	IP is one out of a bunch of US IPs that will be constant per domain
	until Proxomitron is restarted.
	By default only enabled for selected sites.  For permanent spoofing
	activate the "!|||||||||||| 3 Set Flag: Proxy Spoofing by Default"
	header filter.

	Timers ("setInterval" and certain "setTimeout" functions) are now
	intercepted and displayed as start/stop buttons in Gecko browsers and
	Opera or ordinary links in IE, repectively.

	Reactivation of the "<a>: JS Hrefs to Link" filter which became
	acceptable with the new clickable flyover.

April 11th 2004
	First release version.

	A "clickable flyover" function, currently only used for the
	"<a>: URL Untangler" filter and the event buttons.  More to come.

March 8th 2004
	First public beta.

	New site-specific filters.

February 8th 2004
	You can apply user stylesheets.  Scott's page -
	http://www.geocities.com/srl_list/index.html
	- is styled as an example.  Three W3C Core Styles are included -- See
	IncludeExclude.ptxt -> "use a local stylesheet".

November 19th 2003
	First version that is actually usable for other people than me :-).

	External scripts and sylesheets with non-standard extensions, that are
	called from web pages are written to temporary lists to make sure that
	they are requested with the proper Content-Type.

	Adopted Mona's config layout.


*******************************************************************************
Filter abbreviations: name     version (I) [A] (R)
*******************************************************************************

Info (I):
-------------------------------------------------------------------------------

!mos		Disabled for NCSA Mosaic.

!nn		Disabled for Netscape Navigator 4.x.

^?		This filter is activated when the mentioned key (?) is pressed.

bhead		JavaScript Code that is inserted at the bottom of the HEAD
		block.

cch!		This filter is controlled by a switch in the upper header
		filter section.

ccw!		This filter is controlled by a switch in the webfilter
		"Config Control" section.

defer		JavaScript Code that - if run in IE - is executed after the
		rest of the page is completely loaded.

edit!		Either the filter or the list it calls needs
		to be edited to be fully functional.

end		JavaScript Code that is inserted at the bottom of the HTML
		block.

fail		This filter doesn't alter the page code, but just sets a
		variable or ads something to a temporary blocklist.  Hence it
		is set up to never match as a whole.

full		This filter is only active if "Use light Settings" is *not*
		checked in the upper header filter section.

icoe		In Case of Emergency.  This filter kicks in if another required
		one fails.

ie		Enabled for Internet Explorer only.

moz		Enabled for Mozilla only.

multi		The filter is set up to allow for multiple matches.  IOW its
		replacement string can be matched again by the same (except for
		the first char) or other filters.

op		Enabled for Opera only.

read!		More information is inside the filter.

thead		JavaScript Code that is inserted at the top of the HEAD block.


Authors [A]:
-------------------------------------------------------------------------------

...		Several authors, mentioned in ProxFunctions.js.
eah		Evgeny aka Homeric
fx
gd		George Dorn
gz		Greg Zumwalt aka The Snail
henk
hp		hpguru
jak		JakBeNymble
jd		JD5000
jjoe
jor
mb		Michael Brschgens
mona
pr		Paul Rupe
rcl
sd		sidki
sj		ScoJo
srl		Scott R. Lemmon
th		TEggHead aka JarC
u		unknown
vm		Virgola Mobile aka altosax aka reversi
z12		Mike aka z12

Ranking (R):
-------------------------------------------------------------------------------

d.		defaults to on
o.		defaults to off

.r		required for other filters to work
.s		site specific

.0		~zero risk to break pages
.1
.2
.3		considerable risk to break pages


*******************************************************************************
Keyword prefixes
*******************************************************************************

a_*	allow: filters get bypassed.

b_*	block: blocking filters (or subroutines) are explicitely turned on.

f_*	fake

s_*	site-specific


*******************************************************************************
Actions for pressed keys
*******************************************************************************

B		bypasses all filters.

SHIFT		bypasses all cache related header filters.

ALT		bypasses the URL blocking header filters.

CTRL		toggles the two cache related header filter combos to force
		getting a fresh copy of all resources for a page.

L		logs filter hits to Log-Main.log.

R		prevents instant meta-refreshes and the auto-submit code in the
		"Yahoo Login: Form Filler" filter.


Have fun :)
sidki
