Connects the panel to a Cloudflare account with an API token and manages zones, DNS records and a few zone settings from there.
An admin saves a token (stored encrypted and verified against Cloudflare before it is accepted); the page then lists zones, reads DNS records live from Cloudflare, and creates, updates and deletes them, alongside the zone's SSL mode, the Always Use HTTPS toggle, and a purge-everything cache purge. A domain owner can instead attach their own zone-scoped token from the domain's DNS Sync tab, which takes precedence over the shared admin token for that domain only. Publishing mirrors the panel's own DNS records into the matching Cloudflare zone and stores the returned record ids back on the panel rows, so re-running updates records in place rather than duplicating them; it also runs automatically when the panel's dns_records_changed event fires.
An optional auto-DNS setting creates an A record pointing at the server's IP when a website is created and removes the matching records when it is deleted. Both hooks are best-effort and swallow their errors, so a Cloudflare problem never blocks website provisioning. The plugin registers itself as a DNS provider, which lets the domains section list it and offer "publish now" without knowing anything Cloudflare-specific. Non-admin users get only three things: whether Cloudflare is configured, their own domains and how each would publish, and publishing one of their own domains. Uninstalling deletes every stored credential. Admins also get the zone's security level with an I'm Under Attack switch, Development Mode, IP Access Rules (IP, CIDR, ASN or country), minimum TLS version, HSTS, caching level and Browser Cache TTL, plus 24-hour, 7-day and 30-day traffic analytics from Cloudflare's GraphQL Analytics API; each needs the matching permission on the token (Zone Settings, Firewall Services, Analytics). Note the scope: it detects whether cloudflared is present but does not configure tunnels, and it does not manage page rules or WAF custom rules.
Availability: Free on every plan, including the Free plan.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/cloudflare/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "cloudflare",
"version": "1.2.3",
"download_url": "..."
}