Squid Development projects -> Projects hosted here

Squid Development projects

Squid projects currently hosted here:

Microsoft Windows NT/2000 port

Goal:To have Squid ported to Windows NT/2000/XP/2003
Native environments supported: Microsoft Visual Studio©, MSYS + MinGW
Emulation environments supported: Cygwin (HEAD and s2_5 based only)
Status: Squid-2.5: Stable
Squid-2.6: Beta quality
HEAD (3.0):      Experimental
CVS tag: nt-2_5
nt (2.6 based)
nt (3.0)
Based on:s2_5, Squid-2, HEAD
Patch: Squid-2.5: view / download
Squid-2.6: view / download
HEAD:     view / download
Owner:Guido Serassio
Other developers:None
Sponsor:Acme Consulting S.r.l.
Web site:http://www.acmeconsulting.it/SquidNT.htm

Code Optimization

Goal:Get rid of the code tangles that have been introduced by the Squid-3 conversion or remain in legacy code from Squid-2
Status:Alpha.
CVS tag:cleanup
Based on:3.1
Patch:view / download
Owner:Amos Jeffries
Comment:see RoadMap for details.

ICAP Client Support (Squid-3)

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol
Status:Stable
CVS tag:squid3-icap
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Other developers:Duane Wessels, Christos Tsantilas
Sponsors:Barefruit, The Measurement Factory

ICAP Client Support (Squid-2)

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol
Status:Ongoing. Released a beta version alongwith an ICAP server for public use.
CVS tag: Current branch: icap-2_5
Old branch: icap
Based on:Squid-2
Patch: HEAD: view / download 2.5: view / download
Old branch: view / download
Owner:Geetha Manjunath, Hewlett Packard Labs.
Other developers:Basile Starynkevitch, Ralf Horstmann, Henrik Nordström, Duane Wessels
Web site:http://devel.squid-cache.org/icap/

Streaming ICAP Client Support

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol in a way suitable for Virus scanning and other situations where the ICAP server wants to be able to respond while the object is being downloaded
Status:Beta
Based on:Squid-2.5
Owner:Henrik Nordström, MARA Systems AB
Other developers:ICAP OPTIONS processing inherited from the icap patch
Web site:N/A

Experiment with the use of tries in squid string collections

Goal:Identify whether tries offer performance benefits for squid. Long term implement disk tries for the store index's.
Status:Experimental.
CVS tag:trie
Based on:HEAD
Patch:view / download
Owner:Robert Collins
Other developers:Francesco 'Kinkie' Chemolli
Web site:N/A.

Follow X-Forwarded-For headers

Goal:When a request passes through a chain of one or more other proxies before reaching Squid, we sometimes want to examine the X-Forwarded-For headers to find the IP address of the original (or indirect) client, and use the indirect client address in access controls, delay pools and logs.
Status:Merged into 2.6. Finished converting my previous set of private patches (based on squid-2.4) to work in squid-3. Proceeding to test them a little more. Further enhancements might follow later.
CVS tag:follow_xff
Based on:HEAD (but patches relative to 2.4 and 2.5 are also available)
Patch: HEAD: view / download
2.6: view / download
2.5: download
2.4: download
Owner:Alan Barrett
Other developers:none
Web site:http://devel.squid-cache.org/follow_xff/index.html

Optimize request forwarding for accelerator setups

Goal:To avoid unneeded extra roundtrips to backend servers in case of cache misses or revalidations
Status:Merged into 2.6. Squid-3 version ready but needs to be verified
CVS tag: 2.5: collapsed_forwarding-2_5
2.6: collapsed_forwarding-2_6
3: collapsed_forwarding
Based on:HEAD
Patch: 2.5: view / download
2.6: view / download
3: view / download
Owner:Henrik Nordström
Sponsor:Zope Corporation
Web site:http://devel.squid-cache.org/collapsed_forwarding/

Full etag and vary support

Goal:Add full vary and etag support to squid 3.
Status:Experimental, first prototype
CVS tag:varyetag
Based on:HEAD
Patch:view / download
Owner:Michal Matusiak, Mateusz Srebrny
Web site:http://rainbow.mimuw.edu.pl/~ms189442/mmsquid

HTML Prefetching

Goal:Analyze HTML being proxied by Squid and fetch the embedded elements before the client requests them.
Status:Basic work completed.
CVS tag:prefetching
Based on:HEAD
Patch:view / download
Owner:Nick Lewycky
Sponsor:NSERC with Principal Investigator Abdolreza Abhari

Connection pinning

Goal:Get rid of that never ending question why Microsoft IIS servers requiring authentication can not be used via the proxy
Status:Applied to 2.6. Needs porting to Squid-3
CVS tag:pinning
Based on:2.5
Patch:view / download
Owner:Henrik Nordstrom

IPC refactoring

Goal:Improve IPC code adding a simple support for Windows threading model. Based on the work of Robert Collins for nt-3_0 branch.
Status:Beta
CVS tag:ipc
Based on:HEAD
Patch:view / download
Owner:Guido Serassio
Other developers:
Web site:

Using an external helper to perform Logfile IO

Goal:To allow squid to log access/store logs in a much more efficient and flexible method by utilising an external helper, freeing Squid of potentially blocking IO
Status:Complete - committed to Squid-2.6.HEAD
CVS tag:s26_logfile_daemon
Based on:Squid-2.HEAD
Patch:view / download
Owner:Adrian Chadd
Other developers:
Web site:

runtime gzip/deflate content-encoding

Goal:Implement gzip/deflate content-encoding compression
Status:Beta
CVS tag:gzip
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom
Other developers:Jon Kay, Gonzalo Arana
Web site:/gzip/

RFC 2616 (HTTP/1.1) support

Goal:HTTP/1.1 support
Status:Server-side semi-functional
CVS tag:http11
Based on:Squid-2.6
Patch:view / download
Owner:Henrik Nordström
Web site:http://devel.squid-cache.org/http11

IP based NTLM authentication cache

Goal:Efficient use of the proxy while using NTLM authentication
Status:Operational, but not supporing child proxies
CVS tag:ntlm_ip_cache
Based on:HEAD
Patch:view / download
Owner:Henrik Nordström

Squid 3.x Source Documentation Project

Goal:To document all the squid source code for developers using doxygen
Status: SGML Developers Guide - doxygenated.
Source Code - started. Early days.
Changing Developer Habits - not started.
CVS tag:docs
Based on:HEAD
Patch:view / download
Owner:Amos Jeffries
Other developers:
Web site:docs
Comment: Have Converted the old SGML documentation. Assistance welcome.

Modulize External Binaries.

Goal: Squid currently uses some exteranl binaries for certain time-critical or blocking activities. This is an experiment in converting them to C++ Objects and unifying their duplicated code paths. If successful it will result in an object tree which can be used by squid accross the application boundaries.
Status:Design First Steps.
CVS tag:modextern
Based on:HEAD
Patch: view / download
Owner:Amos Jeffries
Other developers:
Web site: 
Comment: Just started, ideas are welcome. Sponsorship even more so.

New URL matching ACL (Squid-2)

Goal:To make a new URL matching acl matching the destination group. For example having an urllist containing "bar.com/~baduserbar" then all these URLs will match that destination group: http://bar.com/~baduser http://www.bar.com/~baduser/whatever http://www2.bar.com/~baduser/whatever/bar.html The domain prefixes www[0-9]? and web[0-9]? will be ignored by squid in URL matching ?
Status:Studying the new acl features
CVS tag:acl_urllist
Based on:Squid-2 HEAD
Patch:view / download
Owner:Emilio Casbas
Other developers:
Web site:

New URL matching ACL (Squid-3)

Goal:To make a new URL matching acl matching the destination group. For example having an urllist containing "bar.com/~baduserbar" then all these URLs will match that destination group: http://bar.com/~baduser http://www.bar.com/~baduser/whatever http://www2.bar.com/~baduser/whatever/bar.html The domain prefixes www[0-9]? and web[0-9]? will be ignored by squid in URL matching ?
Status:Studying the new acl features
CVS tag:acl_urllist-3
Based on:Squid-3 HEAD
Patch:view / download
Owner:Emilio Casbas
Other developers:
Web site:

Clean up and template the error pages

Goal:Easy to maintain and good looking error pages
Status:Early beta
CVS tag:errorpages
Based on:HEAD
Patch:view / download
Owner:Adrian Chadd

Rework the storeClientCopy() API to be reduce data copying

Goal:Remove one of the busiest APIs in Squid to shuffle data from the store to the client without copying. The copying is currently unavoidable for requests coming from disk but requests coming from memory-cache will benefit. This is part of a long-term strategy to fix up the Squid APIs to perform well.
Status:Alpha
CVS tag:store_copy
Based on:HEAD
Patch:view / download
Owner:Adrian Chadd

Embedded Content Adaptation (eCAP)

Goal:Improve Squid3 content adaptation performance by 20+%, remove the need for an ICAP server
Status:Started
CVS tag:ecap
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Sponsors:Barefruit, The Measurement Factory
Web site:http://wiki.squid-cache.org/Features/eCAP

Native support for asynchronous calls

Goal:Simplify code, improve debugging, improve ICAP performance, and prevent crashes from single transaction errors.
Status:Started
CVS tag:async-calls
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Sponsors:Barefruit, The Measurement Factory
Web site:http://wiki.squid-cache.org/Features/NativeAsyncCalls
Note:The code has been moved to a bazaar repository

Mysql database logging and configuration reading feature

Goal:Use mysql database for logging,also as a configuration storage.
Status:Started
CVS tag:shaga
Based on:Squid-3
Patch:view / download
Owner:Arthur Tumanyan

Squid Now! Cache Now! Valid HTML 4.0! SourceForge
$Id: projects.html,v 1.336 2008/04/07 07:54:45 amosjeffries Exp $