The GreasySpoon Open-source project is now over since 2010. The last versions produced by the open-source project are archived here,
and no support or evolution have been and will be provided since.
If you are interested by GreasySpoon features for any other thing than a makeshift job, you should consider using L3WS WebflowAdapter
solution (corresponding informally to version 2 of GreasySpoon).
The WebflowAdapter ICAP server represents a complete rewrite of the GreasySpoon's code in order to
drasticaly enhance performances, to fix a huge number of design flaws, to improve security as well as to provide functionnal
enhancements taking into account evolution of ICAP protocol and clients in general.
GreasySpoon was the historical version of L3WS WebflowAdapter, and was the first ICAP server providing a real-time solution allowing you to easily manipulate
Web traffic on the fly. By embedding a complete development framework, GreasySpoon can be used for very simple usages up to extremely complex applications:
HTTP anonymization, tracking, access control filters, mashup services, Web Application firewall, ...
Interfaced with HTTP proxies like Squid, it runs transparently in the network and does not require any specific
modification on end-user devices. In that way, it provides therefore multi-OS and cross-browser support.
Fully developped in Java, GreasySpoon can be used on merely any platform and has already been successfully tested with several ICAP clients: Squid 3.0, Bluecoat ProxySG, Network Appliance Netcache and more.
Want to see what it looks like ? You can do a virtual tour of administration interface here (use Exit on right to return).
Main features of GreasySpoon are:
- On-the-fly content modification - build your first web services in minutes
- Real-time services writing - create, edit and update your services seamlessly
- Allows to build up web content analysers, filters, enrichers, optimizers and much more
- ICAP 1.0 compatible server
- No services number limitation; Maximum processing time configurable by script and for the whole processing
- Platform independant
GreasySpoon scripting support is provided using Java JSR223, which defines an API allowing scripting languages to be used in Java Applications. JSR223 is embeded in Java runtime environment since Java 6 SE platform.
GreasySpoon service implementation relies on ICAP (Internet Content Adaptation Protocol) in order to intercept and modify Web content. ICAP is a lightweight network API dedicated to content adaptation, and is implemented by both commercial products (Bluecoat, Cisco, F5,…) and open source softwares (Squid, Shweby,…).
ICAP architecture is based on following concept:
- Users' traffic is intercepted by a web proxy (proxy-cache, firewall, security gateway). This web proxy acts as an ICAP client and forward web messages (either users' requests or servers' responses) to one or several ICAP servers.
- The ICAP server(s) has then the possibility to modify web messages to provide value added services (content enrichment, parental/employers' control, antivirus, etc).
Advantages of ICAP architecture are numerous:
- Performance, by using specialized components for each task
- Scalability, with the possibility to scale ICAP clients (proxies) and ICAP servers (services) independently
- Extensibility, by adding/removing/updating ICAP services without service interruption
- Openness, with the possibility to choice ICAP clients/servers based on the context requirements
In order to run GreasySpoon, you will need:
GreasySpoon has been successfully used with following configuration:
- Microsoft Windows:
- XP Pro SP2
- Windows 2000 Server SP4
- Debian Sarge – Linux kernel 2.6.6-1-686-smp / JRE 1.6.0_02-b05
- Debian Etch
- Debian Lenny
- Red Hat Linux server 3.2.3-34 - Linux version 2.4.21-15.Elsmp - JRE 1.6.0_02-b05
- ICAP Clients:
- Network Appliance Netcache v6.0.x and 6.1.x
- Bluecoat Security Gateway SG
- Squid version 3.0