Varnish ModulesVMODs 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 on how to get your VMOD on the list below. |
VMOD | Description | Docs | License | Status | Link | VCC | Support |
---|---|---|---|---|---|---|---|
abtest | AB Tests value selector | 3.0 | FreeBSD | mature | Github | 3.0 | |
all_healthy | more than one probe or a different backend’s probe | 4.1 master | FreeBSD | mature | Repos | 4.1 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 | GPLv2 | mature | Repos | 4.0 4.1 5.1 | 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 master | FreeBSD | mature | Repos | 4.1 5.0 5.1 5.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 | Public Domain | mature | Repos | 5.2 | UPLEX |
boltsort | boltsort – QueryString params sort | 3.0 4.0 | FreeBSD | mature | Github | 3.0 4.0 | |
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 / peering | master | FreeBSD | mature | Repos | master | UPLEX |
cookie | Cookie | 4.1 | FreeBSD | mature | Github | 4.1 | Varnish Software |
crashhandler | Crashhandler | 3.0 | FreeBSD | mature | Github | 3.0 | |
crypto | asymmetric signatures (RSA, DSA) in VCL | master | FreeBSD | development | Repos | 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 | GPLv2 | mature | Repos | 4.0 4.1 5.1 | 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 | FreeBSD | mature | Repos | 3.0 4.0 4.1 5.0 | 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 | GPLv2 | mature | Repos | 4.1 5.1 | 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 | 4.1 5.0 5.1 5.2 master | FreeBSD | mature | Github | 4.1 5.0 5.1 5.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 |
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 | master | FreeBSD | development | Repos | 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 | |
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. |
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 master | FreeBSD | mature | Repos | 5.0 5.1 5.2 master | UPLEX |
i18n | libvmod-i18n | 3.0 | Other | mature | Github | 3.0 | |
imgdata | imgdata | 3.0 | Other | development | Github | 3.0 | |
ip2location | ip2location | 4.1 | FreeBSD | development | Github | 4.1 | |
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 | QueryString | 4.1 | FreeBSD | mature | Github | 4.1 | |
ratelimit | Ratelimit | 3.0 | FreeBSD | development | Github | 3.0 | |
re | regexp matches and backreferences | 3.0 4.0 4.1 5.0 5.1 5.2 6.0 master | FreeBSD | mature | Repos | 3.0 4.0 4.1 5.0 5.1 5.2 6.0 master | UPLEX |
re2 | access the Google RE2 regular expression engine | 4.1 5.0 5.1 5.2 6.0 master | FreeBSD | mature | Repos | 4.1 5.0 5.1 5.2 6.0 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 master | FreeBSD | development | Repos | 4.1 5.0 5.1 5.2 6.0 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 | |
tbf | Token Bucket Filtering | 4.0 4.1 5.1 | GPLv2 | mature | Repos | 4.0 4.1 5.1 | 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 | |
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 | GPLv2 | mature | Repos | 4.0 4.1 5.1 | 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 master | FreeBSD | mature | Repos | 4.1 5.1 5.2 master | UPLEX |
wurfl | WURFL by ScientiaMobile (www.scientiamobile.com) gives developers high-performance device detection. | Other | mature | ScientiaMobile Inc. | |||
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 |