Proxomitron

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Proxomitron

Proxomitron main screen on Windows XP
Developed by Scott R. Lemmon (Deceased)
Stable release Naoko 4.5 (June) [+/−]
Preview release N/A [+/−]
Operating system Microsoft Windows
Development status Abandonware
Type Filtering proxy
License Shonenware (see below)
Website http://www.proxomitron.info

Proxomitron, the Universal Web Filter, is a filtering web proxy written by Scott R. Lemmon. This program was originally designed to run under Windows 95.

All future development of the program was ceased in 2003 with its author's death; even so, Proxomitron is still viable and used on modern Windows platforms such as XP and Vista.

Contents

[edit] Premise

The program is generally used to block pop-ups and banners, to remove embedded sounds and animation from web pages, to alter or block JavaScript, and to modify the appearance and content of web pages.

[edit] Overview

Properly configured, Proxomitron intercepts HTTP traffic between the user's browser and web servers. The program is capable of altering web page content by removing or adding text. Additionally, it can add, modify, or delete HTTP message headers, be configured to block connections or redirect requests based on the web page address, and be configured to route connections through a remote proxy. The user can monitor connections and filter activations, if desired.

Program operation is dictated through the use of a configuration file containing specialized filters which can be written, edited, deleted, enabled or disabled by the user via the program's graphical user interface. (Third-party filters can also be imported, or "merged," into the configuration.) The filters utilize a "matching" language similar to the standard regular expressions used in text editing. Additional files, such as "blocklists" and SSL DLLs, can extend filtering capabilities.

Use of the program requires knowledge of the Proxomitron scripting language, as well as some familiarity with at least one of HTTP, HTML, JavaScript, and CSS. The scripting interface was not designed to be user-friendly. Because of these complications, the program can be difficult to customise for novice or non-technical users. A default set of filters is included with the program; advanced filters and filter sets written by experienced users are also available online. (See external links.)

[edit] Features

The following items are the basic applications and features of the program.[1]

  • Filter page content
Using the scripting language, filters are prepared with editing commands to match and replace text in the downloaded page. Specific pages can be targeted for filtering by matching the page's URL with a specified pattern.
  • Filter HTTP headers
Separate filters for incoming and outgoing HTTP headers can be used to modify the values of existing headers, add new headers, or delete headers. One example of such usage would be for cookie management.
  • Variables
Filters can use local variables (per filter) or global variables (available to all filters per request) to capture/store text for further test matching, to reinsert content into a new location, or to write content to lists. Preset variables are also available, e.g., the page's URL.
  • Special commands
A number of special commands are available for use by filters or in URLs; e.g., a filter-based command can check if the user presses a particular key, or a URL-embedded command can direct Proxomitron to filter a local file.
  • Create lists for filters
Text files (known as "blocklists") can be used as sources for patterns for filter matches.
  • Create standard lists
Text files (known as "logfiles") can be used by filters to append captured data to a list.
  • Create session lists
Memory-only text files can be generated and used by filters to build temporary blocklists, or permanent blocklists can be configured to only allow filters to add memory-only "session" data.
  • Insert files
Local text files containing plain text, HTML snippits, css, or scripts can be independently retrieved and written into the web page by filters.
  • Reroute traffic
Filters can redirect requests to different web pages or to local files, either by sending the new location as a directive to the browser or by "transparently" connecting to the new location directly.
  • View traffic between server and browser
The log window permits the user to see the HTTP traffic between the browser and server. This can (optionally) include any POSTed data.
  • Provide alerts
Filters can be configured to have Proxomitron generate its own alert or confirmation popup containing user-supplied text.
  • Uncompress data on the fly
With the ZLIB library, the Proxomitron can uncompress GZIP compressed data streams and filter pages delivered in compressed modes.
  • Filter "secure" channels
With libraries to provide the SSL routines, the Proxomitron can filter secure, encoded streams. Since this forces the proxy to act as a "man in the middle," this should not be used in most cases.
  • Chain to remote proxies
