Ancient Software Versions

Older Site Versions

0.0 Latest Announcements

Safari 5.1

PithHelmet 3 does not work with Safari 5.1 in any way. This is related to the new multiprocess page rendering and it makes it substantially more annoying to get PithHelmet working. It may be possible to emulate most of PithHelmet with a real Safari extension, but that will take more time and in the end, be much slower. I'm investigation a few existing extensions to see if they actually block requests correctly in all circumstances. I'll post here when I know more.

I should note that this is not a problem with SIMBL. Plugins still work, but the details of how Safari is now implemented make it tougher to get working nicely.

Safari 5.0

1.1 What It Does

PithHelmet is an extended site preferences and ad blocking plugin for Apple's Safari browser. The basic purpose of the plugin is to empower you the user to view the web as you like. You can block ad images, Flash, Shockwave or horrible midi loops - the world is your oyster.

1.2 More Detailed Information

Progress reports are regularly written to the PithHelmet Development section of my development log. One of these days I will get around to hosting the source somewhere, but for now, inquiring minds can send me a quick email and get the latest branch.

2.1 Installing and Upgrading

PithHelmet is a plugin for SIMBL. This keeps PithHelmet from unintentionally interfering with other applications, such as the screen saver.

PithHelmet is distributed as a metapackage and installed by Apple's Installer.app. The PithHelmet.mpkg file will automatically update or install the lastest version of SIMBL and the PithHelmet plugin. The installed components are listed below.

The actual PithHelmet.bundle will now be installed in the /Library/Application Supports/SIMBL/Plugins folder.

If you have added you own rules, they will get saved in a backup file in ~/Library/Application Support/PithHelmet before they are automatically upgraded.

3.1 How To Block A URL

Once you've installed the files, start Safari (restart it if it's been running during the install process). Try browsing a few sites and you should see markedly less advertisements. (I like cnn.com or msn.com for a good demo site)

If some undesirable content isn't blocked, you can add it to the "block list" in one of the following ways:

Right click (Control-Click) an image and select Block Images from this Server

Use the rules editor in the PithHelmet Preferences pane

Open the rule editor (PithHelmet Menu -> Show Rule Editor)

Click the New button

The pattern value is a Perl-compatible regular expression - any matches will be blocked. For an explanation of Perl-compatible regular expressions, open the Terminal and type "man perlre".

Under the "Filter" tab, select which types of content you would like to block.

You can test the rules on a particular URL by clicking the "Show Rule Tester" button. That will give you some information about whether or not the url was blocked or allowed, and for what reason. Once you close the rules editor or click the Apply button, the new rules will be active.

3.2 How To Allow A URL

If some desirable content is accidentally getting caught by the Block rules (a false positive), you can specifically allow content via an Allow rule. The method is similar to adding an Block rule, simply add the rule and under the filter tab select "Allow" instead of "Block". Allow rules are applied only after an Block rule has been matched.

You can use the same testing method described in the previous section.

3.3 How To Build Better Blocking Rules

PithHelmet has a test panel (accessibly via the rule editor) which will give you an explanation of what exactly PithHelmet thinks about a specified URL.

In addition, the curious user can enable the PithHelmet.log file (from the preferences pane) and all urls matching a rule will be logged to this file.

"Block Images from server" contextual menu item now includes the name of the server that will be blocked

added a new rule set "Exempt Sites" which disables all PithHelmet blocking/hiding for any page matching this group of rules

new contextual menu item "Never block content from " - adds a site to the "Exempt Sites" group

content and error messages are now fully localizable (for info on becoming a translation volunteer see PithHelmetLocalization)

sites that are in the location bar do not get blocked (this prevents accidental blocking when you type in a url that matches a block rule)

added some new Help menu items to the preference pane contextual menu - mostly on the subject of regular expressions

added "Revert to Factory Rules..." contextual menu item - this will remove all custom rules and restore the default set of rules that PithHelmet shipped with (it makes a backup copy of your customized rules first, just in case)

completely new blocking mechanism based on new WebKit documentation from Apple

Hide Blocked Content has been rewritten to limit the number of links it examines on a page - this fixes the very slow performance reading message digests which could contain ~1000 or more links on a single page

merged url and domain-specific rules - this is only a UI change and should simplify the rule editor

added GIF-wrangler functionality to control whether GIF animations play Always, Once or Never

v0.6.3 - released 2003-06-26

compatible with Safari 1.0 (v85) only

fixed metapackage distribution problems

fixed crash bug related to malformed urls (caused half-loading pages)

v0.6.2 - released 2003-06-23

compatible with Safari 1.0 (v85) only

distributed as a metapackage

release recalled 2003-06-25

v0.6.1 - released 2003-05-16

fixes the transmogrifier

fixes the way Block Images by Server works to be a bit more logical

v0.6 - released 2003-05-01

compatible with Safari Beta2 (v73) only

content collapsing handles IFRAME tags now

collapse images matching common ad sizes

Flash and other plugin content now blocked as well

added Block/Allow Domains (more efficient than generic block)

added new rule types (regex url, regex domain, match domain)

contextual menu to block images from a server (much like Phoenix)

fixed a bug preventing Reload Unfiltered from working properly

preferences pane contextual menu adds new functionality

rules editor rewritten to alert user of syntax errors

rules editor shows invalid rules

default rule set tweaked again

future rule updates can be merged with user rules automatically

errors appear as alerts rather than silent failures to the Console

v0.5 - released 2003-03-24

compatible across Safari v6x releases, tested with v60, v64 and v67

content collapsing (images blocked by PithHelmet are removed from the document completely)

cross-site content blocking (loads content only from the domain in the location bar)

Command+Shift+K turns off all of PithHelmet

Command+Shift+R reloads the current page with all of PithHelmet's rules temporarily disabled

preferences pane

test panel to help you build/test your own rules

new rules

bug report button (tells me version of PithHelmet and Safari

added timestamp to the log file entries

PithHelmet.plist is now versioned

transmogrifier fully functional

added timestamp to the log file entries

v0.4.3 - released 2003-03-08

New version to address Safari v64 more thoroughly.

In my rush to fix up v0.4.3, I released a really crappy build.

This changes the filtering mechanism again for v64, however this one has been tested more thoroughly by myself, based on problematic url suggested by users.

v0.4.2 - released 2003-03-06

Due to public outcry vis-a-vis a hypothetical release of Safari (v64), the entire mechanism had to be redesigned for this new, hypothetical, release. This is 100% backward compatible with older versions.