PithHelmetExplanation [ Top | Edit | New | Search | Page Info | Login ]

v1.10; last modified 2004-10-15 21:03:58 EDT by MikeSolomon

Table of Contents


1 Brief Introduction For 2.0 (v40)

Most of this is now outdated. As over PithHelmet 2.0-40 the rule editor has been substantially remodeled to make it a bit more usable to the average human. The documentation here will be updated eventually.

The most important thing to note is that site preferences can be set to "default". This is indicated by a small dash showing up in the checkbox for a particular setting. Some settings can be set to default, some cannot. This is to allow you to tweak only the setting you need to, while leaving the rest up to your main site defaults.

2 Rule Explanation

There are really two types of rules. Filter rules and site rules. They are implemented in exactly the same way underneath, but logically they do two separate things.

Filter rules block content items that match a given pattern. Site rules alter the web and PithHelmet preferences for a site that matches a particular pattern. Normally, site rules only apply to one site, but there are times when harnessing the rule engine is handy for catching a group of sites. There is a special "Default Site Rule" - this defines how PithHelmet acts if there is no other, more specific rule can be found.

The rules should probably be split between Filter and Site in a hierarchical view. Additionally, the tabs should be recategorized more along the lines of OmniWeb's site preferences.

I have attached a PDF flow chart that I used as a reference during design: http://culater.net/dl/files/PithHelmetFlowChart.pdf

3 Filter Settings

These control how various areas of PithHelmet functionality will use a particular pattern.

Some of this is not quite implemented in the current version, PithHelmet 2.0 (v40)

Main URL Loading
Whether or not to load a top-level page (typed in the location field) at all
Main Cookie Loading
Whether or not to allow cookies for a top-level page
Content URL Loading
Whether or not to load inline content (iframes, images, css, flash, java, etc.)
Content Cookie Loading
Whether or not to allow cookies for a inline content.

Note: In the current implementation, the difference between Main/Content URLs and cookies is not implemented. Additionally, the Cookie preferences really function more like a Site Preference. This is not remotely clear from the interface and I need to fix that up.

Embedded Content
Use this pattern to collapse inline/embedded content like images, iframes and plugins.
Linked Content
Use this pattern to collapse content that has been linked to a matching url.
Replacement Action
Currently, the only functional option is "Replace by extension." This attempts to select an appropriate blocked file based on the file path portion of the url. Thus, a url ending in .gif would be replaced with a local file block.gif. The other options are for future expansion.

4 Site Settings

The purpose of a site setting, as I may have mentioned before, is to control how PithHelmet and Safari behave when you are using a particular site. This is very similar to the idea of "Site Preferences." Site settings that are left set to "Default" inherit their value from the Default Site Rule.

Again, these need some renaming and recategorization to make more sense to the average user. A lot of these have been named after the functions in the code. :-)

URL Filter
Enable the URL Filter for this site's inline content.
Cookie Filter
ignored
Cross-site URL Filter
When enabled, this blocks all inline content from 3rd party sites.
Cross-site Cookie Filter
When enabled, this blocks all cookies going to content from 3rd party sites. This is much different than the Safari preference that doesn't accept cookies from 3rd-party advertisers. This actively scans outgoing cookies. For instance, assume you already have an Amazon account and a cookie. If you visit a blog site that has an Amazon iframe, it can use your cookie to personalize that content, and also snoop where you are browsing. Enabling the cross-site cookie filter prevents this kind of information sharing.
Blocked Content
Apply the content collapsing routines once this page has loaded.
Ad-Sized Content
Collapse images, iframe, plugins that match know advertising dimensions.
Ad-Linked Content
Collapse any content linked to advertisement sites.
Referrer Header
Block referrer header or not.
Cross-site content
ignored

5 Site Preferences

Override settings in Safari on a site by site basis. These have scope over all various kinds of content the page loaded, based on whether the main url matches.

Load images
default in appearance preference pane
Enable plug-ins
default in security preference pane
Enable Java
default in security preference pane
Enable Javascript
default in security preference pane
Block pop-up windows
default in safari menu
Machete
Run script on the contents of the main url before it gets rendered by the browser.
Custom Style Sheet
default in advanced preference pane
Use site settings
Whether or not to pay attention to the choices in site settings or site preferences.
Block all button
setup the current rule to block everything.
Exempt button
setup a rule to allow everything.
Transmogrify
rewrite a url before following it. -unimplemented-
Go to Table of Contents