HM Domains Logo DOCS
/
GitHub Open Console ↗

HM Domains Documentation

HM Domains is a high-speed, GitHub-verified free domain platform built for developers, indie hackers, and open-source creators.

100% Free Forever: HM Domains provides free DNS management powered by Cloudflare's global Anycast edge network with DDoS protection and zero hosting fees.

⚡ Instant Provisioning

DNS records publish across 300+ global edge locations in under 30 seconds.

🛡️ Anti-Squatting

GitHub developer star verification prevents bot abuse and domain hoarding.

🎛️ Full DNS Control

Manage A, CNAME, TXT, and MX records or delegate NS to your own DNS provider.

Quick Start Guide

Get your free developer domain running in less than 2 minutes:

  • 1

    Sign in with GitHub

    Go to Sign in with GitHub and authenticate with your account.

  • 2

    Star the Repository

    Star our official GitHub repository to confirm your developer status and unlock your domain slots.

  • 3

    Claim your Domain

    Open the Claim Domain tab, enter your desired domain name, choose your root domain, and point it to your IP or hosting provider.

Supported Root Domains

You can register your free domains under any of the following active domain pools:

Domain Pool Category / Best For Status Edge Network
devlink.bond Developer Portfolios, Profiles & Bio Links Active Cloudflare Anycast
sideproject.cyou Side Projects, MVPs & Web Apps Active Cloudflare Anycast
lnkd1.bond Portfolio & Landing Pages Active Cloudflare Anycast
myyportfolio.cyou Developer Resumes & Portfolios Active Cloudflare Anycast

GitHub Account Verification

To keep the platform free, fair, and protected against automated bot scripts, HM Domains requires a one-time star verification:

Keep your Star active: Removing your star from the repository may cause your claimed domain records to freeze or revert back to the available pool.

You can check or re-verify your verification status anytime from the Account Verification console page.

Claiming a Domain

Follow these steps inside your dashboard to claim a new domain:

  1. Go to the Claim Domain tab in your dashboard console.
  2. Enter your desired domain name in the input box (e.g. myproject).
  3. Select your preferred root domain from the dropdown menu (e.g. .devlink.bond).
  4. Optionally enter your target IP address or CNAME destination (or leave blank to configure later).
  5. Click Register Domain. Your DNS records will be live globally in seconds!

Domain Naming Rules

When claiming a domain, your chosen name must follow standard internet host naming rules (RFC 1035):

  • Allowed characters: lowercase letters (a-z), numbers (0-9), and hyphens (-).
  • Length: Minimum 3 characters, maximum 32 characters.
  • Cannot start or end with a hyphen (e.g. -app- is not permitted).
  • Reserved system names (e.g. admin, api, mail, ns1, dns) are reserved for infrastructure security.

DNS Records Management

HM Domains gives you full control to manage custom DNS records directly from your console:

Record Type Target Example Common Usage
A 192.0.2.1 Point your domain to a VPS, dedicated server, or static IPv4 address.
AAAA 2001:db8::1 Point your domain to an IPv6 address.
CNAME cname.vercel-dns.com Alias to Vercel, Netlify, Render, GitHub Pages, or Fly.io.
TXT v=spf1 include:... ~all Domain ownership verification, SPF records, or Google Search Console verification.
MX mail.example.com Configure custom email routing or forwarding for your domain.
DNS Configuration Example (CNAME)
Record Type : CNAME
Name        : @ (root domain)
Target      : username.github.io
TTL         : 3600 (Auto)

Custom Nameserver (NS) Delegation

If you prefer to manage DNS records inside your own Cloudflare account, AWS Route 53, or custom DNS provider, you can delegate your domain using NS records:

Cloudflare Nameserver Delegation Example
Nameserver 1 : adam.ns.cloudflare.com
Nameserver 2 : amy.ns.cloudflare.com

Simply navigate to My Domains → Manage Nameservers, enter your custom nameserver addresses, and save.

SSL & Edge Anycast Network

All traffic routed through HM Domains benefits from automated security:

  • Universal SSL / TLS: HTTPS certificates are provisioned and renewed automatically without manual intervention.
  • Anycast Edge Routing: DNS queries resolve at the closest of over 300 global data centers for maximum speed and sub-30ms response times.
  • DDoS Protection: Automated network layer filtering blocks malicious traffic and layer-7 attacks.

