Paid plans can attach their own domain to an HTTP/HTTPS tunnel. NiceFRP proves ownership with a DNS TXT challenge; once verified, your domain is written into the generated frpc configuration alongside the platform hostname and starts serving immediately.
Open the Console → Tunnels → open your tunnel → Connect → in the Custom domains section, enter your domain (for example www.example.com) and click Request.
The Console then shows two things:
Name and Value) that proves domain ownership.Add both records at your DNS provider:
| Type | Name | Value |
|---|---|---|
| A / AAAA / CNAME | your domain (e.g. www) | the node's public hostname |
| TXT | _nicefrp-verify.<your domain> | nicefrp-verify=<token shown in the Console> |
Do not use a wildcard TXT record; add one entry per domain. DNS changes can take a few minutes to propagate.
Once the DNS record resolves, go back to the Console and click Verify next to the domain. A successful check changes its status to verified; a mismatch changes it to failed, and you can check the TXT record and verify again.
The verification window is 72 hours. If it expires, the status becomes expired; Remove the domain and request it again.
After verification, re-download the tunnel's frpc configuration — the new file includes your domain in customDomains together with the platform hostname:
frpc -c nicefrp-<tunnel-id>.tomlYour service is now reachable at https://www.example.com.
TLS for HTTPS tunnels is handled automatically by Caddy in front of the node:
You do not upload or manage certificates; just point the domain's DNS at the node.
Clicking Remove in the Console invalidates the domain at the node immediately; a stale frpc configuration that still contains it is rejected. To use the same domain again, repeat the request and verification flow.
failed record can be retried directly).Still stuck? Email support@nicefrp.com.