Welcome to GreasySpoon

GreasySpoon is a real-time solution allowing you to easily manipulate Web traffic on the fly.

By providing an embedded 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, ...

What makes GreasySpoon unique is that any code modification is applied in real time, while providing an excellent performance level. You can in that way easily build up, test and improve your services, then decide to use the result in a production environment.

Inspired by Firefox GreaseMonkey extension, GreasySpoon supports various "scripting" languages, like Java, JavaScript, Python or Ruby. 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.
 

     

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

Features

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
  • Several languages supported: Java, JavaScript, Ruby, ...
  • Allows to build up web content analysers, filters, enrichers, optimizers and much more
  • ICAP 1.0 compatible server
  • No scripts number limitation; Maximum processing time configurable by script and for the whole processing
  • Platform independant
  • High performance engine: 1000 r/s with a latency under 20 ms on IBM xs336
performances with Ecmascript  
   performances with Ruby

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.

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
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 © 2008-2011 GreasySpoon (except where otherwise noted). All Rights Reserved.