• v0.1.6 af258c791a

    agorise released this 2026-08-18 20:16:21 +00:00 | 20 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.6

    Adds a trustless blockchain bootstrap: new nodes now load the chain from a signed on-chain
    pointer
    instead of a hardcoded URL, verify it, and let the node re-check every block. Existing
    synced nodes are unaffected (they skip bootstrap entirely).

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p).

    What's new in v0.1.6

    • Trustless bootstrap (new default). A fresh node reads the latest chain_snapshot_v1 pointer
      from @morphit on-chain, cross-checked across at least two public RPCs (highest height wins; a
      same-height checksum conflict stops the install rather than guessing). It downloads the block_log
      from IPFS (with an https mirror fallback), verifies its SHA-256 before using it, then lets the
      node replay and re-verify every block. Nothing about the download host has to be trusted.
    • Fast path is now an explicit, honest opt-in. The old presynced-state setup (minutes, but you
      trust whoever built the state) is still available as --trusted-state. It is never advertised
      on-chain. Trustless is the default; trusted is a conscious choice.
    • --check-snapshot. Inspect the current signed on-chain pointer (height, size, CID, checksum,
      mirror) without downloading anything.
    • Up-front network disclosure. Setup now states plainly that a serving node keeps a normal
      clearnet connection on p2p port 1776 (its IP is visible to peers) and that only the RPC reads are
      hidden — so anyone on a sensitive network chooses consciously.
    • Verified pointer validation. The on-chain pointer validator mirrors Morphit's schema exactly
      and ships with unit tests (installer/snap_core_test.py).

    Note: replaying the full block_log is a one-time job that runs unattended for several hours the
    first time — that's the cost of trustlessness. Watch it with --watch.

    Requirements & commands

    bash installer/hidden-rpc-setup.sh                  # trustless setup (default)
    bash installer/hidden-rpc-setup.sh --trusted-state  # fast presynced-state setup (you trust the publisher)
    bash installer/hidden-rpc-setup.sh --check-snapshot  # show the signed on-chain pointer
    bash installer/hidden-rpc-setup.sh --status          # running? how far behind? addresses
    bash installer/hidden-rpc-setup.sh --watch           # calm, live progress
    bash installer/hidden-rpc-setup.sh --cleanup         # reclaim disk space (safe)
    

    64-bit Linux (Debian/Ubuntu/Mint), amd64. Docker, Tor, and i2pd install automatically if missing.

    Important

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does not
    make its data trustworthy — cross-checking across independent nodes is the reader's job. RPC-only
    (no witness / block production).

    Downloads
  • v0.1.5 19f0d55ec9

    agorise released this 2026-08-14 05:24:05 +00:00 | 21 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.5

    A hardening and cleanup release from a full code + security audit. No behavior changes for a
    healthy node; everything below makes the tool safer, tidier, and more honest. Your chain data and
    addresses are never touched.

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p). No public IP, no port-forwarding, no DNS, no registrar, no hosting company.

    What's new in v0.1.5

    • Disk cleanup is now surgical. It only reclaims what this tool itself creates — dangling
      Docker image layers, Docker build cache, apt's download cache, and old i2pd crash dumps. It no
      longer runs a broad Docker prune (which could remove unrelated stopped containers) and no longer
      vacuums system logs that aren't ours.
    • Publishing no longer prompts for a password. The release tool now authenticates git with
      your token and can never hang on a username/password prompt. The token is also kept out of the
      process list (passed via a private config file, not the command line).
    • Docs match reality. The manual reference was rewritten to reflect the current setup
      (official PurpleI2P i2pd, address read from the key file, loopback enforced on the command line,
      reboot recovery). Stale plugin lists and the old web-console step were removed. The roadmap and
      status now reflect what's actually shipped.
    • Reboot recovery verified. Docker, Tor, and i2pd run as enabled services and the node
      container restarts itself — after a reboot the node comes back and catches up on its own.

    Carried over: official PurpleI2P i2pd with auto-restart (v0.1.2); smart disk check with automatic
    cleanup and a --cleanup command (v0.1.3); correct detection of an already-synced chain so it
    never re-downloads (v0.1.4).

    Setup / repair / everyday

    bash installer/hidden-rpc-setup.sh                  # set up or repair (idempotent)
    bash installer/hidden-rpc-setup.sh --status         # running? how far behind? addresses
    bash installer/hidden-rpc-setup.sh --watch          # calm, live sync progress
    bash installer/hidden-rpc-setup.sh --show-addresses # reprint .onion / .b32.i2p
    bash installer/hidden-rpc-setup.sh --cleanup        # reclaim disk space (safe)
    

    Requirements

    • 64-bit Linux (Debian / Ubuntu / Mint family), amd64.
    • ~100 GB free for first-time setup (much less afterward). Docker, Tor, and i2pd install
      automatically if missing.

    Important: what this does and does not do

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does
    not make its data trustworthy — cross-checking answers across independent nodes is the reader's
    job. This release is RPC-only (no witness / block production).

    Downloads
  • v0.1.3 c57793ea53

    agorise released this 2026-08-14 03:58:36 +00:00 | 22 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.3

    A disk-space and reliability release. If you're already running an earlier version, just run the
    installer again — it tidies up wasted space, skips the big disk check when your chain is already
    loaded, and never touches your chain data or addresses.

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p). No public IP, no port-forwarding, no DNS, no registrar, no hosting company.

    What's new in v0.1.3

    • No more false "out of disk space" on re-runs. The installer used to demand ~90 GB free
      every single time. It now recognizes when your blockchain is already loaded and only needs a
      little headroom — so re-running on a working node just proceeds.
    • Automatic cleanup. Once the chain is loaded, the ~27 GB snapshot download is deleted (it's
      no longer needed), and leftover Docker image layers, build cache, apt cache, and old crash dumps
      are cleared. This alone reclaims tens of GB on nodes set up with earlier versions.
    • New --cleanup command. Run ./installer/hidden-rpc-setup.sh --cleanup anytime to reclaim
      space on demand. It reports before/after free space and never touches your chain or addresses.

    Carried over from v0.1.2: I2P now installs from the official PurpleI2P source (fixing the i2pd
    startup crash on Ubuntu/Mint), auto-restarts on failure, and the .onion/.b32.i2p are read
    reliably from each service's key file.

    One-step setup (or repair)

    From the repository folder:

    ./installer/hidden-rpc-setup.sh
    

    Everyday commands:

    ./installer/hidden-rpc-setup.sh --watch           # calm, live sync progress
    ./installer/hidden-rpc-setup.sh --status          # quick summary
    ./installer/hidden-rpc-setup.sh --show-addresses  # reprint .onion / .b32.i2p
    ./installer/hidden-rpc-setup.sh --cleanup         # reclaim disk space (safe)
    

    Requirements

    • 64-bit Linux (Debian / Ubuntu / Mint family), amd64.
    • About 100 GB of free disk space for the first-time setup (less afterward). Docker, Tor, and
      i2pd are installed automatically if missing.

    Important: what this does and does not do

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does
    not make its data trustworthy — cross-checking answers across independent nodes is the reader's
    job. This release is RPC-only (no witness / block production).

    Downloads
  • v0.1.2 bcb7baad12

    agorise released this 2026-08-14 03:41:23 +00:00 | 23 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.2

    An I2P reliability release. If you're already running an earlier version, just run the installer
    again — it upgrades I2P, repairs the address, and never touches your chain data.

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p). No public IP, no port-forwarding, no DNS, no registrar, no hosting
    company.

    What's new in v0.1.2

    • Fixed the I2P address never appearing on some machines. The version of i2pd shipped by
      Ubuntu/Mint (2.49.x) crashes on startup on certain hardware, so the .b32.i2p address never
      became available. The installer now installs i2pd from the official PurpleI2P source, which
      resolves the crash.
    • I2P now auto-recovers. i2pd is configured to restart itself automatically if it ever stops,
      so a transient hiccup no longer leaves your node without its I2P address.
    • Address is now read reliably from the key file. Your .onion and .b32.i2p are derived
      directly from each service's key material, so they appear immediately and correctly instead of
      depending on a web console that wasn't always reachable.
    • Honest status. If I2P can't start on a given machine, the installer now says so plainly and
      points out that your node still works fully over Tor — instead of leaving you waiting on an
      address that isn't coming.

    Your addresses do not change across this upgrade — the key material is preserved.

    One-step setup (or repair)

    From the repository folder:

    ./installer/hidden-rpc-setup.sh
    

    It installs/repairs everything, starts the node bound to localhost, brings up the Tor and I2P
    hidden services, and prints your two addresses. Safe to run again anytime.

    Everyday commands:

    ./installer/hidden-rpc-setup.sh --watch           # calm, live sync progress
    ./installer/hidden-rpc-setup.sh --status          # quick summary
    ./installer/hidden-rpc-setup.sh --show-addresses  # reprint .onion / .b32.i2p
    

    Requirements

    • 64-bit Linux (Debian / Ubuntu / Mint family), amd64.
    • About 100 GB of free disk space. Docker, Tor, and i2pd are installed automatically if missing.

    Important: what this does and does not do

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does
    not make its data trustworthy — cross-checking answers across independent nodes is the reader's
    job. This release is RPC-only (no witness / block production).

    Downloads
  • v0.1.1 ae0073dd36

    agorise released this 2026-08-14 03:01:04 +00:00 | 24 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.1

    A small hardening and correctness release. If you're already running v0.1.0, just run the
    installer again — it applies the changes with a gentle restart and never touches your chain data.

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p). No public IP, no port-forwarding, no DNS, no registrar, no hosting
    company.

    What's new in v0.1.1

    • Extra privacy safeguard. The RPC's loopback binding is now enforced on the node's
      command line as well as in its config file, so it stays private (127.0.0.1 only) even if a
      future upstream image were to change its default. Command line wins over config.
    • follow_api confirmed and documented correctly. Earlier notes carried a stale warning
      about follow_api. It has now been verified end-to-end on a live, fully-synced node (it
      serves follower data and the node stays healthy), so it remains enabled to match the official
      snapshot. The contradictory warning has been removed from the docs.
    • Two-node validation. The full one-command setup was reproduced on a second, different
      laptop, and a node has synced all the way to the live head — confirming the process is
      genuinely repeatable, not a one-off.

    One-step setup

    From the repository folder:

    ./installer/hidden-rpc-setup.sh
    

    It downloads everything it needs (including the ~27 GB presynced chain, with a live progress
    bar and time estimates), starts the node bound to localhost, turns on the Tor and I2P hidden
    services, and prints your two addresses. Safe to run again anytime.

    Everyday commands:

    ./installer/hidden-rpc-setup.sh --watch           # calm, live sync progress
    ./installer/hidden-rpc-setup.sh --status          # quick summary
    ./installer/hidden-rpc-setup.sh --show-addresses  # reprint .onion / .b32.i2p
    

    Requirements

    • 64-bit Linux (Debian / Ubuntu / Mint family), amd64.
    • About 100 GB of free disk space. Docker, Tor, and i2pd are installed automatically if missing.

    Good to know

    • After setup the node keeps catching up to the current block in the background; this is normal.
      Watch it calmly with --watch. Your I2P address takes a couple of minutes to appear on the
      first run.
    • If you ever look at the raw node logs, lines like Error when pushing block ... too old during
      catch-up are normal and harmless — duplicate blocks from multiple peers being rejected.

    Important: what this does and does not do

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node does
    not make its data trustworthy — cross-checking answers across independent nodes is the reader's
    job. This release is RPC-only (no witness / block production).

    Downloads
  • v0.1.0 65f47066dd

    agorise released this 2026-08-14 00:52:52 +00:00 | 25 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    hidden-rpc v0.1.0

    First public release.

    hidden-rpc turns an ordinary computer — an old laptop is plenty — into a
    censorship-resistant Blurt RPC node, reachable privately over Tor (.onion v3) and
    I2P (.b32.i2p). No public IP, no port-forwarding, no DNS, no registrar, no hosting
    company.

    One-step setup

    From the repository folder:

    ./installer/hidden-rpc-setup.sh
    

    That's the whole thing. It downloads everything it needs, loads a presynced blockchain
    snapshot, starts the node bound to localhost, turns on the Tor and I2P hidden services,
    and prints your two addresses. It is safe to run again anytime — it never undoes finished
    work and never changes your addresses.

    Highlights

    • One command, no fuss. No prompts beyond your password once. Calm, reassuring output
      designed so a first-time operator never sees a scary error.
    • Downloads everything automatically — including the ~27 GB presynced chain (resumable),
      with a live progress bar and time estimates, plus spinners and elapsed timers on the
      longer steps.
    • Private by design. The RPC is bound to 127.0.0.1 only — reachable through Tor and
      I2P, never exposed on your local network or the clear net. Outbound-only hidden services
      mean no CGNAT/ISP problems.
    • Fast, multi-peer catch-up from current Blurt seed nodes.
    • Resilient. Auto-restarts after a reboot; graceful on hiccups — if anything is
      interrupted, just run it again and it continues.
    • Wraps the official upstream blurtd — no forks, no re-implementation.

    Requirements

    • 64-bit Linux (Debian / Ubuntu / Mint family), amd64.
    • About 100 GB of free disk space.
    • Docker, Tor, and i2pd are installed automatically if missing.

    Good to know

    • After setup, the node keeps catching up to the current block in the background. This can
      take a while and is completely normal. Watch it calmly with
      ./installer/hidden-rpc-setup.sh --watch.
    • Your I2P address takes a couple of minutes to become reachable on the first run. Re-run
      ./installer/hidden-rpc-setup.sh --show-addresses to print it once it's ready.
    • If you ever look at the raw node logs, lines like Error when pushing block ... too old
      during catch-up are normal and harmless — duplicate blocks from multiple peers being
      rejected. The chain keeps advancing right through them.

    Important: what this does and does not do

    Tor and I2P hide where you read, not whether what you read is true. Reaching a node
    does not make its data trustworthy — cross-checking answers across independent nodes is the
    reader's job. This release is RPC-only (no witness / block production).

    Downloads