Sia Docs
GithubDiscordYouTubeBlogsRedditForum
Current
Current
  • Introduction
  • Navigating the V2 Hardfork
    • Things to Know About Sia's Upcoming Fork
    • How to Upgrade: Exchanges
  • Get Started with Sia
    • Learn about Sia
    • Learn about Siacoins
    • Your Sia Seed
    • Siacoin Total Supply
  • Renting
    • About Renting on Sia
    • Installing renterd
      • Linux
        • Debian
        • Ubuntu
        • Other
      • macOS
      • Windows
    • Transferring Siacoins
    • Renting Storage
      • Managing your Files
  • Hosting
    • About Hosting on Sia
    • Installing hostd
      • Linux
        • Debian
        • Ubuntu
        • Other
      • Docker
      • macOS
      • Windows
    • Transferring Siacoins
    • Adding Storage
    • Configuring your Host
      • Dynamic DNS
        • DuckDNS
        • Cloudflare
    • Announcing your Host
  • Wallet
    • Your Sia Wallet
    • Setting up walletd
      • macOS
      • Windows
      • Linux
    • Transferring Siacoins
  • Testnet
    • Zen Testnet
  • Sia Integrations
    • Sia Ledger app with Sia Central
    • Sia Ledger Nano app with CLI
    • S3 Integrations
      • Jellyfin
      • Nextcloud
      • rclone
  • Siafunds
    • Learn about Siafunds
    • Withdrawing Siafunds
    • SEC Settlement
  • Miscellaneous
    • Brand Guidelines
    • Get Involved
    • Glossary
Powered by GitBook
On this page
  • Things you'll need
  • Add your domain to Cloudflare
  • Get your Zone ID
  • Create an API token
  • Configure hostd

Was this helpful?

Edit on GitHub
  1. Hosting
  2. Configuring your Host
  3. Dynamic DNS

Cloudflare

Learn how to set up dynamic DNS in hostd with Cloudflare

PreviousDuckDNSNextAnnouncing your Host

Last updated 1 year ago

Was this helpful?

Cloudflare DNS is a globally distributed, fast, secure, and free Domain Name System (DNS) service that offers top-level domain resolution with robust security features and increased site performance. This guide will walk you through setting up Cloudflare for DDNS in hostd.

Things you'll need

  • A registered domain name (Cloudflare, NameCheap, GoDaddy, Google Domains)

  • Basic familiarity with DNS

  • A running hostd node

  • A Cloudflare account

This guide assumes that you already have a domain registered and can change its nameservers to Cloudflare.

Add your domain to Cloudflare

Once you've logged into Cloudflare, it's time to add your domain. If your domain is already added, skip to the next step. The site may look slightly different if your account already has a domain. To start the process, click the "Add Site" button.

When adding the site, you will be asked which plan you would like. At the very bottom, select the Free plan since we only need DNS.

Add DNS records for your host. We will be using myfamoushost.sia.tools for this guide.

  1. For IPv4, add an "A" record.

  2. For IPv6, add an "AAAA" record.

  3. Toggle "Proxy" off. Sia uses a custom TCP protocol that cannot be proxied by Cloudflare.

  4. Click "Save"

Follow the remaining steps on Cloudflare's website to change your domain's nameservers to Cloudflare. Wait until the nameserver change is confirmed and the site is active in Cloudflare.

Get your Zone ID

On the website Dashboard in the right-hand column is your domain's "Zone ID." Copy the Zone ID for later.

Create an API token

Next, we need to create an API token for Cloudflare. An API token allows hostd to access your Cloudflare DNS without needing your email or password.

  1. Click the account icon in the top right corner of the page.

  2. Click "My Profile" in the dropdown.

  3. Click "API Tokens" in the sidebar on the left

  4. Click "Create Token"

We will now create a token with only write access to the zone we created. In the API token templates click "Use Template" next to "Edit zone DNS."

Under "Permissions," make sure that the token has the "Edit" permission on the DNS. Under "Zone Resources," make sure to "Include" the "Specific Zone" and select the domain we just added. Since you likely have a dynamic IP, leave "Client IP Address Filtering" blank. TTL is optional, but you will need to remember to create a new token, or your DDNS will break.

Once you have set the permissions, click "Continue to summary." On the summary screen, double-check that the token has DNS Edit access to the Zone we just added and click "Create". The token will be displayed on your screen. Copy the token now. Once you leave the page, it will not be shown again.

Configure hostd

It's finally time to configure hostd and enable DDNS.

  1. Access the hostd UI, http://localhost:9980 by default

  2. Click the "Configuration" icon in the sidebar

  3. Change the "Address" field to the domain name you set up. (e.g. myfamoushost.sia.tools:9982)

  1. Scroll to the "DNS" section

  2. Change "Dynamic DNS Provider" to "Cloudflare"

  3. Turn on IPv4 and/or IPv6, depending on your setup

  4. In the "Token" field copy the API token we created

  5. In the "Zone ID" field copy the Zone ID

If you changed the settings correctly, you should see "Dynamic DNS enabled" in the top status bar. You will also need to announce your new net address so renters will be able to connect. hostd will now update your Cloudflare DNS record when your IP address changes.

To get your current public IP go to .

https://icanhazip.com
Cloudflare Dashboard
Select Free plan
Add a new record
Cloudflare Zone ID
Cloudflare "Create Token" button
Cloudflare token template
Cloudflare token permissions
A new API token