99 available plugins
scgi-transport
latest
Elegant996
http.reverse_proxy.transport.scgi facilitates SCGI communication.
caddy-authelia
latest
HeavenVolkoff
http.handlers.authelia implements a plugin for securing routes with authentication
flagr
latest
RussellLuo
ratelimit
latest
RussellLuo
http.handlers.rate_limit implements a handler for rate-limiting.
requestbodyvar
latest
RussellLuo
http.handlers.request_body_var implements an HTTP handler that replaces {http.request.body.*}
with the value of the given field from request body, if any.
olaf
latest
RussellLuo
caddy-webhook
latest
WingLim
http.handlers.webhook is the module configuration.
caddy-exec
latest
abiosoft
exec is top level module that runs shell commands.
caddy-hmac
latest
abiosoft
http.handlers.hmac implements an HTTP handler that
validates request body with hmac.
caddy-json-parse
latest
abiosoft
http.handlers.json_parse implements an HTTP handler that parses
json body as placeholders.
caddy-json-schema
latest
abiosoft
caddy-named-routes
latest
abiosoft
caddy-yaml
latest
abiosoft
caddy-supervisor
latest
baldinof
cloudflare
latest
caddy-dns
dns.providers.cloudflare wraps the provider implementation as a Caddy module.
digitalocean
latest
caddy-dns
dns.providers.digitalocean wraps the provider implementation as a Caddy module.
googleclouddns
latest
caddy-dns
dns.providers.googleclouddns lets Caddy read and manipulate DNS records hosted by this DNS provider.
lego-deprecated
latest
caddy-dns
dns.providers.lego_deprecated is a shim module that allows any and all of the
DNS providers in go-acme/lego to be used with Caddy. They must
be configured via environment variables, they do not support
cancellation in the case of frequent config changes.
Even though this module is in the dns.providers namespace, it
is only a special case for solving ACME challenges, intended to
replace the modules that used to be in the now-defunct tls.dns
namespace. Using it in other places of the Caddy config will
result in errors.
This module will eventually go away in favor of the modules that
make use of the libdns APIs: https://github.com/libdns
openstack-designate
latest
caddy-dns
dns.providers.openstack-designate wraps the provider implementation as a Caddy module.
cache-handler
latest
caddyserver
http.handlers.cache declaration.
jsonc-adapter
latest
caddyserver
nginx-adapter
latest
caddyserver
ntlm-transport
latest
caddyserver
http.reverse_proxy.transport.http_ntlm proxies HTTP with NTLM authentication.
It basically wraps HTTPTransport so that it is compatible with
NTLM's HTTP-hostile requirements. Specifically, it will use
HTTPTransport's single, default *http.Transport for all requests
(unless the client's connection is already mapped to a different
transport) until a request comes in with an Authorization header
that has "NTLM" or "Negotiate"; when that happens, NTLMTransport
maps the client's connection (by its address, req.RemoteAddr)
to a new transport that is used only by that downstream conn.
When the upstream connection is closed, the mapping is deleted.
This preserves NTLM authentication contexts by ensuring that
client connections use the same upstream connection. It does
hurt performance a bit, but that's NTLM for you.
This transport also forces HTTP/1.1 and Keep-Alives in order
for NTLM to succeed.
It is basically the same thing as
[nginx's paid ntlm directive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm)
(but is free in Caddy!).
replace-response
latest
caddyserver
http.handlers.replace_response manipulates response bodies by performing
substring or regex replacements.
transform-encoder
latest
caddyserver
caddy-authz
latest
casbin
caddy-openapi
latest
chukmunnlee
caddy-geofence
latest
circa10a
http.handlers.geofence implements IP geofencing functionality. https://github.com/circa10a/caddy-geofence
coraza-caddy
latest
corazawaf
caddy-quantity-limiter
latest
cubic3d
http.handlers.quantity_limiter limits the number of successful requests for a token and allows the counter to be reset.
caddy-elastic-encoder
latest
firecow
caddy-forward-auth
latest
firecow
caddy-hcl
latest
francislavoie
caddy-tlsredis
latest
gamalan
caddy.storage.redis contain Redis client, and plugin option
gbox
latest
gbox-proxy
caddyv2-upload
latest
git001
Middleware implements an HTTP handler that writes the
uploaded file to a file on the disk.
caddy-security
latest
greenpau
http.authentication.providers.authorizer authorizes access to endpoints based on
the presense and content of JWT token.
caddy-trace
latest
greenpau
http.handlers.trace is a middleware which displays the content of the request it
handles. It helps troubleshooting web requests by exposing headers
(e.g. cookies), URL parameters, etc.
http.handlers.teapot implements a static "418 I'm a teapot" response to all requests on the route
caddy-crowdsec-bouncer
latest
hslatman
crowdsec is a Caddy App that functions as a CrowdSec bouncer. It acts
as a CrowdSec API client as well as a local cache for CrowdSec decisions,
which can be used by the HTTP handler and Layer4 matcher to decide if
a request or connection is allowed or not.
caddy-openapi-validator
latest
hslatman
http.handlers.openapi_validator is used to validate OpenAPI requests and responses against an OpenAPI specification
caddy-trojan
latest
imgk
admin.api.trojan is ...
caddy-s3-proxy
latest
lindenlab
http.handlers.s3proxy implements a proxy to return, set, delete or browse objects from S3
caddy-requestid
latest
lolPants
http.handlers.request_id implements an HTTP handler that writes a
unique request ID to response headers.
caddy-docker-proxy
latest
lucaslorentz
caddy-dynamicdns
latest
mholt
dynamic_dns is a Caddy app that keeps your DNS records updated with the public
IP address of your instance. It updates A and AAAA records.
caddy-ratelimit
latest
mholt
http.handlers.rate_limit implements rate limiting functionality.
If a rate limit is exceeded, an HTTP error with status 429 will be
returned. This error can be handled using the conventional error
handling routes in your config. An additional placeholder is made
available, called `{http.rate_limit.exceeded.name}`, which you can
use for logging or handling; it contains the name of the rate limit
zone which limit was exceeded.
caddy-webdav
latest
mholt
http.handlers.webdav implements an HTTP handler for responding to WebDAV clients.
caddy-ssh
latest
mohammed90
ssh is the app providing ssh services
caddy-conneg
latest
mpilhlt
http.matchers.conneg matches requests by comparing results of a
content negotiation process to a (list of) value(s).
Lists of media types, languages, charsets, and encodings to match
the request against can be given - and at least one of them MUST
be specified.
OPTIONAL parameters are strings for identifying URL query string
parameter keys that allow requests to override/skip the connection
negotiation process and force a media type, a language, a charset
or an encoding.
Some shorthand values for query string parameters translating to
full media types (languages, encodings, etc.) are hardcoded in a
variable called `aliases`: They presently cover `htm` and `html` for
`text/html`, `rdf` for `application/rdf+xml`, `tei` and `xml` for
`application/tei+xml`, and `pdf` for `application/pdf`. For instance,
if `force_type_query_string` is set to `format`, a request uri
ending in `foo.com?format=tei` will result in content type
`application/tei+xml` and then succeed or not based on whether that
content type is listed in `match_types`.
COMPATIBILITY NOTE: This module is still experimental and is not
subject to Caddy's compatibility guarantee.
caddy-pirsch-plugin
latest
muety
caddy-remote-host
latest
muety
http.matchers.remote_host matches based on the remote IP of the
connection. A host name can be specified, whose A and AAAA
DNS records will be resolved to a corresponding IP for matching.
Note that IPs can sometimes be spoofed, so do not rely
on this as a replacement for actual authentication.
influx_log
latest
neodyme-labs
user_agent_parse
latest
neodyme-labs
caddy-maxmind-geolocation
latest
porech
Allows to filter requests based on source IP country.
caddy-tlsconsul
latest
pteich
caddy.storage.consul allows to store certificates and other TLS resources
in a shared cluster environment using Consul's key/value-store.
It uses distributed locks to ensure consistency.
caddy-geo-ip
latest
shift72
Allows looking up the Country Code of an IP address based on the Maxmind database
caddy.storage.dynamodb implements certmagic.Storage to facilitate
storage of certificates in DynamoDB for a clustered environment.
Also implements certmagic.Locker to facilitate locking
and unlocking of cert data during storage
caddy2-filter
latest
sjtug
http.handlers.filter implements an HTTP handler that writes the
visitor's IP address to a file or stream.
caddy-s3browser
latest
techknowlogick
certmagic-s3
latest
techknowlogick
caddy-dns-linode
latest
tosie
dns.providers.linode wraps the provider implementation as a Caddy module.
caddy-basic-auth-filter
latest
ueffel
caddy-brotli
latest
ueffel
http.encoders.br can create brotli encoders.
caddy-imagefilter
latest
ueffel
caddy-tls-format
latest
ueffel
caddy.logging.encoders.filter.tls_cipher is Caddy log field filter that replaces the numeric TLS cipher_suite value with
the string representation.
http.handlers.gopkg implements vanity go package import paths.
Vanity go package import paths give a cleaner appearance to go projects by separating the source code location from
the import path. It also gives flexibility to developers by allowing them to change a project's source code hosting
platform without requiring the project to be renamed. Finally, it allows projects hosted on various platforms to be
grouped under a common import path.
caddy-opentracing
latest
n0trace
Enable requests served by caddy for distributed tracing via The OpenTracing Project.
caddy
caddy-plugin
caddy-module
opentracing
trace
zipkin
tracing
distributed-tracing
jaeger
caddy-imagefilter
v1.2.0
ueffel
Caddy module to transform images from the file system in various ways.
caddy
caddyserver
caddy-module
caddy-mwcache
v0.0.4
femiwiki
:wrench: Caddy anonymous cache plugin for MediaWiki
cache
plugin
caddy-plugin
caddy-module
mediawiki
caddy
caddy2
caddy-authorize
v1.3.24
greenpau
Authorization Plugin for Caddy v2 (JWT/PASETO)
caddy
caddy-plugin
jwt
jwt-authentication
authorization
caddyfile
caddy2
caddy-module
rbac
paseto
caddy-auth-portal
v1.4.39
greenpau
Authentication Plugin for Caddy v2 implementing Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google, Facebook, Okta, etc.), SAML Authentication. MFA with App Authenticators and Yubico.
caddy2
caddy
caddy-plugin
caddy-module
authentication
authentication-middleware
authentication-backend
jwt
jwt-tokens
ldap-authentication
ldap-authentication-backend
ldap
authentication-portal
user-registration
user-identity
oauth2
openid-connect
saml
github-authentication
facebook-login