Free yourname.fluxcast.dev subdomains for developers.
GitOps DNS driven by pull requests, powered by Python + Cloudflare.
This is a sister project of fluxcast, which streams your Linux desktop to a TV via Miracast/WFD, DLNA, or Chromecast. To give back to the community, we hand out free subdomains the same way is-a.dev does, but the whole infrastructure here is pure Python.
- Fork this repo.
- Add one file:
domains/<your-subdomain>.json. - Open a pull request.
- Pass the automated checks, get reviewed, and your DNS goes live within minutes.
Full guide → CONTRIBUTING.md. Info page → sub.fluxcast.dev.
{
"owner": { "username": "your-github-username", "email": "you@example.com" },
"records": { "CNAME": "your-github-username.github.io" }
}domains/*.json ──► pytest validation (CI on every PR)
│ └─ names, records, private-IP filter, ownership, nesting
│
merge to main
│
├──► fluxcast-sync → reconciles records into Cloudflare (publish.yml)
└──► fluxcast-raw-api → publishes raw-api/v2.json to raw.fluxcast.dev
- One JSON file = one subdomain. The
domains/directory is the database. - Validation lives in
src/fluxcast_domains/validation.pyand is shared by the test suite and the sync, so nothing invalid can be published. - The sync is apex-safe. Every record it creates is tagged
managed-by:fluxcast-domains; it only ever touches its own records, so thefluxcast.devlanding page and any hand-made record are never at risk. URLrecords redirect automatically. Cloudflare has noURLrecord type, so an edge worker reads the published registry and serves the redirect. New redirects go live with the merge, nothing to configure.
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q # run the full validation suite
fluxcast-sync --dry-run # preview DNS changes (needs Cloudflare env to apply)
fluxcast-raw-api # regenerate raw-api/v2.jsonPublishing (in CI) needs two secrets:
| Secret | Purpose |
|---|---|
CLOUDFLARE_API_TOKEN |
scoped token: Zone → DNS → Edit (this zone) |
CLOUDFLARE_ZONE_ID |
the fluxcast.dev zone id |
| Path | What |
|---|---|
domains/ |
one JSON per subdomain (the registry) |
util/ |
reserved / internal / trusted / disallowed lists |
src/fluxcast_domains/ |
loader, models, validation, records, sync, raw API |
tests/ |
pytest validation suite |
.github/workflows/ |
CI, publish, raw-api, stale |
Found a *.fluxcast.dev subdomain being misused? Open a
report-abuse issue.
See the Terms of Service.
This service is free and runs on volunteer time. If it is useful to you:
- ⭐ Star this repo — it genuinely helps more developers find the service.
- ☕ Buy me a coffee on Ko-fi =] — covers the domain and keeps the lights on.
Every star and coffee is appreciated. Thank you!
