Marketing / project website for AetherSDR — the cross-platform, open-source client for FlexRadio Systems transceivers. Lives at www.aethersdr.com (Cloudflare-hosted).
Design inspired by armbian.com: dark, technical, and feature-forward, using AetherSDR's own palette (deep navy + electric cyan→teal).
index.html The landing page (single page, no build step required)
styles.css All styling (design tokens at the top)
assets/img/ Optimized screenshots, logo, and 3D-spectrum visuals
serve.py Tiny local static server (python3 serve.py → :4321)
scripts/build.py Bundles everything into dist/index.html (self-contained)
python3 serve.py # http://127.0.0.1:4321
# or any static server:
# npx serve .python3 scripts/build.py # writes dist/index.html with CSS + images inlinedDeploys run from GitHub Actions via Wrangler (Direct Upload). Every push to
main stages the site files into _site/ and publishes them to the Pages
project aetherweb. See .github/workflows/deploy.yml.
- Create a Cloudflare API token — Cloudflare dashboard → My Profile → API Tokens → Create Token → Custom token. Permission: Account → Cloudflare Pages → Edit. Scope it to the AetherSDR account.
- Grab the Account ID — Workers & Pages overview (right sidebar).
- Add two repo secrets — GitHub → Settings → Secrets and variables →
Actions:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
- Push to
main(or run the workflow manually). The first run creates theaetherwebPages project and publishes it tohttps://aetherweb.pages.dev.
The zone is already on Cloudflare, so DNS and TLS are automatic:
- Pages project → Custom domains → Set up a custom domain →
www.aethersdr.com. Cloudflare auto-creates the proxied CNAME and provisions the TLS cert. - Redirect the apex — Rules → Redirect Rules: when hostname equals
aethersdr.com, 301 tohttps://www.aethersdr.com(preserving path/query). This replaces the current apex → GitHub redirect. (If you still want a GitHub shortcut, pointcode.aethersdr.comat it instead.)
npx wrangler pages deploy . --project-name=aetherweb --branch=mainAetherSDR is an independent project and is not affiliated with or endorsed by FlexRadio Systems. Content licensed alongside the AetherSDR project (GPL v3).