Proxomitron
Encyclopedia
Proxomitron, the Universal Web Filter, is a filtering web proxy written by Scott R. Lemmon
Scott R. Lemmon
Scott R. Lemmon was the author of the Proxomitron web filtering software.-Proxomitron:As a testament to the quality and popularity of Scott's work on Proxomitron, a tribute site to his efforts went up after he decided to close the Proxomitron project...

. This program was originally designed to run under Windows 95.

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

Premise

The program is generally used to block pop-ups
Pop-up ad
Pop-up ads or pop-ups are a form of online advertising on the World Wide Web intended to attract web traffic or capture email addresses. Pop-ups are generally new web browser windows to display advertisements...

 and banners
Web banner
A web banner or banner ad is a form of advertising on the World Wide Web delivered by an ad server. This form of online advertising entails embedding an advertisement into a web page. It is intended to attract traffic to a website by linking to the website of the advertiser...

, to remove embedded sounds and animation from web pages, to alter or block JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, and to modify the appearance and content of web pages.

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
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

, 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 expression
Regular expression
In computing, a regular expression provides a concise and flexible means for "matching" strings of text, such as particular characters, words, or patterns of characters. Abbreviations for "regular expression" include "regex" and "regexp"...

s 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
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, JavaScript
ECMAScript
ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web, in the form of several well-known dialects such as JavaScript, JScript, and ActionScript.- History :JavaScript...

, and CSS
Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

. 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

The following items are the basic applications and features of the program.
  • 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
HTTP cookie
A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is used for an origin website to send state information to a user's browser and for the browser to return the state information to the origin site...

 management.

  • Variables
Filters can use local variables (per filter) or global variables (available to all filters per request
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....

) 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
Zlib
zlib is a software library used for data compression. zlib was written by Jean-Loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. Zlib is also a crucial component of many software platforms including Linux, Mac OS X,...

 library, the Proxomitron can uncompress GZIP
Gzip
Gzip is any of several software applications used for file compression and decompression. The term usually refers to the GNU Project's implementation, "gzip" standing for GNU zip. It is based on the DEFLATE algorithm, which is a combination of Lempel-Ziv and Huffman coding...

 compressed data streams and filter pages delivered in compressed modes.

  • Filter "secure" channels
With libraries to provide the SSL
Transport Layer Security
Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

 routines, the Proxomitron can filter secure, encoded streams. Since this forces the proxy to act as a "man in the middle
Man-in-the-middle attack
In cryptography, the man-in-the-middle attack , bucket-brigade attack, or sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other...

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

  • 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") 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

The program was distributed under a "ShonenWare" license; it was free to use, but if the user purchased a Shonen Knife
Shonen Knife
Shonen Knife, written in Japanese characters as 少年ナイフ, which transliterates as Shōnen Naifu, literally "Boy Knife," is an all-female Japanese pop-punk band formed in Osaka, Japan, in 1981...

 CD and convinced Lemmon that he or she had listened to it, then Lemmon would consider that to be sufficient to register that user.

History

The first public release of Proxomitron (Naoko 2) was in 1999 as a download via Simtel
Simtel
Simtel is an Internet-based archive of shareware for various operating systems, particularly Microsoft Windows and MS-DOS. The Simtel archive has been available on the public Internet since 1993, when its older ARPANET host was shut down....

.
Releases that followed were all named "Naoko" (for Naoko Yamano
Naoko Yamano
is a member and founder of the Japanese rock trio Shonen Knife.-Biography:Naoko formed Shonen Knife in the December of 1981 in Osaka, Japan with her sister Atsuko Yamano and her friend Michie Nakatani. Naoko and Michie had developed a friendship while attending college together...

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

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


This reads "kiemashita" in Japanese
Japanese language
is a language spoken by over 130 million people in Japan and in Japanese emigrant communities. It is a member of the Japonic language family, which has a number of proposed relationships with other languages, none of which has gained wide acceptance among historical linguists .Japanese is an...

 and translates to "it went out" or "gone." The original home webpage is no longer accessible. Lemmon's mirror
Mirror (computing)
In computing, a mirror is an exact copy of a data set. On the Internet, a mirror site is an exact copy of another Internet site.Mirror sites are most commonly used to provide multiple sources of the same information, and are of particular value as a way of providing reliable access to large downloads...

 redirect was changed to display a different final message from the author a short time later.

The author, Scott R. Lemmon
Scott R. Lemmon
Scott R. Lemmon was the author of the Proxomitron web filtering software.-Proxomitron:As a testament to the quality and popularity of Scott's work on Proxomitron, a tribute site to his efforts went up after he decided to close the Proxomitron project...

, died 1 May 2004 at age of 36.

Current status

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. (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
Greasemonkey
Greasemonkey is a Mozilla Firefox extension that allows users to install scripts that make on-the-fly changes to HTML web page content on the DOMContentLoaded event, which happens immediately after it is loaded in the browser .As Greasemonkey scripts are persistent, the changes made to the web...

 for Firefox and user stylesheets/scripts for Opera
Opera (web browser)
Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

, also allow for local modification of web pages.

See also

  • Proximodo, inspired by- and interoperable with proxomitron
  • AlchemyPoint
  • Privoxy
    Privoxy
    Privoxy is a non-caching web proxy with filtering capabilities for enhancing privacy, modifying web page data and HTTP headers before the page is rendered by the browser. Privoxy is a "privacy enhancing proxy", filtering Web pages and removing advertisements...

  • Greasemonkey
    Greasemonkey
    Greasemonkey is a Mozilla Firefox extension that allows users to install scripts that make on-the-fly changes to HTML web page content on the DOMContentLoaded event, which happens immediately after it is loaded in the browser .As Greasemonkey scripts are persistent, the changes made to the web...

  • iMacros
    IMacros
    iMacros is an extension for the Mozilla Firefox, Google Chrome, and Internet Explorer web browsers which adds record and replay functionality similar to that found in web testing and form filler software. The macros can be combined and controlled via JavaScript. Demo macros and JavaScript code...

  • Internet Junkbuster
    Internet Junkbuster
    The Internet Junkbuster is a web proxy that can block ads and cookies. It was developed by the Junkbusters Corporation and released under the GNU General Public License...

     GPL text mode only local proxy
  • Wwwoffle
    WWWOFFLE
    WWWOFFLE is a proxy server and web caching software, allowing dial-up or broadband users to cache data for offline use. It can handle HTTP, HTTPS, FTP, and finger protocol, and operates on IPv4 and IPv6. Version builds are Unix-based: ports are available for Linux, and Win32 support is provided via...

    Open source proxy

Distribution and resources

: Main program distribution site and ongoing information/resource project

Support


Filter sets

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

Graphical user interface patches

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

Other

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK