Squid 3 for Windows
Native port of Squid 3, with some Windows service enhancement.
WARNING: This is a development code with no guarantee of functionality or performance.
If your are looking for a STABLE Squid version for Windows then please look at the 2.7 page instead.
The development of Squid 3 for Windows (3.0 and 3.1 branches) is stopped since the bazaar migration of the Squid 3 VCS because
the inability of Bazaar to handle correctly real multiplatforms development projects.
This problem is known since 2005 to Bazaar Development Team at Canonical, but still nothing was fixed.
Probably no STABLE Squid 3 binary packages will be available before the fix of this problem, so please ask the Bazaar Team for the fix needed for the resurrection of the Squid 3 for Windows development.
UPDATE: according to Canonical, starting from version 1.14, Bazaar should be able to work correctly.
But this too long awaited fix to Bazaar is really coming too late to avoid unrecoverable damages to Squid 3 development on Windows:
The Windows development is still stopped because the are too much Squid new functionality totally out of sync or not implemented on Windows.
- Current features:
- Based on Squid 3 development code
- Run as a native Windows Service
- Currently supported build environments:
- Microsoft Visual Studio 2005 C++
- MSYS + MinGW
- Multiple Squid service instances are allowed
- Full Command line support when running as a service
- Automatic Service restart after Squid failure on Windows 2000/XP/2003
- Use PSAPI.DLL for full getrusage() emulation
- Internal DNS looks in registry for configured DNS, resolv.conf no more needed
- Multithreaded support for standard Squid external helpers or redirectors (pinger, unlinkd, dnsserver)
- All squid -k switches (check, debug, interrupt, kill, parse, reconfigure, rotate, shutdown) works
- Basic, NTLM, Negotiate and Digest Authentication schema
- Native Windows Basic, NTLM and Negotiate Authenticators with NTLMv2 and Kerberos support
- Cachemgr CGI interface supporting Microsoft IIS and Apache Web Server
- WinAIO and WinDiskThreads native async I/O
- External ACL native group helper for Windows Domains group membership check
- OpenSSL Support
- ARP acl support
- Currently supported Windows platforms:
- Windows 2000 Professional and Server
- Windows XP Professional (Home Edition not tested)
- Windows 2003 Server
Compiling source code:
- Microsoft build environment:
- Microsoft Visual Studio 2005 C++
- Microsoft latest Core SDK
- Native CVS, gawk, perl,sed and patch for NT
- MinGW environment:
- MSYS 1.0.9 or later
- MinGW 3.1.0 or later
- Windows API 2.4.0 or later
- MSYS Developer Tool Kit 1.0.1 or later
- How obtain the sources:
- Build using Microsoft Visual Studio:
- Check ASCII format of all project files, must be DOS (CR+LF)
- Check paths on all project files
- Verify the Squid options defined in autoconf.h
- Check default parameters on squid_mswin.mak file
- Check settings on Install files project
- Build using MinGW:
At this time Windows is a platform partially supported from Squid Community.
- Squid features not operational:
DISKD: needs to be ported - Volunteers are welcome
WCCP: cannot work because GRE support on Windows is missing - Volunteers are welcome
Transparent Proxy: missing Windows non commercial interception driver
- Some code sections can make blocking calls
- Some external helpers may not work
- File Descriptors number hard-limited to 2048
For general Squid configuration ask always on squid-users
Original Port and some enhancements by Romeo Anghelache (see the ChangeLog)