Welcome to GreasySpoon

Looking for a simple and efficient solution to adapt and transform Web content on the fly ?

Inspired by Firefox GreaseMonkey extension, GreasySpoon allows you to manipulate HTTP traffic by creating simple scripts in various possible languages. Interfaced with HTTP proxies like Squid, it does not require any installation on end-user devices, and provides therefore multi-OS and cross-browser support.
 

     

 
GreasySpoon supports Java/javascript language per default, but can be easily extended with other scripting languages: Ruby, Python, AWK, Groovy, etc. Providing a web based interface, it tries to be as user-friendly as possible, while keeping an eye on performance that makes it usable from early prototyping stages up to production environment.
 
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).

Architecture

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
Features

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.


Main features of GreasySpoon are:

  • Simple to use - build your first content adaptation services in minutes
  • ICAP 1.0 compatible server
  • No scripts number limitation; Maximum processing time configurable by script and for the whole processing
  • Platform independant
  • Excellent performance level using JavaScripts: 1000 r/s with a latency under 20 ms on IBM xs336

performances with Ecmascript  
   performances with Ruby
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
    • Vista
  • Linux:
    • 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

Copyright © 2009 GreasySpoon (except where otherwise noted). All Rights Reserved.