Skip to content

Guides

Domains & DNS

Add domains, connect Cloudflare with a scoped API token, import records and sync both ways.

Updated Edit this page on GitHub

The Domains & DNS module manages DNS for domains you add — it never touches anything else on your Cloudflare account.

Connect Cloudflare

  1. 1In Cloudflare, create a scoped API token (My Profile → API Tokens → Create Token → *Edit zone DNS* template).
  2. 2Required permissions: Zone → Zone → Read and Zone → DNS → Edit, scoped to the zone(s) you will manage.
  3. 3Paste the token into the panel (Domains & DNS → Connect). The panel verifies the token against Cloudflare, lists the zones it can see, and stores it AES-256-GCM encrypted — it is never shown again (only a fingerprint like ····Fe).

Import & sync

  • Import pulls every existing record of the zone into the panel (with Cloudflare record IDs, proxied state, TTL) so you see exactly what Cloudflare sees.
  • Sync is a diff-based two-way flow: the panel compares local records against Cloudflare and shows you + create, ~ update, − delete — nothing is applied before you confirm.
  • Records are tagged by source: *Cloudflare* (imported), *HipnoType-managed* (created by the panel, carrying a managed comment) and *Local only*.
  • The panel never edits or deletes a record it does not own without your explicit confirmation.

Records the panel needs

When you add a website, the panel shows the exact records it wants (with live verify status):

RecordPurpose
A / AAAA → your VPS public IPPoint the domain at this server
_hipno-challenge TXTOwnership proof for the domain
MX, SPF, DKIM, DMARC (mail only)Mail delivery + anti-spoofing, added when you enable mail on the domain

If the zone is connected to Cloudflare, the panel offers to create and maintain these records for you; otherwise it verifies them with live DNS queries and shows ✓ / ✗ / wrong-value per record.

Validation

Every record is validated before it is stored or sent: CNAME exclusivity, MX targets must be hostnames (not IPs), TXT chunking over 255 characters, TTL limits, duplicate detection and trailing-dot normalisation. Cloudflare errors are shown verbatim when a write is rejected.