squid - HTTP web proxy caching server


squid [-dhisrvzCFNRSVYX] [--foreground] [-l facility ] [-f config-file ] [-[au] port ] [-k signal ] [-n service-name ] [-O command-line ]


squid is a high-performance proxy caching server for web clients, supporting FTP, gopher, ICAP, ICP, HTCP and HTTP data objects. Unlike traditional caching software, Squid handles all requests in a single, non-blocking process.

Squid keeps meta data and especially hot objects cached in RAM, caches DNS lookups, supports non-blocking DNS lookups, and implements negative caching of failed requests.

Squid supports SSL, extensive access controls, and full request logging. By using the lightweight Internet Cache Protocols ICP, HTCP or CARP, Squid caches can be arranged in a hierarchy or mesh for additional bandwidth savings.

Squid consists of a main server program squid , some optional programs for custom processing and authentication, and some management and client tools. When squid starts up, it spawns a configurable number of helper processes, each of which can perform parallel lookups. This reduces the amount of time the cache waits for results.

Squid is derived from the ARPA-funded Harvest Project.

This manual page only lists the command line arguments. For details on how to configure Squid see the file /etc/squid/squid.conf.documented, the Squid wiki FAQ and examples at , or the configuration manual on the Squid home page


-a port

Specify HTTP port number where Squid should listen for requests, in addition to any http_port specifications in squid.conf


Do not catch fatal signals.

-d level

Write debugging to stderr also.

-f file

Use the given config-file instead of /etc/squid/squid.conf . If the file name starts with a ! or | then it is assumed to be an external command or command line. Can for example be used to pre-process the configuration before it is being read by Squid. To facilitate this Squid also understands the common #line notion to indicate the real source file.


Don’t serve any requests until store is rebuilt.


Print help message.


Install as a Windows Service (see -n option).

-k reconfigure | rotate | shutdown | interrupt | kill | debug | check |

Parse configuration file, then send signal to running copy (except -k parse ) and exit.

-l facility

Use specified syslog facility. Implies -s

-n name

Specify Windows Service name to use for service operations, default is: Squid


No daemon mode.


Parent process does not exit until its children have finished. It has no effect with -N which does not fork/exit at startup.

--kid roleID

Play a given SMP kid process role, with a given ID. Do not use this option. It is meant for the master process use only.

-O options

Set Windows Service Command line options in Registry.


Remove a Windows Service (see -n option).


Do not set REUSEADDR on port.


Enable logging to syslog. Also configurable in /etc/squid/squid.conf


Double-check swap during rebuild.

-u port

Specify ICP port number (default: 3130), disable with 0.


Print version and build details.


Force full debugging.


Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.


Create missing swap directories and other missing cache_dir structures, then exit. All cache_dir types create the configured top-level directory if it is missing. Other actions are type-specific. For example, ufs-based storage systems create missing L1 and L2 directories while Rock creates the missing database file.

This option does not enable validation of any present swap structures. Its focus is on creation of missing pieces. If nothing is missing, squid -z just exits. If you suspect cache_dir corruption, you must delete the top-level cache_dir directory before running squid -z.

By default, squid -z runs in daemon mode (so that configuration macros and other SMP features work as expected), returning control to the caller before cache_dirs are fully initialized. If run from init scripts or daemon managers, the caller often needs to wait for the initialization to complete before proceeding further. Use --foreground option to prevent premature exits. To disable daemon mode, use -N option.


Squid configuration files located in /etc/squid/:

The main configuration file. You must initially make changes to this file for squid to work. For example, the default configuration only allows access from RFC private LAN networks. Some packaging distributions block even that.


Reference copy of the configuration file. Always kept up to date with the version of Squid you are using.

Use this to look up the default configuration settings and syntax after upgrading.


Reference copy of the configuration file. Always kept up to date with the version of Squid you are using.

Use this to read the documentation for configuration options available in your build of Squid. The online configuration manual is also available for a full reference of options. see


The main configuration file for the web cachemgr.cgi tools.


The main configuration file for the Sample MSNT authenticator.


CSS Stylesheet to control the display of generated error pages. Use this to set any company branding you need, it will apply to every language Squid provides error pages for.

Some files also located elsewhere:
/usr/share/squid/mime.conf (mime_table)

MIME type mappings for FTP gatewaying


Location of Squid error pages and templates.


Squid was written over many years by a changing team of developers and maintained in turn by Duane Wessels <duane [AT]> Henrik Nordstrom <hno [AT]> Amos Jeffries <amosjeffries [AT]>

With contributions from many others in the Squid community. see CONTRIBUTORS for a full list of individuals who contributed code. see CREDITS for a list of major code contributing copyright holders.


* Copyright (C) 1996-2022 The Squid Software Foundation and contributors
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.


Questions on the usage of this program can be sent to the Squid Users mailing list <squid-users [AT]>


Bug reports need to be made in English. See for details of what you need to include with your bug report.

Report bugs or bug fixes using

Report serious security bugs to Squid Bugs <squid-bugs [AT]>

Report ideas for new improvements to the Squid Developers mailing list <squid-dev [AT]>


cachemgr.cgi (8), squidclient (1), basic_pam_auth (8), basic_ldap_auth (8), ext_ldap_group_acl (8), ext_session_acl (8), ext_unix_group_acl (8),
The Squid FAQ wiki
The Squid Configuration Manual