Varnish Modules

VMODs are extensions written for Varnish Cache. This page serves as a directory of maintained VMODs.

If you have written a VMOD and want it listed here please send a PR to this github repo and we will be happy to include it.

For other Varnish Cache related projects and utilities, please see the Varnish Extras

Instructions how to get your VMOD on this list.

VMOD Description Docs License Status Link VCC Support
abtest AB Tests value selector 3.0 FreeBSD mature Github 3.0  
all_healthy director to use more than one probe or a different backend’s probe 4.1 6.0 6.2 master FreeBSD mature UPLEX gitlab 4.1 6.0 6.2 master UPLEX
authentication Authentication 3.0 FreeBSD mature Github 3.0  
awsrest AWS Signature 3.0 4.0 4.1 5.0 master FreeBSD development Github 3.0 4.0 4.1 5.0 master  
backend_dyn create and delete backends at runtime 4.1 FreeBSD development Repos 4.1 UPLEX
basicauth Basicauth 4.0 4.1 5.1 6.0 GPLv2 mature Repos 4.0 4.1 5.1 6.0 Norse Digital
blobcode binary-to-text encodings and decodings for BLOBs 4.1 5.0 5.1 FreeBSD included in Varnish-Cache since release 5.2 as vmod_blob Repos 4.1 5.0 5.1 UPLEX
blobdigest digests and hmacs for BLOBs 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master UPLEX
blobsha256 SHA256 digests and hmacs for BLOBs 4.1 FreeBSD development Repos 4.1 UPLEX
blobsynth Generate synthetic() responses from BLOBs 5.2 6.0 6.1 6.2 master Public Domain mature UPLEX gitlab 5.2 6.0 6.1 6.2 master UPLEX
boltsort boltsort - QueryString params sort 3.0 4.0 FreeBSD mature Github 3.0 4.0  
brotli Varnish Fetch Processor (VFP) for brotli de-/compression 6.2 master FreeBSD development UPLEX gitlab 6.2 master UPLEX
cfg Access to local / remote .ini / .json files, access to environment variables, and execution of local / remote Lua scripts 4.1 5.0 5.1 5.2 6.0 6.1 master FreeBSD mature Github 4.1 5.0 5.1 5.2 6.0 6.1 master Allenta Consulting S.L.
cluster simple and easy cache clustering 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
constant constants as objects in VCL 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
cookie Cookie 4.1 FreeBSD mature Github 4.1 Varnish Software
cookie (newer versions) Cookie (newer versions) 6.1 6.2 master FreeBSD mature Github 6.1 6.2 master UPLEX
crashhandler Crashhandler 3.0 FreeBSD mature Github 3.0  
crypto asymmetric signatures (RSA, DSA) in VCL 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
curl cURL 4.1 FreeBSD mature Github 4.1 Varnish Software
dateformat Date conversions functions accordingly to a date format (strftime) 4.1 5.0 BSD 2-Clause mature Github 4.1 5.0  
dbrw Database-driven rewrites 4.0 4.1 5.1 6.0 GPLv2 mature Repos 4.0 4.1 5.1 6.0 Norse Digital
dclass dClass Apache DeviceMap 4.1 Apache2 mature Github 4.1  
dcs Device Classifier Service 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master UPLEX
deviceatlas DeviceAtlas Mobile Detection   Other mature     Varnish Software
dgram Dgram 4.1 FreeBSD development Github 4.1  
dict Dictionary look-up 4.1 5.1 6.0 GPLv2 mature Repos 4.1 5.1 6.0 Norse Digital
digest Digest 4.1 FreeBSD mature Github 4.1 Varnish Software
directors Backend selection directors 4.0 4.1 master FreeBSD included Github 4.0 4.1 master Varnish Software UPLEX
dns DNS 4.1 Apache2 mature Github 4.1  
drupal7 Provide Drupal-related functions within Varnish 3.0 4.0 FreeBSD mature Repos 3.0 4.0  
dynamic Dynamic Backends from DNS lookups and service discovery from SRV records 4.1 5.0 5.1 5.2 6.0 6.2 master FreeBSD mature Github 4.1 5.0 5.1 5.2 6.0 6.2 master UPLEX
esicookies inject cookies from Set-Cookie into ESI request headers 3.0 FreeBSD development Repos 3.0 UPLEX
esiextra ETag and Last-Modified for ESI master FreeBSD development Repos master UPLEX
etag ETags generated in Varnish master FreeBSD development UPLEX gitlab master UPLEX
example example vmod - hello world! 4.1 FreeBSD prototype Github 4.1 Varnish Software
file File 3.0 FreeBSD development Github 3.0  
frozen Efficient JSON parsing based on the frozen parser 6.2 master FreeBSD mature UPLEX gitlab 6.2 master UPLEX
gcrypt access the libgcrypt library of cryptographic building blocks 5.1 FreeBSD development Repos 5.1 UPLEX
geoip2 Query MaxMind GeoIP2 DB files 4.1 6.0 6.1 master BSD 2-Clause mature Github 4.1 6.0 6.1 master  
globalvar global variables as objects in VCL 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
gossip Dump information about contents stored in the cache to a JSON file 4.1 6.0 6.1 master FreeBSD development Github 4.1 6.0 6.1 master Allenta Consulting S.L.
hashids Hashids encode and decode support 4.1 5.0 5.1 6.0 MIT development Github 4.1 5.0 5.1 6.0 Schibsted Media Group
header Header manipulation 4.0 FreeBSD mature Github 4.0 Varnish Software
headerproxy Add custom request/response headers via your native programming language. 4.1 FreeBSD development Github 4.1  
hoailona support use of the SecureHD Policy service provided by Akamai Media Services 5.0 5.1 5.2 6.1 6.2 master FreeBSD mature UPLEX gitlab 5.0 5.1 5.2 6.1 6.2 master UPLEX
i18n libvmod-i18n 3.0 Other mature Github 3.0  
imgdata imgdata 3.0 Other development Github 3.0  
ip2location A Varnish module that enables the user to find the country, region, city, ISP and proxy information by IP address. master MIT development Github master IP2Location
ipcast ipcast 3.0 FreeBSD mature Github 3.0 Varnish Software
jq JSON processor master BSD 2-Clause development Github master  
json JSON 3.0 FreeBSD development Github 3.0  
ldap LDAP authentication 3.0 FreeBSD development Github 3.0  
libvmod_unidirectors Backend selection directors (alternative from vmod_directors) 4.1 master FreeBSD mature Github 4.1 master  
lua Lua 4.1 FreeBSD prototype Github 4.1  
maxminddb Maxmind Geoip 4.1 FreeBSD prototype Github 4.1  
memcached memcached 3.0 FreeBSD mature Github 3.0  
null null - Binary data in synthetic 3.0 FreeBSD mature Github 3.0  
oob_probe assign an out-of-band health probe to a backend 4.1 FreeBSD development Repos 4.1 UPLEX
otp One-time password generator(HOTP/TOTP) 5.1 master FreeBSD development Github 5.1 master  
parseform Parse POST field 4.1 5.1 master FreeBSD development Github 4.1 5.1 master  
pcre2 access the PCRE2 regular expression library 5.1 FreeBSD development Repos 5.1 UPLEX
queryfilter Simple query string filter/sort module 3.0 4.0 4.1 5.2 Apache2 mature Github 3.0 4.0 4.1 5.2  
querystring Advanced query-string filtering. 4.1 5.x 6.x master GPLv3+ mature Github 4.1 5.x 6.x master  
ratelimit Ratelimit 3.0 FreeBSD development Github 3.0  
re regular expression (regexp) matches and backreferences 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master UPLEX
re2 access the Google RE2 regular expression engine 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master UPLEX
redirect redirect 3.0 FreeBSD development Github 3.0  
redis Access to Redis Server / Redis Cluster databases, including Redis Sentinel support 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 master FreeBSD mature Github 3.0 4.0 4.1 5.0 5.1 5.2 6.0 6.1 master Allenta Consulting S.L.
rfc6052 rfc6052 4.1 FreeBSD development Github 4.1  
rtstatus RealTime Status Page 3.0 FreeBSD mature Github 3.0 Varnish Software
saintmode Saint mode (4.1 or later) 4.1 FreeBSD mature Github 4.1 Varnish Software
secdown Secure download 3.0 FreeBSD prototype Github 3.0  
selector match strings associated with backends, regexen and other strings 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 4.1 5.0 5.1 5.2 6.0 6.1 6.2 master UPLEX
shield Shield 3.0 FreeBSD mature Github 3.0  
soap Read SOAP XML messages in HTTP request’s body and expose fields 4.1 5.0 BSD 2-Clause development Github 4.1 5.0  
softpurge Soft purge 4.1 FreeBSD mature Github 4.1 Varnish Software
statsd Statsd - Varnish stats 3.0 FreeBSD mature Github 3.0  
std std - the standard VMOD 3.0 4.0 4.1 master FreeBSD included Github 3.0 4.0 4.1 master Varnish Software
synth synth 4.1 FreeBSD development Github 4.1  
taskvar task scoped variables as objects in VCL 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
tbf Token Bucket Filtering 4.0 4.1 5.1 6.0 GPLv2 mature Repos 4.0 4.1 5.1 6.0 Norse Digital
threescale API Proxy 3.0 FreeBSD mature Github 3.0  
throttle Throttle 3.0 FreeBSD mature Github 3.0  
timers Varnish Timers (timing&duration) 3.0 FreeBSD mature Github 3.0  
timeutils Time Utils 3.0 FreeBSD mature Github 3.0  
topvar top request (across all ESI levels) scoped variables as objects in VCL 6.1 6.2 master FreeBSD mature UPLEX gitlab 6.1 6.2 master UPLEX
urlcode URL Code 4.1 FreeBSD mature Github 4.1  
urlfilter libvmod-urlfilter 3.0 Other development Github 3.0  
urlsort URL Sort 3.0 FreeBSD mature Github 3.0  
utf8 Unicode normalization, case-folding and other operations 4.1 6.0 6.1 master BSD 2-Clause mature Github 4.1 6.0 6.1 master  
utils libvmod-utils 3.0 Other mature Github 3.0  
uuid UUID 3.0 4.0 4.1 5.0 5.1 5.2 6.0 master Apache2 mature Github 3.0 4.0 4.1 5.0 5.1 5.2 6.0 master  
var Variable Support 4.1 FreeBSD mature Github 4.1 Varnish Software
variable Enhanced variable support 4.0 4.1 5.1 6.0 GPLv2 mature Repos 4.0 4.1 5.1 6.0 Norse Digital
vslp VSLP (StateLess Persistence) aka shard 4.0 4.1 master FreeBSD included in Varnish-Cache since release 5.0 as the shard director Repos 4.0 4.1 master UPLEX
vsthrottle vsthrottle - Rate-limiting/throttling (v4 and later) 4.1 FreeBSD mature Github 4.1  
weightadjust random director with dynamically adjustable weights 4.1 5.1 5.2 6.0 6.1 6.2 master FreeBSD mature UPLEX gitlab 4.1 5.1 5.2 6.0 6.1 6.2 master UPLEX
wurfl WURFL by ScientiaMobile (www.scientiamobile.com) gives developers high-performance device detection.   Other mature     ScientiaMobile Inc.
xcounter Custom counter 6.0 6.1 master FreeBSD development Github 6.0 6.1 master  
xkey Xkey (Hash-Two, Surrogate keys) 4.1 FreeBSD mature Github 4.1 Varnish Software
zlib Uncompress request’s body before sending it to the backend. 4.1 BSD 2-Clause development Github 4.1