Hosting Guides

Connect your domain to popular hosting platforms with these step-by-step configurations:

Connecting to GitHub Pages

1. In your GitHub repository, create a CNAME file in the root containing your full domain name (e.g. myproject.devlink.bond).

2. In HM Domains dashboard, set a CNAME record pointing to <your-username>.github.io.

DNS Record for GitHub Pages
Type: CNAME
Name: @
Target: username.github.io
TTL: 3600

Connecting to Vercel

1. Go to your Project Settings on Vercel → Domains → Add your domain (e.g. myproject.devlink.bond).

2. In HM Domains console, add a CNAME record pointing to cname.vercel-dns.com.

DNS Record for Vercel
Type: CNAME
Name: @
Target: cname.vercel-dns.com
TTL: 3600

Connecting to Cloudflare Pages

1. In Cloudflare Dashboard, open your Pages project → Custom Domains → Add your domain.

2. In HM Domains console, add a CNAME record pointing to your .pages.dev address.

DNS Record for Cloudflare Pages
Type: CNAME
Name: @
Target: your-project.pages.dev
TTL: 3600

Connecting to Netlify

1. In Netlify Site Configuration → Domain Management → Add custom domain.

2. In HM Domains console, add a CNAME record pointing to your Netlify site URL.

DNS Record for Netlify
Type: CNAME
Name: @
Target: your-site.netlify.app
TTL: 3600

Connecting to a Custom VPS / Dedicated Server

Point your domain directly to your server's static public IPv4 address using an A record.

DNS Record for VPS / Server
Type: A
Name: @
Target: 198.51.100.25 (Your VPS IP)
TTL: 3600

Developer API Reference

Automate domain operations and DNS provisioning using our REST endpoints:

Authentication & Headers

Authenticated requests require a standard Firebase user ID token passed via the Authorization header:

Authorization Header Format
Authorization: Bearer <FIREBASE_ID_TOKEN>
Content-Type: application/json

1. Check Domain Availability

Check if a domain name is available for registration.

POST /api/check-subdomain
curl -X POST https://hmdomains.app/api/check-subdomain \
  -H "Content-Type: application/json" \
  -d '{
    "subdomain": "myproject",
    "domain": "devlink.bond"
  }'

2. Claim / Register Domain

Register a new domain for your authenticated account.

POST /api/request-subdomain
curl -X POST https://hmdomains.app/api/request-subdomain \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <FIREBASE_ID_TOKEN>" \
  -d '{
    "subdomain": "myproject",
    "domain": "devlink.bond",
    "targetIp": "192.0.2.148",
    "type": "A",
    "ttl": 3600
  }'

3. Manage DNS Records

Create, update, or delete DNS records for a domain you own.

POST /api/manage-dns
curl -X POST https://hmdomains.app/api/manage-dns \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <FIREBASE_ID_TOKEN>" \
  -d '{
    "action": "create",
    "subdomain": "myproject.devlink.bond",
    "type": "CNAME",
    "name": "www",
    "content": "portfolio.vercel.app",
    "ttl": 3600
  }'

Acceptable Use Policy

HM Domains is designed to support developers, students, and open-source creators. To keep the network safe and fast for everyone, users must adhere to our usage guidelines:

✅ Allowed & Encouraged

Developer portfolios, side projects, SaaS applications, APIs, open-source documentation, personal blogs, and demo landing pages.

🚫 Strictly Prohibited

Phishing, malware distribution, crypto scams, spam, illegal content, and automated domain squatting.

Zero Tolerance for Abuse: Any domain found hosting malicious content or violating internet safety standards will be terminated immediately without prior notice.

Read our complete legal policy at Acceptable Use Terms.

Frequently Asked Questions

How many domains can I register?

Each verified GitHub user can register up to 2 domains (or higher based on account tier) across any available root domain pools.

How fast do DNS changes take effect?

Updates propagate globally in under 30 seconds across Cloudflare's worldwide Anycast network.

Is SSL / HTTPS included?

Yes. Universal SSL certificates are automatically provisioned and renewed for all active domains with zero setup required.

Can I host commercial and open-source projects?

Yes! Portfolios, side projects, SaaS demos, open-source documentation, and APIs are 100% permitted under our Acceptable Use policy.