About this site

This site presents a list of open source HTTP proxies written in java and python, with comparison tables, so that you compare the proxies on a feature by feature basis. Further detail is available on each proxy: click it's name for more info.

About xhaus.com

  1. Follow xhaus.com on twitter
  2. Read the xhaus.com blog
  3. Browse the xhaus.com opensource portal

What is a HTTP proxy?

A HTTP proxy acts as an intermediary between a HTTP client (i.e. browser) and HTTP server. It receives all requests from the browser, and relays them (possibly modified) to the server. Likewise, it receives all responses from the server, and relays them (possibly modified) to the client. HTTP Proxies can be used for a wide variety of tasks, including filtering, logging, caching, etc, etc, etc.

Contact us

If any of the details on this page are incorrect or out-of-date, or you find a proxy that is not listed here, please feel free to tell us about it.

NAVIGATION: Front page | java proxy comparison table | python proxy comparison table

Detailed information about JAVA proxy: Agent Frank
Proxy Name Agent Frank
Language and version java version: 1.2
HTTP version 1.1
HTTPS Connect yes
Windows NTLM support no
Last updated YYYY-MM-DD 2003-11-22
Platform all
Author Leslie Michael Orchard
Home page http://www.decafbad.com/twiki/bin/view/Main/AgentFrank
Primary features The goal of Agent Frank is to be a personal intelligent intermediary and companion to internet infovores during their daily hunter/gatherer excursions.
Features

From the project web page

  1. Personal - While employing many traditionally server-side technologies, Agent Frank is intended to reside near the user, on the desktop or the laptop
  2. Intelligent - Agent Frank wants to learn about the user, observe preferences and habits, and become capable of automating many of the tedious tasks infovores face. Eventually, this will come to involve various forms of machine learning and analysis, & etc.
  3. Intermediary - Amongst Agent Frank's facilities are network proxies that can be placed between local clients and remote servers. Using these, Agent Frank can tap into the user's online activities in order to monitor, archive, analyze, and alter information as it flows. For example, using a web proxy, Agent Frank can log sites visited, analyze content, filter out ads or harmful scripting.
  4. Companion - Agent Frank's ultimate purpose is to accompany an infovore and assist along the way.

Technical features

  1. Implemented in Java, with an intent to stick to 100% pure Java.
  2. Makes use of Jetty for an embedded browser-based user interface
  3. Employs BeanShell to provide a shell prompt interface and scripting facilities
  4. RDF metadata is employed via the Jena toolkit
  5. Web proxy services are provided via the Muffin web proxy
  6. Text indexing and searching enabled by Jakarta Lucene.
  7. Exploring use of HSQL and/or Jisp for data storage.
License GPL
Design Architecture Threaded
Notes Agent Frank seems to have stalled in an incomplete state:

Agent Frank is, at least initially, a laboratory for hacker/infovores to implement and play with technologies and techniques to fulfill the above goals. At its core, Agent Frank is a patchwork of technologies stitched together into a single environment intended to enable this experimentation. At the edges, Agent Frank is open to plugins and scripting to facilitate quick development and playing with ideas.

Agent Frank wants to be slick & clean one day, but not today. Instead, it is a large and lumbering creature with all the bolts, sockets, and stitches still showing. This is a feature, not a bug.