Skip to main content

Command menu

Jump to a page or search the catalog

AI Tools & Scripts

Caddyfile Check

Check Caddyfiles and Caddy JSON before you reload: an admin API on 0.0.0.0:2019, tls_insecure_skip_verify, file_server on home or system folders, DNS tokens in the config, tls internal on public domains and .git served.

$5.00

What you get: 1 file · 32.94 KB · ZIP

See purchase options

Product description

admin 0.0.0.0:2019 lets anyone who can reach port 2019 replace your whole Caddy config with no password, and a file_server with no root serves the folder Caddy runs in, .git and .env included. This skill finds those and ten other Caddy config mistakes before you reload or deploy, and tells you how to fix each one.

Your agent runs a scanner on your project: files named Caddyfile (also Caddyfile.prod and similar), .caddyfile and .caddy, and Caddy JSON configs. It reads Caddyfile syntax the way Caddy does: the global options block, snippets and import (also of other files in the folder, so import sites/*.caddy is followed), several addresses per site, a single site without braces, matchers, comments, quoted strings, heredocs and {env.*} placeholders. It follows Caddy's real defaults: the admin API on localhost:2019, no security headers and no HSTS unless you add them, the active Caddyfile hidden from file_server but other dotfiles not. The minimal Caddyfiles from the Caddy documentation and the Docker image's default Caddyfile pass clean. It never runs Caddy or calls its admin API. It returns BLOCK, REVIEW, or NOT FLAGGED, with the file, line, reason, and a safer approach. Secrets are never printed.

What it checks

BLOCK (fix before shipping)

  • C01: the admin API on :2019, 0.0.0.0, a LAN IP or a host name instead of localhost or a unix socket

  • C02: tls_insecure_skip_verify on a reverse_proxy backend, and insecure_secrets_log

  • C03: file_server on /, /etc, /var, a home folder, a .ssh folder or Caddy's own certificate storage

  • C04: DNS provider tokens, API keys, passwords, EAB keys and Authorization headers written in the config

REVIEW (check before release)

  • C11: tls internal, local_certs or a staging ACME CA on a public domain

  • C12: http:// or :80 public sites that serve content, and auto_https off

  • C13: file_server with no root or root . while nothing hides .git and .env

  • C14: CORS that copies any Origin into Access-Control-Allow-Origin with credentials allowed

  • C15: a public site without the security headers the other sites in the config send

  • C16: trusted_proxies set to 0.0.0.0/0 or ::/0

  • C17: log_credentials, which writes cookies and Authorization headers to the access log

  • C18: protocols tls1.0 or tls1.1, which Caddy v2 does not support and refuses to load

What's included

  • The scanner (Python 3.9+, standard library only)

  • A rules guide with the reason and safer approach for each rule

  • A risky and a safe example project (a Caddyfile with imported site files and a Caddy JSON config), and the real report the scanner produces on the risky one

Limits

It reads the config files as written. Values from environment variables (CADDY_ADMIN, {env.*}), command-line flags, config pushed through the admin API, caddy-docker-proxy labels and imports of files outside the scanned folder are not checked, and headers sent by the app behind reverse_proxy are not visible to it. NOT FLAGGED is not a guarantee.

Contents

One ZIP file with 15 files: SKILL.md, the scanner in scripts/ (4 Python files), references/rules.md (every rule with its reason and safer approach), and examples/ (8 example files plus report.md, the real scanner output on the risky example).

How to use: This is an agent skill: a folder with a SKILL.md file and Python scripts that an AI coding agent such as Claude Code, Cursor, or Codex CLI can run. Unzip it into your agent's skills folder (for Claude Code: ~/.claude/skills/), then ask your agent to check your project. The scripts also run on their own with Python 3.9 or newer, with nothing to install. They read your files only: no network access, and nothing is sent anywhere.

What you get

1 file · 32.94 KB

  • caddyfile-check-1.0.0.zipZIP · 32.94 KB

Included in Getly ProGet Pro

LicenseCommercial use allowed
PublishedNov 11, 2026
File size32.94 KB
File formatZIP
Versionv1.0

Tags

caddyweb-servertlssecuritydevopsai agent skill
R
RR HH

Frequently asked questions

Do I get access instantly?

Yes. This is a digital product - you can download it right after checkout, straight from your library.

Can I use it for commercial projects?

Yes. Commercial use is allowed: use it in your own business and in things you sell. You may not resell or redistribute the file itself.

What's your refund policy?

You can request a refund within 30 days. If something isn't right, request it from your order and the Getly team reviews it.

What file formats and sizes will I get?

You'll download 1 file - ZIP - 32.94 KB in total.

Do I get free updates?

Yes - when the seller ships a new version, you can re-download the latest files from your library at no extra cost. Check the changelog for recent updates.

Price

$5.00