An append-only stream of human thought, without identity.
Aether is a protocol for a global append-only stream of messages with no authors, no accounts, no central server, and no deletions. Anyone can write. Anyone can read.
This codebase was generated and iterated with LLM-assisted(OpenAI-Codex) development.
aetherd- operator daemon (serve,post,mine,doctor,version)aether- user CLI (timeline,post,status,peers,search,export,count)aether-web- web UI binary with embedded node- custom wire protocol (
HELLO,MESSAGE,SYNC*,ACK,PEERS) - PoW-gated message acceptance
- append-only segmented storage with sealed-segment compression
- peer reputation and abuse controls
- Tor-first transport with onion-service support and optional managed Tor mode
Protocol details: PROTOCOL.md
Implementation status: PROJECT_STATUS.md
Deployment runbook: DEPLOYMENT.md
Prerequisite: Go 1.23+
Build:
go build -o aetherd.exe ./cmd/aetherd
go build -o aether.exe ./cmd/aether
go build -o aether-web.exe ./cmd/aether-webRun one node in dev-clearnet mode:
$env:AETHER_DEV_CLEARNET="true"
$env:AETHER_REQUIRE_TOR="false"
$env:AETHER_LISTEN_ADDR="127.0.0.1:9000"
$env:AETHER_ADVERTISE_ADDR="127.0.0.1:9000"
.\aetherd.exe servePost:
$env:AETHER_DEV_CLEARNET="true"
$env:AETHER_REQUIRE_TOR="false"
$env:AETHER_BOOTSTRAP_PEERS="127.0.0.1:9000"
.\aetherd.exe post "hello"Use Tor-required mode:
AETHER_REQUIRE_TOR=trueAETHER_DEV_CLEARNET=falseAETHER_UI_ALLOWED_ORIGINScan be set to a comma-separated list of trusted external web origins if the UI/API is hosted across origins. Same-origin UI requests and non-browser local tooling do not need this.AETHER_SYNC_TRUST_QUORUM=2or higher enables cross-peer agreement checks for sync metadata before trusting cursor recovery.
Optional managed Tor process:
AETHER_MANAGE_TOR=trueAETHER_TOR_BINARY=tor
If managed Tor is disabled, Tor must already be reachable at:
AETHER_TOR_SOCKS(default127.0.0.1:9050)AETHER_TOR_CONTROL(default127.0.0.1:9051)
aetherd version
aetherd doctor
aetherd mine "message"
aetherd post "message"
aetherd post "<peer:port>" "message"
aetherd servedocker compose -f .\deploy\docker-compose.dev.yml up --build- CI test workflow:
.github/workflows/ci.yml - Tag-triggered release workflow with multi-platform artifacts,
SHA256SUMS,PROVENANCE.json, and keyless Sigstore bundles:.github/workflows/release.yml
Privacy and permanence are goals, not absolute guarantees. Retention depends on archival participation. Review PROTOCOL.md and PROJECT_STATUS.md before production use.