Custom domain DNS for navo.im
This file is for maintainers. It is hidden from the site nav.
GitHub Pages
- Repo Settings → Pages
- Source: Deploy from a branch
- Branch:
main, folder:/docs - Custom domain:
navo.im - Enable Enforce HTTPS after DNS verifies
Custom domain is active when:
docs/CNAMEcontains the primary host (currentlywww.navo.im; apexnavo.imshould redirect to it)_config.ymlhasurl: "https://www.navo.im"andbaseurl: ""(never/Navowith a custom domain — that breaks CSS/images)aux_links/ footer paths are root-relative (/download.html, not/Navo/...)- DNS is configured as below and Enforce HTTPS is enabled in Pages settings
DNS records
At your DNS host, point the apex (and optionally www) to GitHub Pages:
Apex navo.im (A records)
| Type | Name | Value |
|---|---|---|
| A | @ | 185.199.108.153 |
| A | @ | 185.199.109.153 |
| A | @ | 185.199.110.153 |
| A | @ | 185.199.111.153 |
Optional www (CNAME)
| Type | Name | Value |
|---|---|---|
| CNAME | www | navomessenger.github.io |
After DNS
- Wait for GitHub Pages to show domain as verified + HTTPS active.
- Confirm
https://navo.im/,/download.html,/privacy.html,/terms.html. - Align Play Store / About website URLs to
https://navo.im. - Preview without custom domain:
https://navomessenger.github.io/NavoMessenger/(may redirect once CNAME is active).
Theme wallpaper API (api.navo.im)
The theme share page (/theme) loads Telegram cloud wallpapers via a Cloudflare Worker (workers/theme-bg), not through GitHub Pages.
Why a separate host
www stays on GitHub Pages. The Worker needs a Cloudflare-proxied hostname so it can fetch t.me/bg/…, cache the og:image URL, and 302 to the CDN.
Setup
- Put the
navo.imzone on Cloudflare (nameservers), or at least manageapithere. - Keep marketing site records as above (
www→navomessenger.github.io; apex A → GitHub if desired). Do not orange-cloudwwwif you want GitHub Pages to terminate TLS as today — grey-cloud CNAME to GitHub is fine; onlyapimust be proxied by Cloudflare. -
Deploy the Worker:
cd workers/theme-bg npm install npx wrangler login npx wrangler deploy - Attach custom domain
api.navo.imto Workernavo-theme-bg(Dashboard → Triggers → Custom Domains), or uncomment theroutesentry inworkers/theme-bg/wrangler.jsoncand redeploy. -
Verify:
curl -sI "https://api.navo.im/bg?name=IbEJCGueIFeNBAAAMWq_kDGNQ7I" # HTTP/2 302 + Location: https://cdn….telesco.pe/…
Until api.navo.im is live, /theme falls back to public CORS proxies (slower).