Shweby Proxy Server
What is Shweby ?Shweby proxy server is an open source project of an HTTP proxy server with support of ICAP protocol. ICAP (Internet Content Adaptation Protocol) is a new standardized protocol for HTTP modification. To learn more about ICAP, you can check these links: here.
Shweby is cooperating with POESIA project. Our aim is to release a proxy platform with filtering capabilities in order to protect teenagers from pornographic and violent web content.
How does Shweby work ?Shweby is a web proxy. It will provides web content to clients like Mozilla or Internet Explorer. When Shweby is not configured with ICAP support, it will simply forward the request to the server. When the origin server replies, Shweby will forward the reply to the client, without any modification.
Now, depending on its configuration, Shweby can contact one or many ICAP servers in order to modify either the request or the reply, or both. The ICAP protocol defines two methods: REQMOD for request modification and RESPMOD for reply modification.
In REQMOD, the ICAP server can reply by an HTTP request or an HTTP reply. In RESPMOD, it can only answer by HTTP replies. It can also send back error messages.
Here is an example with Shweby configured with a REQMOD and a RESPMOD service. Figure 1 shows the case when the REQMOD ICAP server sends a modified request, and figure 2 shows the case when ICAP server satisfies the HTTP request by an HTTP reply.
What does ICAP server do ?ICAP is designed in order to adapt the delivered content to the clients. We can enumerate some examples:
Where can I find ICAP servers ?There are many ICAP servers in commercial products, especially in filtering and anti-virus software. Now you can find also free open source ICAP servers. These are some:
What is the difference between Shweby and Squid ICAP ?In a word: scalability. Shweby is not designed to scale to thousands of clients. The one-thread-per-request design does not allow Shweby to scale to a huge public of web clients, however, it allows Shewby to support 20 requests per second, or the load generated by 20 computers.
Shweby is a simple way of implementing the ICAP protocol. We are aiming to support the ICAP protocol and to develop some proxylets without any performance or scalability constraints. That's freedom!