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:
- Go to the Claim Domain tab in your dashboard console.
- Enter your desired domain name in the input box (e.g.
myproject). - Select your preferred root domain from the dropdown menu (e.g.
.devlink.bond). - Optionally enter your target IP address or CNAME destination (or leave blank to configure later).
- 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. |
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:
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.
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.
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.
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.
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.
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: Bearer <FIREBASE_ID_TOKEN>
Content-Type: application/json
1. Check Domain Availability
Check if a domain name is available for registration.
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.
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.
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.