Protozilla brings pipes, protocols and P2P to Mozilla

The Protozilla add-on for Mozilla will make rapid implementation of peer-to-peer communications, new protocols and application development from the client-side web browser

  • E-Mail
By  Jon Tullett Published  January 29, 2001

The Mozilla project has added a browser add-on making it possible to rapidly implement new protocols and client-side processing. Mozilla is the open-source Internet browser project spun off from Netscape in 1998.

The add-on, dubbed “Protozilla”, is described as a socket adapter like the kind that you may carry around with your laptop when you travel internationally, rather than a conventional browser plug-in. Using Protozilla, any client-side protocol or script engine can be initialised directly from the browser without server support.

Browsers such as Mozilla communicates with the outside world using TCP sockets and multi-threaded asynchronous I/O. Protozilla executes an external program as a separate process, but makes it appear to Mozilla like a TCP socket. Protozilla communicates with the process using pipes and synchronous I/O, but uses asynchronous I/O to communicate with the rest of Mozilla.

Uses for the add-on include interprocess communication, client-side CGI, protocol handlers, and peer-to-peer applications.

Interprocess communication (IPC): Protozilla makes stateless IPC very easy in Mozilla. Privileged Javascript can execute any command line program with arguments and retrieve the output as a string. This is like the `backtick` operator in shell/Perl scripts, or like the IPC::Open2 Perl module. Along with the I/O functions available through the "io.js" package, this feature could turn Javascript into a viable shell scripting language.

Client-side CGI

Protozilla enables Mozilla to execute any CGI program on the local disk directly, without passing it through an HTTP server. One can think of this feature as "client-side CGI" as opposed to the usual server-side CGI. This feature may be useful for testing CGI programs, or for implementing applications that use Mozilla as a UI platform, rather than as a HTTP client.

Protocol handlers

Protozilla takes care of the details of registering any external program as a Mozilla protocol handler, if necessary. For example, the "finger" protocol may be implemented using a one line script (provided a corresponding corresponding command line client is available). Protocols may also be implemented through simple URL re-direction.

Peer-to-peer (P2P) URLs

Seamless access to P2P protocols through the familiar browser interface should make them much more accessible to the end-user. Not only will the the user be able to access the protocols by typing a P2P URL in the URL bar, but the clickable P2P URLs may also be embedded in e-mail messages and other documents and exchanged just like HTTP or FTP URLs. Protozilla enables clients for P2P protocols to be implemented trivially in Mozilla.

Add a Comment

Your display name This field is mandatory

Your e-mail address This field is mandatory (Your e-mail address won't be published)

Security code