Proxomitron can test remote proxies, maintain a list of proxies to utilize, and be configured to rotate the remote proxy connections.
  • Run program or URL
Proxomitron can be configured to launch an external program or URL (as specified in the program settings) upon startup, or on demand via the Launch icon or a menu option. Launching programs and URLs from filters can also be accomplished through the use of an undocumented $EXEC command.[2]
  • Change interface textures
The user can select bitmap images (referred to as "textures") for tiling interface backgrounds as well as button and tab faces, or simply disable this feature. An internal set of default bitmaps (admittedly "psychedelic"[3]) are included with the program.
  • Debug
A special viewing of the page source showing which filters matched what page content can be sent to the browser for debugging purposes. A test window is also available from the filter editor dialogs for testing matches and checking filter efficiency.

[edit] License

The program was distributed under a "ShonenWare" license; it was free to use, but if the user purchased a Shonen Knife CD and convinced Lemmon that he or she had listened to it, then Lemmon would consider that to be sufficient to register that user.

[edit] History

The first public release of Proxomitron (Naoko 2) was in 1999[4] as a download via Simtel. Releases that followed were all named "Naoko" (for Naoko Yamano) followed by a release number. (Release versions were 3, 3(b), 4.0, 4.1, 4.2, 4.3, 4.4, 4.5.)

The May 2003 release of Naoko 4.5 was followed very quickly by the removal of the program's web site and Lemmon's declared termination of continued development of Proxomitron.[5] A subsequent release, however, was made in June 2003, primarily to revert a new behavior related to remote proxy connections that had been designed into the May version. [6]

After the release of Naoko 4.5 (June), development was permanently discontinued and the official site had the message:

This reads "kiemashita" in Japanese and translates to "it went out" or "gone." The original home webpage is no longer accessible. Lemmon's mirror redirect was changed to display a different final message from the author a short time later.[7]

The author, Scott R. Lemmon, died 1 May 2004 at the age of 36.[citation needed]

[edit] Current status

As this was a closed-source project, Proxomitron is no longer being maintained nor developed; however, the Proxomitron program is still functional, and there is a community of users who provide support for it through electronic forums. Filters, filter sets, compatible DLLs and other files, as well as GUI patches to restyle and/or update Proxomitron's graphical user interface, are also being provided by users. (See external links.)

Many current browsers do contain features similar to those provided by Proxomitron filters - blocking advertisements and pop-ups, for example. Other browser features or add-ons, such as Greasemonkey for Firefox and user stylesheets/scripts for Opera, also allow for local modification of web pages.

[edit] See also

[edit] External links

[edit] Distribution and resources

  • Proxomitron.Info: Main program distribution site and ongoing information/resource project
  • Der Proxomitron: German Proxomitron program distribution and resources
  • Proxomitron-J: Japanese Proxomitron program distribution and resources
  • Proxomitron.ru: Russian Proxomitron resource, discussion forum and pack with modern filters

[edit] Support

[edit] Filter sets

  • Sidki: Advanced filter set, SSL files, proxcert generator

[edit] Graphical user interface patches

  • ProxoPatcher: Henk's GUI patch for Proxomitron 4.5-J
  • PtronGUI: MizzMona's GUI patch for Proxomitron 4.5-J
  • ProxPatch Sidki's GUI patch for Proxomitron 4.5-J

[edit] Other

[edit] References

  1. ^ Scott R Lemmon, Proxomitron Help Files, Proxomitron. Info
  2. ^ Mona Oliver, Proxomitron Notes, Exec Command MizzMona.com
  3. ^ Scott R Lemmon, Proxomitron Help Files, Disorientation, Proxomitron. Info
  4. ^ Scott R. Lemmon, "proxn2i.zip - Proxomitron: Custom filter webpages as viewed", Usenet, 1999-03-23
  5. ^ Iain Cheyne, "The message from Scott", Usenet, 2003-06-02
  6. ^ Anon. "May vs June changes"
  7. ^ Scott R. Lemmon, "Now that's what I call a dead Proxomitron!"
Personal tools