Censorship-Resistant "reverse-Nextcloud" for Identity-Free Web Publishing
Published by Weisser Zwerg Blog on
From “Protect My Files” to “Publish My Thoughts Without a Landlord”
Rationale
I have been thinking for some time about how to copy, in the digital world, the simple act of putting a stack of paper flyers in a public place where anyone can pick them up. In the real world you can do this without readers ever knowing who wrote the text, as long as you do not put your name on the paper. I would like something similar to be possible online.
This idea mainly serves minority opinions and dissident blogs, but it also has a second goal: to put ideas at the center of the conversation and make ad-hominem attacks harder. Readers should judge what is written, not who wrote it.
From a reader’s perspective, this system would feel like a censorship-resistant decentralized Substack without a landlord, hosted in people’s homes. From a creator’s perspective, it would feel like a self-hosted, turned-inside-out, reverse-Nextcloud box for censorship-resistant, identity-free hosting that publishes your thoughts instead of hiding your files. It is basically a step from Nextcloud to “Broadcastcloud”: it flips self-hosting Nextcloud inside out in the same way a reverse proxy flips the role of a normal proxy.
With a normal proxy, your client hides behind a server to reach the outside world. With a reverse proxy, the server hides behind a front-end that faces the public internet. In a similar way, this “Broadcastcloud” idea lets your home server hide behind a network of front-end gateways, while still publishing your content to the open web.
In this blog post I will outline a technical approach for how censorship-resistant dissident blogs could live on anonymous home appliances, using tools like Nym, NymVPN, and a DAO-style naming and payment layer.
Here are some helpful additional resources:
- Nym Docs
- Uncloud Ingress & HTTPS and cluster domain in Uncloud DNS (<id>.cluster.uncloud.run).
- Digital Decentralized Autonomous Organization (DAO)
- Censorship-resistant domain name: ENS (.eth), Handshake (HNS), Unstoppable Domains (UD), 3DNS
- PeerTube
- Privacy-preserving payment: Monero, Zano, zk-style payments, or Nym-style anonymous credentials
Caveat
Just to be clear up front: the Nym mixnet does not support hidden services today, and the Nym team has explicitly said they are not currently planning to support them, according to a thread in the Nym forum from April 2025:
Hidden Services - We’re not currently planning to support hidden services, but that could change in the future.
By “hidden services” I mean something similar to Tor onion services or I2P eepsites: services where the server’s IP address is never exposed.
Right now, only Tor onion services and I2P eepsites offer this kind of publisher anonymity out of the box.
Even so, I still believe that the Nym mixnet is closer to what I have in mind than Tor or I2P. The reasons are:
- It has built-in incentives for participation, so node operators are rewarded for relaying traffic.
- It already includes privacy-preserving payment primitives, which can be used to pay node operators without deanonymizing users.
- It focuses on strong traffic analysis resistance and other advanced privacy techniques that go beyond a simple VPN or single-hop proxy.
What I describe in this post should therefore be read as a conceptual extension of Nym - a way Nym-style ideas and incentives could be used to support anonymous publishing in the future, not a description of what the current Nym network already does today.
Vision
Instant Clarity Headline
Publish a censorship-resistant, Substack-style blog from your home server in under an hour - without domain-registrar headaches, without leaking your identity, and without any hosting landlord.
Elevator Pitch
I’m imagining a DAO-run publishing utility that turns your home server into an anonymous origin for the public web. You host your site at home, but publish it to the public web through a global Nym-style mixnet. Readers just click a normal HTTPS link; a pool of volunteer/paid gateways with real IPs serve your pages and pull the content back over the mixnet, so your home IP stays hidden. You keep your origin on your own hardware, pay operators privately with privacy-preserving digital cash, and rent human-readable names from the DAO that auto-expire if you stop paying. Think of it as Uncloud’s ingress layer plus Nym-style indirection and DAO incentives. In short: Uncloud-meets-Nym, built for censorship-resistant, identity-free blogging.
One‑Minute Talk Track
We’re building a DAO-run publishing utility that turns your home server into an anonymous origin for the public web. Your machine never accepts inbound traffic; it only opens outbound connections into a Nym-style mixnet. On the other side of that mixnet is a global pool of Nym nodes acting as reverse-proxy gateways with public IPs - the “front doors” for your site. Those gateways serve your site over normal HTTPS and pull the content back over the mixnet, so nobody ever sees your home IP. Readers just click a normal HTTPS link and get your content, but the gateways only know “service X,” not where it physically runs.
You pay these gateways Nym-style using privacy-preserving payments for egress and uptime, and you lease a readable name from the DAO for a small fee that auto-cleans if you stop renewing, so there’s no dead clutter. Think of it as Uncloud’s public ingress plus Nym-style indirection and Nym-style incentives, powered by privacy coins: CDN-like speed for static and simple dynamic sites, but with origin anonymity by design, while the user experience stays just like the web we already know.
Requirements
Access & UX
- Low friction for readers: ideally loads in a normal browser; mobile works; readable on slow networks.
- Human-memorable link: short URL, QR code, or a mapped domain name / name system.
- The idea is that the DAO offers a simple, memorable pattern like
your-site.dao.run(or whatever the DAO’s root is), so technical and non-technical readers can just click a normal-looking link and reach your content without learning a new naming system. - In practice, the DAO would register
<your-site>handles and bind them to a shared root domain, so it feels familiar, for example:your-site.substack.comyour-site.uncloud.runyour-site.braveyour-site.wordpress.comyour-site.medium.comyour-site.github.io
- The shared root domain would need to use itself one of the censorship-resistant domain name systems mentioned above and the fees generated from publishers would need to cover the costs for that censorship-resistant shared root domain.
- The idea is that the DAO offers a simple, memorable pattern like
- Integrity: a way for readers to verify “this is the exact flyer I published” (for example, via signed content hashes or a signed manifest exposed by the publisher’s appliance).
Anonymity & privacy
- Author anonymity: no account/identity leakage; publishing happens over a privacy network (Tor onion services, I2P eepsites, or a Nym-style mixnet) with care taken to avoid linkable metadata.
- Payment privacy: the ability to pay if needed without linking identity to storage or to a specific gateway (e.g., Monero, Zano, zk-style payments, or Nym-style anonymous credentials).
- Monero - A privacy coin where all transactions are private by default. It hides sender, receiver, and amount using ring signatures, stealth addresses, and RingCT.
- Zano - A privacy-focused layer-1 chain that supports confidential transactions and confidential assets (user-created tokens) using hidden addresses and hidden amounts, aimed at dApps as well as payments.
- zk-style payments (e.g., Zcash) - Payments that use zero-knowledge proofs (zk-SNARKs) so a transaction can be verified without revealing sender, receiver, or amount on-chain. In Zcash, these are “shielded” transactions.
- Nym-style anonymous credentials (zk-nyms) - Not a coin, but anonymous access tokens issued after you pay. You prove that you paid (using zero-knowledge credentials) but the service cannot link your usage back to your wallet or your original payment.
- Metadata minimization: avoid logs and centralized chokepoints that collect IPs; split knowledge so no single party can map “this IP” to “this content.”
Censorship resistance & durability
- Hard to block, easy to mirror: multi-homing across several networks and gateways, so blocking one domain, IP range, or country does not silence the content.
- DDoS resilience: multiple gateways, anycast-style routing, caching, and optionally peer-to-peer swarms or onion-service-style load-balancing patterns (e.g., Onionbalance-like concepts) instead of a single choke point.
- Persistence (optional): content can remain available via caches or mirrors even if the original publisher’s home appliance goes offline, with clear rules about what is “pinnable” and what should disappear.
Update model
- Publisher-controlled changes: only the person controlling the home appliance (or their keys) can publish or update content; gateways and the DAO cannot edit posts.
- Versioning and history (optional): the system should support optional versioning (e.g., previous content hashes or snapshots) so that advanced users can verify what changed over time, or archive older “flyers” if they want.
- Retraction semantics: when a publisher “unpublishes” something, the name mapping should stop pointing to it, even if some caches still hold old copies.
Governance / DAO flavor
- Name registry and leases: the DAO manages the mapping from human-readable names to services (origins), using small recurring fees as “leases” that auto-expire to prevent name squatting and dead clutter.
- Operator incentives and onboarding: the DAO defines how gateway and mixnet operators are rewarded (e.g., per egress, uptime, or quality of service) and how they join/leave the network, possibly including basic attestation or bonding.
- Minimal, transparent policy: governance focuses on technical and economic rules (fees, incentives, upgrades) and a minimal abuse policy, not editorial control over content; any policy changes should be transparent and, ideally, on-chain.
- Upgradability: the DAO can vote on protocol upgrades (e.g., new transport modes, better anonymity settings, different fee curves) so the system can evolve without any single company or operator being in charge.
Extensions (Optional)
Ideally, the system would also work for PeerTube-style censorship-resistant, identity-free video publishing. You could still host the original video files at home, but use the gateways as the public entry point. For performance, the publishers would pay node operators for caching video data and serving it closer to viewers. Edge nodes could cache or “pin” large files by content hash and signed manifests, so viewers get fast playback without ever touching your home IP. Dynamic parts such as search or comments would still go through the same reverse-pull tunnel, while heavy live streaming would benefit from pre-replication or chunked delivery policies.
Video is bandwidth-heavy and latency-sensitive, so a pure “all traffic through my home uplink” approach does not scale well. By allowing gateways (or specialized cache nodes) to store verified chunks of your videos, you can keep the origin anonymous while still reaching many viewers efficiently.
The system could also offer a way to proxy SMTP mail (MTA-to-MTA) so readers can contact authors via normal e-mail, while authors still run their own mail stack on their home server. For example, you could run something like Mailu (Postfix/Dovecot/Rspamd/RainLoop) locally, and let the publishing network handle MX records, TLS, and delivery from privacy-preserving gateway IPs.
In this model, the gateways act as public-facing mail exchangers: they accept mail for
me@your-site.dao.run, then forward it over the privacy network to your home MTA. Outbound mail can be sent the same way in reverse, so your personal IP never appears in SMTP logs orReceived:headers, while still playing nicely with SPF, DKIM, and DMARC.
It would also be nice if the system could support a decentralized, Usenet-style newsgroup layer, where each publisher can host newsgroups related to their content and enable anonymous discussions. Readers could subscribe to these groups using existing NNTP or web clients, but messages would be distributed over the same privacy-preserving infrastructure.
Think of this as “comment threads as newsgroups”: each blog or channel exposes one or more topic-focused groups, and users post messages that are replicated across participating nodes. This keeps discussion decentralized and harder to censor, without forcing everyone into a single centralized comment platform.
The system could also offer an optional “extra pinning” layer for people who are worried about TLS tampering. The DAO registry could publish the expected TLS key fingerprints for your-site.dao.run, and an optional browser extension could check that the certificate your browser sees matches what the DAO says is correct. Normal readers would just use HTTPS as usual, but power users (journalists, activists, paranoid nerds) could turn on the extension for an extra check that they are really talking to the intended gateway and not a fake front controlled by an attacker.
This is a bit like certificate pinning: the browser still trusts the normal Web PKI, but the extension asks the DAO “what key should this site be using?” and warns if there is a mismatch. It doesn’t replace Let’s Encrypt or other CAs, but it gives an extra layer of assurance for those who care most about state-level attacks or targeted man-in-the-middle attempts.
The gateways could also support Encrypted Client Hello (ECH) as an extra hardening layer against hostname-based blocking.
In this design, you don’t just have one gateway IP, but a whole fleet of Nym-style gateways, all serving many different sites under the same *.dao.run root domain.
With ECH, the part of the TLS handshake that normally leaks the hostname (SNI) is encrypted, so an observer just sees “someone is talking HTTPS to a dao.run gateway,” not which specific blog or channel they are visiting.
In practice, a censor would have to block the whole gateway IP range if they really wanted to interfere, and it becomes much harder to surgically block just your-site.dao.run while leaving other sites on the same gateway fleet untouched.
In today’s TLS, the Server Name Indication (SNI) is sent in cleartext, which makes domain-level blocking and fingerprinting easy. ECH wraps that ClientHello (including the SNI) in encryption, using keys published via DNS, so only the gateway and the browser know the real target name. Because many publishers share the same gateway fleet and the same root domain, all TLS handshakes look very similar from the outside. ECH makes it much harder for a censor to say “block only
your-site.dao.run” without also hitting many other unrelated sites, and it hides what you’re reading even if you are not using a VPN or Tor.
A Friendly Spec for Anonymous Publishing over MIX‑5 and WG‑2
(How to turn the “reverse‑Nextcloud” vision into something Nym‑practical - with help from Uncloud)
Context: This is a concept spec. Nym’s mixnet does not ship “hidden services” today. What follows is a pragmatic way how Nym‑style ideas (incentives, credentials, traffic‑analysis resistance) could power a reader‑friendly, origin‑anonymous publishing layer.
What we’re building (in one paragraph)
A DAO‑run publishing utility that lets creators keep their site at home while a fleet of Nym‑style gateways with public IPs serves it to the normal web.
The home box never opens inbound ports; it dials out through the Nym mixnet.
Readers click ordinary HTTPS links like your-site.dao.run.
Gateways pull your content over the privacy network and deliver it fast.
Payments are privacy‑preserving; names are leased and auto‑expire.
We support two transports:
- MIX‑5 (5‑hop mixnet[1]) for maximum anonymity, and
- WG‑2 (2‑hop WireGuard mode[2]) for high‑throughput use cases like video.
TLS posture by default: End‑to‑end TLS (passthrough) is the default. Gateways do not terminate TLS unless you explicit opt-in for edge caching on a static content host (e.g.,
cdn.your-site.dao.run). When you do terminate at the edge, you may enable today’s ECH for hostname privacy against on‑path observers.
Roles & responsibilities
Publisher Agent (home appliance)
- Runs on the creator’s home server/NAS/RPi.
- Maintains outbound connections to the Nym network (no inbound).
- Exposes upstream services (HTTP/WS; optional SMTP/LMTP, IMAP/Submission).
- Speaks two adapters:
Mix5Adapterfor MIX‑5 reliable streams (strongest privacy).Wg2Adapterfor WG‑2 QUIC/H2 streams (best performance).
- Signs releases (manifests) for cache integrity; rotates keys; attaches anonymous vouchers for metering.
Publishing Gateways (fleet with public IPs)
- Reverse‑proxy front doors that serve ordinary HTTPS to readers.
- Resolve Name → ServiceID → Policy via the DAO.
- Pull from Publisher Agent over MIX‑5 or WG‑2; choose per‑route (e.g.,
cdn.your-site.dao.run/video/*→ WG‑2,your-site.dao.run/login/*→ MIX‑5). - Default: L4 passthrough (TLS end‑to‑end to the origin).
- Opt‑in static hosts: terminate TLS, enable ECH, cache/pin by content hash.
- Optional mail MX/Submission fronting; DDoS controls; metering with unlinkable vouchers.
DAO Registry (control plane)
- Owns the namespace (e.g.,
*.dao.run) and leases human‑readable handles. - Stores descriptors:
ServiceID (pubkey),RendezvousSet (preferred gateways),TransportPolicy,TLS pin (optional), and DNS bundle (A/AAAA/MX/TXT). - Sets operator incentives and payout rules; supports upgrades via votes.
Two Transport Modes (pick per path)
| Mode | Intent | What it hides | What it costs | Good for |
|---|---|---|---|---|
| MIX‑5 (5‑hop mixnet) | Max anonymity | Link between origin & gateway; adds cover & delay | More latency/overhead | Articles, comments, simple APIs |
| WG‑2 (2‑hop WireGuard) | Performance | Splits knowledge across entry/exit; smaller anonymity envelope | Lower latency, higher throughput | HLS/DASH video, large downloads, streaming |
Per‑route policy examples
routes:
- host: "your-site.dao.run" # default = passthrough (end-to-end TLS)
path: "/"
transport: MIX-5
cache: no-store
- host: "cdn.your-site.dao.run" # explicit opt-in for edge caching
path: "/*"
transport: WG-2
tls_termination: gateway
ech: enabled
cache: public, immutable, content-hash
End‑to‑End Flow (reader → gateway → origin)
Default (passthrough, end‑to‑end TLS):
- Reader →
https://your-site.dao.run→ Gateway (L4 passthrough). - Gateway resolves name in DAO and forwards raw TCP/QUIC to the Publisher Agent over MIX‑5 or WG‑2.
- TLS terminates on the Publisher Agent, not at the gateway. Dynamic data (forms, logins) stays confidential end‑to‑end.
Opt‑in static host (edge termination + ECH):
- Reader →
https://ecn.your-site.dao.run→ Gateway. - Gateway terminates TLS (may enable ECH), serves cached assets, and optionally pins by content hash.
- Great for assets and video segments; no secrets should flow through this hostname.
Why the split? Passthrough-by-default prevents config mistakes and keeps dynamic data end‑to‑end encrypted. When you want CDN‑like behavior, you declare it explicitly on a separate host and may layer ECH on top to hide the exact hostname from on‑path observers.
Naming, Integrity & TLS
- Human‑memorable: DAO leases
your-site.dao.run. - DNS: DNSSEC where possible; multi‑provider; CT monitoring; optional DANE for advanced clients.
- Integrity: Publisher signs a manifest (Merkle root). Gateways cache by content hash. A browser extension can verify “this is the exact flyer.”
- Extra pinning (optional): DAO publishes TLS key fingerprints. Extension warns if the live cert doesn’t match the DAO’s record (defense‑in‑depth).
- Routing reality with today’s ECH: ECH is only useful where the gateway terminates TLS. For passthrough on shared IPs, routing typically uses visible SNI or dedicated VIPs (see “ECH today vs ECH 2.0” below).
Payments & Incentives
- Funding coins: Monero / Zano / zk‑style (e.g., Zcash shielded).
- Anonymous credentials: turn payments into unlinkable vouchers (zk‑nyms‑style).
- Metering: Gateways redeem vouchers per egress byte and uptime; mixnet relays may be subsidized for cover traffic.
- Leases: Names auto‑expire; small private fees keep the namespace clean.
Extensions (easy to add later)
- Video / streaming: keep originals at home; pay gateways to pin signed chunks by content hash; use WG‑2 for segment delivery; pre‑replicate for lives.
- Decentralized newsgroups: NNTP‑style comment threads replicated across nodes; same privacy transports.
- Mail edge: gateways act as SMTP/JMAP “reverse proxy”; origin runs Mailu‑style stack; SPF/DKIM/DMARC handled at edge; origin IP never surfaces.
- The goal is to build an SMTP/JMAP “reverse proxy” that can route traffic based on the target domain (Host/SNI) while remaining cryptographically blind to who is talking to whom and what the messages contain.
To achieve this, the proxy must never terminate TLS; instead, it simply forwards raw TCP/QUIC bytes, peeking only at the TLS ClientHello to read the SNI host name and decide which backend mail server to use.
MX records (for SMTP) or per-tenant hostnames (for JMAP/HTTPS) map domains like
your-site.dao.runandother-site.dao.runto different backends, so routing can be done purely on SNI without exposing any envelope or content data. With strict certificate validation (DANE, MTA-STS, pinned CAs, or mTLS) between the external sender and the backend, even a malicious proxy can at most drop or delay connections - but it cannot decrypt mail metadata or payloads.
- The goal is to build an SMTP/JMAP “reverse proxy” that can route traffic based on the target domain (Host/SNI) while remaining cryptographically blind to who is talking to whom and what the messages contain.
To achieve this, the proxy must never terminate TLS; instead, it simply forwards raw TCP/QUIC bytes, peeking only at the TLS ClientHello to read the SNI host name and decide which backend mail server to use.
MX records (for SMTP) or per-tenant hostnames (for JMAP/HTTPS) map domains like
Security & Privacy Notes (what each party can/can’t see)
- Default (passthrough)
- Gateway: sees reader IP + destination handle for routing; does not see decrypted HTTP.
- WG‑2 entry: sees publisher IP; not content or reader IP.
- WG‑2 exit/gateway: sees reader IP; not publisher IP or HTTP cleartext.
- MIX‑5: splits knowledge across 5 hops; padding/delay resist correlation.
- Edge termination (static hosts)
- Gateway: sees decrypted HTTP for that static host only (never for your dynamic host).
- Treat these hosts as public content; no secrets, no sessions.
- Logging: ephemeral metrics only; minimal headers (strip
X‑Originating‑IP, tightReceived:lines for mail); configurable retention.
How Uncloud may Accelerates All This
Uncloud already solved ingress, TLS, and DNS plumbing for self‑hosters. We can reuse that machinery to stand up Nym gateways quickly, so Nym-node changes focus on transports, rendezvous, and vouchers.
Ingress & auto‑HTTPS
- Reuse: Uncloud’s Caddy orchestration, ACME/renewal, vhost lifecycle.
- Add: Two upstream adapters:
nymmix://service-id→Mix5Adapter(L4 passthrough).nymwg://service-id→Wg2Adapter(L4 passthrough).
- Opt‑in static hosts: terminate TLS at the gateway; enable ECH; cache/pin by content hash.
- Note: For pure passthrough, use a lightweight L4 sidecar (or Caddy’s L4 plugin) to route by SNI/VIP without decrypting.
Managed DNS writer
- Reuse: Service that writes A/AAAA/CNAME/TXT (SPF/DKIM/DMARC, MTA‑STS), TTLs, health‑based rotations.
- Change: Drive from DAO leases instead of Uncloud’s cluster store.
- Add: Publish ECH keys for static hosts; optional TLS pins; multi‑provider/anycast.
Cluster state sync
- Keep: Lightweight CRDT/SQLite patterns to distribute small state (e.g., cached DAO descriptors).
- Change: Scope is read‑only hints and health, not authority; DAO remains the source of truth.
Operational snacks
- Roll‑safe config reloads, structured logs, per‑vhost rate‑limits, HSTS defaults.
- These are “boring but hard” bits Uncloud already polished.
Why this helps: Nym gets a fleet of production‑ish gateways fast - with working TLS, DNS, ECH, caching - so the hard research/engineering attention goes to MIX‑5 reliability, WG‑2 multiplexing, vouchers, and policy.
Risks & mitigations
- Hidden‑services gap: MIX‑5 ≠ Tor onion services. Mitigate: clear docs; optional Tor mirrors for ultra‑sensitive readers.
- Video cost: WG‑2 narrows the anonymity envelope. Mitigate: default MIX‑5 for pages; explicit WG‑2 for video; show a privacy badge.
- Name pressure: ICANN‑root friction. Mitigate: ENS/HNS anchors; multiple domains; CT monitoring; optional DAO‑pinning extension.
- Mail deliverability: shared vs dedicated pools. Mitigate: DKIM/SPF/DMARC hygiene; reputation isolation where needed.
ECH today vs ECH 2.0
What ECH solves today: It hides the hostname (SNI) in the TLS handshake so censors can’t easily block your-site.dao.run without also blocking the whole IP. It works when the gateway terminates TLS and presents a certificate (CDN‑style).
The snag: If you want TLS passthrough (end‑to‑end to your home appliance) and you want to route many sites behind shared IPs, today’s ECH can’t help the gateway pick a backend - because the SNI is encrypted and only the TLS endpoint can see it.
A plausible ECH 2.0: Keep hostname privacy on the wire, but add a tiny routing hint the gateway can decrypt - only the minimal info needed to forward bytes - while the full handshake remains encrypted only to the origin. Think “two recipients, one handshake”:
- A small Routed Name Indication (RNI) for gateways (route only).
- The full inner ClientHello for the origin (end‑to‑end TLS remains intact).
With ECH 2.0, you could keep passthrough + hostname privacy on shared IPs and still let any gateway route to the right home appliance - matching the default posture in this spec. Until then, we keep it simple:
- Default: passthrough (end‑to‑end TLS). Use SNI (no ECH) or dedicated VIPs for routing.
- Opt‑in static: terminate TLS at edge and enable ECH for hostname privacy + caching.
Closing
If you like the “reverse‑Nextcloud” idea - origin at home, front doors everywhere - this spec is an outline of a potential path to a censorship-resistant, identity-free blogging infrastructure. Make passthrough the default so secrets stay end‑to‑end encrypted. Use WG‑2 where speed matters, MIX‑5 where privacy matters, and lean on Uncloud’s ingress/DNS to stand up the gateway fleet quickly. Then iterate where Nym is world‑class: privacy, incentives, and resilience.
Non-Obvious Advantages: Why Origin-at-Home Actually Matters
The obvious selling points are easy to summarize: your home IP stays hidden, there’s no single hosting landlord, and readers use plain HTTPS links. But this “reverse-Nextcloud” architecture has a few less obvious side effects that are worthwhile to point out.
No landlord-level “who published what” index
In a normal cloud or VPS setup, there’s a short chain to deanonymize you as a publisher:
domain → hosting account → VM → cleartext files on some provider’s disks
Even if your disk is encrypted at rest, your content is sitting unencrypted on a machine the provider controls whenever the VM is running. Scanning that content, correlating it with your billing details, and handing over a neat little “here’s everything this person hosted” spreadsheet is, in principle, trivial.
In this design, the origin lives on your own hardware and talks out over a mixnet. Gateways see:
- “some service ID” they reverse-proxy for, and
- encrypted traffic (in the default passthrough mode),
but they don’t have a neat, privileged view of all your files on disk the way a VPS provider does.
Yes, a malicious gateway could cache or log what flows through it, and static opt-in hosts do expose the files they serve. The difference is:
- There is no central landlord with both full disk access and a direct mapping to "this person’s account”, and
- No single infrastructure provider can cheaply build a complete “who published what” index across all origins.
You’re much closer to the physical-flyer model: copies exist in the wild, but there’s no single storage provider who is, by construction, able to read everything you wrote and tie it to your identity.
IndieWeb goals, without the sysadmin tax
The IndieWeb vision is: own your content, keep it on your own domain, be independent of giant platforms. In practice, that usually translates to:
- register a domain,
- find and pay a VPS,
- harden SSH,
- set up TLS, DNS, monitoring, backups…
– which is exactly where many non-experts give up and go back to Substack.
The reverse-Nextcloud approach quietly closes that gap:
- You keep the origin at home, like IndieWeb wants.
- You rent a human-readable handle from the DAO instead of doing registrar paperwork.
- Gateways and the DAO handle ingress, TLS, DNS, and routing.
You still “own your own content” in a meaningful sense - it lives on a box you control and can unplug - but you avoid the “please become a part-time DevOps engineer” sysadmin tax.
That’s a non-obvious advantage: it makes a serious IndieWeb-style posture accessible to people who will never run certbot on a VPS.
Re-democratizing the web and reclaiming the net
There’s also a bigger, political-in-the-small goal hiding in this design: diffusing power away from a handful of giant platforms and re-democratizing the web and aligning with the Reclaim the Net ambition to fight censorship and surveillance and reclaim your digital freedom - without demanding that everyone become a full-time sysadmin.
Most “own your content” stories today still quietly lean on a few huge intermediaries: GitHub Pages, Cloudflare, big cloud providers, registrar conglomerates, and FAANG-scale identity providers. Even when you “self-host,” you often end up depending on the same handful of companies for DNS, TLS, DDoS protection, analytics, and payments. The topology of the web keeps snapping back to “a few big hubs, many tiny spokes.”
The reverse-Nextcloud approach tries to push in the opposite direction:
- Origins live at the edge, in people’s homes, not only in hyperscale data centers.
- Gateways are run by a plurality of operators, coordinated by a DAO, not one company’s “edge network you must trust for everything.”
- Names are leased and portable, so you can move your content to a different gateway fleet or naming layer without rewriting your entire story.
If this works, the result isn’t just “you self-host a blog.” It’s a web where thousands of small publishers and operators collectively replace a few giant landlords, and where it’s structurally harder for any single company or government to surveil or censor everything from one choke point. Readers still get a one-click, Substack-style experience, but the economic and technical center of gravity shifts: away from monoliths, toward a fabric of interchangeable home appliances and gateway fleets.
That’s the “reclaim the net” angle: not a nostalgic return to everyone hand-crafting HTML on a random box, but a practical, user-friendly way to make decentralization and resistance to censorship/surveillance the default posture again - while keeping the UX close enough to today’s web that non-experts can actually participate.
A cost profile that matches real blogs
Most personal blogs are CPU-light, RAM-light, and storage-modest. The expensive part in the cloud is rarely the bandwidth; it’s:
- paying for an always-on VM with more CPU/RAM than you really need,
- renting block storage at cloud markups, and
- stacking that with “convenience tax” managed services.
In this design, the expensive bits - CPU, RAM, disk - live on hardware you already paid for and keep around anyway (a home server, NAS, or little appliance). Your incremental running cost is mostly:
- some extra watts of power, and
- whatever you pay gateways/mixnodes for egress, which is relatively small for text-heavy, Substack-style sites.
In other words:
- Traditional self-hosting: pay cloud prices for 24/7 compute, plus some bandwidth.
- reverse-Nextcloud: reuse your home compute and pay primarily for network delivery, which is what you actually need for “public flyers”.
For a lot of dissident or minority-audience blogs, that’s a significant, ongoing cost saving over keeping a VPS idling all month just so a few posts can be served.
Smaller attack surface by construction
Running your own public-facing blog normally means: open ports, port-forwarding on your router, exposed admin panels, and a surface area that gets scanned by every botnet on the planet.
Here, the home appliance:
- only makes outbound connections into the mixnet,
- does not need inbound ports or public DNS,
- and, in the default mode, keeps TLS keys local so gateways never hold them.
That doesn’t magically make security problems disappear, but it changes the shape of the problem:
- The box at home is not sitting there with
:80and:443exposed to the entire IPv4 Internet. - The gateways can be hardened, rotated, and monitored by people who specialize in that, while your “publisher box” only has to trust an authenticated rendezvous protocol.
So you gain origin anonymity and a simpler, safer default network posture at the same time. That’s not something Tor hidden services plus a random VPS give you “for free” in the same way.
Less paperwork and less historical residue
Traditional “own your content” advice leaves a long paper trail:
- registrar accounts with your name,
- VPS bills tied to your card,
- long-lived DNS records and hosting metadata.
Even if you later delete the site, those traces often persist.
In the DAO-lease model:
- Names are rented, not owned forever, and auto-expire if you stop paying.
- Payments can be privacy-preserving, so the entity that grants the lease does not necessarily know who you are in the real world.
- If you drop a handle, there’s no stuck WHOIS entry with your name on it; the name simply falls out of the active registry.
Again, nothing is magic - motivated adversaries can still correlate behavior over time - but you drastically reduce the amount of hard-linked administrative residue compared to “your-real-name-.com on a KYC’d VPS”.
Built-in exit hatches and composability
Finally, keeping the origin at home has an underrated social and technical benefit: you always have an exit.
If:
- a specific gateway operator is compromised,
- a certain jurisdiction becomes hostile, or
- a DAO ossifies or gets captured,
you still control:
- the box with your content,
- the keys that sign your manifests, and
- the ability to re-announce that content via a different network (another DAO namespace, Tor onion services, I2P, IPFS, etc.).
Because the system already revolves around signed manifests, service IDs, and transport policies, switching which fleet of gateways or which name system points at you is a re-wiring problem, not a full content migration problem.
That gives dissident publishers a non-obvious but very real advantage: it is much harder to trap you in one hosting landlord’s walled garden, even if that landlord is “a well-intentioned Web3 project” rather than a FAANG-scale company.
Hiding in the crowd: reader-side privacy with ECH
There’s also a quiet win on the reader side when gateways (where applicable) support Encrypted Client Hello (ECH).
Normally, when your browser connects to a site over HTTPS, it still leaks the hostname it’s trying to reach in cleartext (SNI) during the TLS handshake. That means an on-path observer or censor can see:
“This IP, at this time, is visiting
your-site.dao.run.”
With ECH enabled on the gateway fleet and used by your browser, that hostname is encrypted. From the outside, what a censor sees collapses down to something much blurrier:
“This IP is talking HTTPS to a
dao.rungateway.”
Because many different publishers share the same root domain and the same gateway IP pool, all those TLS handshakes look very similar from the observer’s point of view. To block or profile one specific blog, they’d have to treat the entire gateway fleet - and all the unrelated sites on it - as suspicious.
This isn’t a Tor replacement: observers can still see that you’re talking to the dao.run infrastructure at all, and ECH only applies where it’s actually supported and where TLS terminates at the gateway.
But when it does apply, it gives readers a useful property:
You can “hide in the crowd” of everything else being served by the same gateway fleet, even if you’re not using Tor, a VPN, or a mixnet on the client side.
