FreePress — Publish Without Permission
Censorship-resistant publishing powered by WordPress, Tor, IPFS, and Waku. Mirror your site, sign with cryptography, and broadcast to a decentralized discovery network — all from your own machine.
WordPress + Tor
Run WordPress locally in Docker. Mirror your site via Tor onion service for anonymous publishing.
IPFS Publishing
Static site mirrors are automatically synced to IPFS every 60 seconds for permanent, distributed storage.
Waku Discovery
Sign manifests with Ed25519 keys and broadcast to Waku network. Others discover and mirror your content.

How It Works

Launch WordPress locally, mirror via Tor, publish to IPFS, sign with cryptography, and announce to the discovery network.

  1. 1. Launch the Stack

    git clone https://github.com/Shubham-Rasal/FreePress.git
    cd FreePress
    docker compose up -d

    WordPress, Tor, IPFS, and the frontend run in containers on your machine.

  2. 2. Create Content

    Access WordPress at localhost:80, write your posts, and build your site. Everything runs locally with no accounts.

  3. 3. Mirror via Tor

    Click "Create Mirror" to generate a static copy served through your Tor onion address. Automatic syncing to IPFS happens every 60 seconds.

  4. 4. Sign & Announce

    Generate an Ed25519 keypair, add metadata (title, description, tags), and broadcast your signed manifest to the Waku discovery network.

  5. 5. Discover Others

    Browse the Explore tab to see publications announced by others. Search by tags, verify signatures, and access content via IPFS or Tor.

  6. 6. Stay Resilient

    Your content is pinned on IPFS and discoverable via Waku. Even when you go offline, mirrors keep your publication accessible.

Cryptographic Verification

Every manifest includes version, site CID, timestamp, publisher public key, and Ed25519 signature. Anyone can verify authenticity without trusting a central authority.

Under the Hood

LayerTechnologyPurpose
CMSWordPress + MySQLLocal content creation
AnonymityTor (onionize)Onion service for site access
Mirroringwget + torsocksStatic site generation via Tor
StorageIPFS (Kubo + Cluster)Distributed content storage
IdentityEd25519 keypairCryptographic signing
DiscoveryWaku (libp2p + protobuf)P2P manifest announcements
BackendNode.js + HonoAPI for signing and mirroring
FrontendReact + TypeScript + ViteDashboard UI
"Censorship-resistant publishing isn't about hoping platforms let you speak. It's about taking control. Run your own stack. Sign your own manifests. Join a network that can't be shut down."
FreePress
Publish without permission