squid(8)
๐ squid(8) โ like, the manual, but make it make sense ๐
Okay so bestie, this is squid, from the System Manager's Manual. Yes, that kind of manual. Don't panic, I got you. This is literally the high-performance proxy caching server for web clients, and it's giving main character energy in the Unix world. Let me break it down so you actually get it, fr fr.
โจ NAME โจ
squid โ HTTP web proxy caching server. That's the whole vibe. It's a proxy. It caches. It serves web. Iconic.
๐ฆ SYNOPSIS ๐ฆ
squid [-dhisrvzCFNRSVYX] [--foreground] [-l facility ] [-f config-file ]
[-[au] port ] [-k signal ] [-n service-name ] [-O command-line ]
Like, that's the whole invocation. All the flags. All the drama. We'll get to each one, don't worry.
๐ธ DESCRIPTION ๐ธ
So squid is a high-performance proxy caching server for web clients, and it supports FTP, ICAP, ICP, HTCP and HTTP data objects. Unlike those traditional caching softwares (boooring), Squid handles all requests in a single, non-blocking process. The way it justโฆ does everything without blocking? Obsessed.
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. Basically it remembers the good stuff and the bad stuff so it doesn't have to ask again. Efficient queen.
It also supports SSL, extensive access controls, and full request logging. And 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. Cute little cache friend group, honestly.
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. Slay, parallelize, periodt.
Fun fact: Squid is derived from the ARPA-funded Harvest Project. History! We love a glow-up.
โ ๏ธ Heads up bestie: 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 athttps://wiki.squid-cache.org/, or the configuration manual on the Squid home pagehttp://www.squid-cache.org/Doc/config/. Don't come for me if you needed config help, this page is just the CLI tea.
๐ OPTIONS ๐
Okay here's the part you actually came for. Every flag, every argument, no cap. I'm not skipping a single one, because missing details is not the vibe.
-aport โ Specify HTTP port number where Squid should listen for requests, in addition to anyhttp_portspecifications insquid.conf. Extra port, extra slay.-Cโ Do not catch fatal signals. Like, let it crash dramatically if it's gonna. Iconic but risky.-dlevel โ Write debugging to stderr also. Debug tea, but make it visible.-ffile โ 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#linenotion to indicate the real source file. Fancy.-Fโ Don't serve any requests until store is rebuilt. Patience, bestie.-hโ Print help message. The "help me help you" flag.-iโ Install as a Windows Service (see-noption). Windows girlies, this one's for you.-kreconfigure|rotate|shutdown|interrupt|kill|debug|check|parseโ Parse configuration file, then send signal to running copy (except-k parse) and exit. It's giving "talk to the running process" energy.-lfacility โ Use specified syslog facility. Implies-s. Syslog but make it custom.-nname โ Specify Windows Service name to use for service operations, default is:Squid. Name your service, bestie.-Nโ No daemon mode. Stay in the foreground, main character style.--foregroundโ Parent process does not exit until its children have finished. It has no effect with-Nwhich does not fork/exit at startup. Like, don't combine these, it's not that kind of party.--kidroleID โ 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. Seriously bestie, hands off. This is not for you.-Ooptions โ Set Windows Service Command line options in Registry. Windows registry tea.-rโ Remove a Windows Service (see-noption). Bye bye service.-Rโ Do not setREUSEADDRon port. Reuse is cancelled, respectfully.-sโ Enable logging to syslog. Also configurable in/etc/squid/squid.conf. Syslog moment.-Sโ Double-check swap during rebuild. Double the check, double the care.-uport โ Specify ICP port number (default:3130), disable with0. ICP port, your call.-vโ Print version and build details. The "who am I" flag.-Xโ Force full debugging. All the debug. Not chill, but sometimes necessary.-Yโ Only returnUDP_HITorUDP_MISS_NOFETCHduring fast reload. Specific behavior, specific flags, iykyk.-zโ Create missing swap directories and other missingcache_dirstructures, then exit. Allcache_dirtypes 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.
โ ๏ธ Okay this is important: This option does not enable validation of any present swap structures. Its focus is on creation of missing pieces. If nothing is missing,squid -zjust exits. If you suspectcache_dircorruption, you must delete the top-levelcache_dirdirectory before runningsquid -z. Don't skip that step, bestie, I'm serious.
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. The way it just forks and dips? Rude but efficient.
๐ FILES ๐
Squid configuration files located in /etc/squid/. Let's go through them, bestie:
squid.confโ The main configuration file. You must initially make changes to this file forsquidto work. For example, the default configuration only allows access from RFC private LAN networks. Some packaging distributions block even that. So like, actually edit this one, okay?squid.conf.defaultโ 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. The "what was the default again?" file.squid.conf.documentedโ 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. seehttp://www.squid-cache.org/Doc/config/. The "read the docs" file, literally.msntauth.confโ The main configuration file for the Sample MSNT authenticator. Auth config, cute.errorpage.cssโ 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. Branding era, love that for you.
Some files also located elsewhere. Yes, they're not all in /etc/squid/, don't come for me:
/etc/squid/mime.conf(mime_table) โ MIME type mappings for FTP gatewaying. FTP gateway vibes./usr/share/squid/errorsโ Location of Squid error pages and templates. Error page home base.
๐ AUTHOR ๐
Squid was written over many years by a changing team of developers and maintained in turn by:
- Duane Wessels
<duane@squid-cache.org> - Henrik Nordstrom
<hno@squid-cache.org> - Amos Jeffries
<amosjeffries@squid-cache.org>
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. Team effort, we stan.
๐ COPYRIGHT ๐
* Copyright (C) 1996-2026 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.
GPLv2+ license, bestie. Respect the license, it's literally the law.
๐ QUESTIONS ๐
Questions on the usage of this program can be sent to the Squid Users mailing list <squid-users@lists.squid-cache.org>. Ask away, they're nice.
๐ซถ REPORTING BUGS ๐ซถ
Bug reports need to be made in English. See https://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report. Like, they need the tea in English, okay?
- Report bugs or bug fixes using
https://bugs.squid-cache.org/ - Report serious security bugs to Squid Bugs
<squid-bugs@lists.squid-cache.org> - Report ideas for new improvements to the Squid Developers mailing list
<squid-dev@lists.squid-cache.org>
Don't send your random bug to the security list, bestie. Respect the channels.
โญ SEE ALSO โญ
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
https://wiki.squid-cache.org/SquidFaq - The Squid Configuration Manual
http://www.squid-cache.org/Doc/config/
Go read these if you need more. The FAQ wiki is a whole vibe, ngl.
And that's the whole page, bestie. This is from the squid(8) manpage, System Manager's Manual, and if you ever need the version details, just run squid -v โ or like, check the footer when you man squid, because it's there. Stay slay, keep your cache warm, and remember: don't use --kid unless you're the master process. Periodt. ๐
โจ
๐ฆ where this page comes from
- alpine 3.23: squid-doc 7.6-r0 ยท GPL-2.0-or-later
- alpine 3.24: squid-doc 7.6-r0 ยท GPL-2.0-or-later
- arch rolling: squid 7.7-1 ยท GPL
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms