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 one year before its author's death on 1 May 2004. Proxomitron is still viable and used on later Windows platforms such as Vista and Windows 10.

Proxomitron
Developer(s)Scott R. Lemmon
Initial releaseMarch 23, 1999; 25 years ago (1999-03-23) [1]
Final releaseNaoko 4.5 (June) (June 1, 2003; 21 years ago (2003-06-01)) [±]
Preview releaseN/A
Operating systemMicrosoft Windows
TypeFiltering proxy
LicenseShonenware (see below)
Websiteproxomitron.info Edit this on Wikidata

Premise

edit

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.

Overview

edit

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, and 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 customize 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.)

Features

edit

The following items are the basic applications and features of the program:[2]

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.[3]
Change interface textures
The user can select bitmap images (referred to as "textures") for tiling interface backgrounds and button and tab faces, or simply disable this feature. An internal set of default bitmaps (admittedly "psychedelic"[4]) 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.

License

edit

The program was distributed under a "ShonenWare" license. Under the license it was free to use. Lemmon would consider users purchasing and listening to a Shonen Knife CD would be sufficient to register that user.

History

edit

The first[citation needed] public release of Proxomitron (Naoko 2) was in 1999[1] 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[broken anchor] was changed to display a different final message from the author a short time later.

The author, Scott R. Lemmon, died 1 May 2004 aged 36.[7]

Current status

edit

As this was a closed-source project, Proxomitron is no longer being maintained or 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, and GUI patches to restyle and/or update Proxomitron's graphical user interface are also being provided by users.

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 for Firefox and other browsers via the Stylish addon, also allow for local modification of web pages.

See also

edit

References

edit
  1. ^ a b Scott R. Lemmon (1999-03-23). "proxn2i.zip – Proxomitron: Custom filter webpages as viewed". Usenet. Retrieved 2017-06-03.
  2. ^ Scott R. Lemmon. "What The Heck Is It?". proxomitron.info. Retrieved 2017-06-03.
  3. ^ "MizzMona's Proxomitron Notes". mizzmona.com. Archived from the original on 2016-03-03. Retrieved 2017-06-03.
  4. ^ Scott R. Lemmon. "Disorientation". proxomitron.info. Retrieved 2017-06-03.
  5. ^ Iain Cheyne (2003-06-02). "The message from Scott". Usenet. Retrieved 2017-06-03. Yes, I pulled the site down...I was hurt that Arne attacked me personally...As Arne said, this isn't the first time I've considered giving it all up. This is just the first time I've actually done it. I apologize, I'm not perfect - all I was trying to do was the best I can. However, if a change I considered so minor can get me labeled as a "betrayer of trust" from someone I've long regarded with respect, then perhaps I shouldn't be doing this at all...There are many, many reasons for me to give it up - not just this. In this day and age I even worry someone might sue me because of it. I have to ask myself why devote so much of my life to something when it can illicit this kind of reaction from people. I've never asked that *anyone* use the program, and I'm surely not offended if people wish to use something else.
  6. ^ "PROXOMITRON 4.5 -- May vs. June". proxomitron.info. Retrieved 2017-06-03.
  7. ^ "Scott Lemmon, Proxomitron Author, Deceased May 1st 2004". castlecops.com. 2004-07-16. Archived from the original on 2008-10-11. Retrieved 2017-06-03.
edit