-
hidden-rpc v0.2.0 Stable
released this
2026-08-29 01:18:50 +00:00 | 15 commits to main since this releasehidden-rpc v0.2.0
Your node now heals its own Tor and I2P reachability. If a transport goes
dark — whether the daemon crashed or is merely stuck (stillactive (running)
but not serving) — the node detects it and repairs it on its own, per transport,
with no reboot and no SSH. This closes the gap behind the oldpc incident: after a
Wi-Fi→Ethernet swap, i2pd rebuilt its tunnels in seconds but tor stayed "running"
while its onion silently went dark for an hour. Process liveness was never the
right signal; end-to-end reachability is.Already-synced nodes are unaffected — this only adds a background self-healer.
What's new in v0.2.0
- End-to-end self-probing, per transport. The node dials its own
.onion
and.b32.i2pback through the real circuit/tunnel and makes a live RPC call —
the only check that catches a "stuck but running" daemon. - Transport-down vs RPC-down. A loopback RPC check gates every repair, so a
down RPC never triggers a pointless tor/i2pd restart. - Graduated, least-disruptive repair. Gentle nudge → restart → escalate, each
with a grace window sized to real onion-descriptor / I2P-tunnel rebuild time. - Network-change awareness. An interface/route/IP change (the oldpc trigger)
forces an immediate re-probe of both transports instead of waiting a cycle. - Independent Tor and I2P supervision. A healthy transport never masks a
broken one — the exact way the oldpc outage stayed invisible. - Flap protection. An hourly restart cap and a per-episode cycle limit; an
unrecoverable transport backs off todegradedinstead of restart-looping. - Self-reported status.
hidden-rpc-transport-status(and--status,
--transports) show each transport ashealthy/recovering/degraded
and when it last auto-recovered. Morphit's directory can read this to show
recovery state authoritatively rather than guessing. - Runs itself, safely. Installed as a systemd service that is itself
restarted if it ever dies, and it only ever restarts tor/i2pd — nothing else.
The self-healer installs automatically on your next
hidden-rpc-setup.shrun,
once the node has a Tor or I2P address. Tunables (probe cadence, grace windows,
restart caps) live in/etc/hidden-rpc/supervisor.conf.Carried over: optional
--name <handle>;--watchreplay animation; trustless
on-chain bootstrap;--mirror-only; runnable command paths.Minimum requirements
-
Operating system: 64-bit Linux in the Debian / Ubuntu / Linux Mint family
(usesapt). Tested on Linux Mint 22 and Ubuntu 24.04. -
Architecture: amd64 / x86_64. ARM is not supported yet.
-
Memory: ~4 GB RAM minimum (~3 GB used by the node); 8 GB comfortable.
-
Free disk space: about 100 GB for a first-time setup; far less later. An
SSD is strongly recommended — the one-time replay is far faster on an SSD. -
Internet: a wired LAN / Ethernet connection is strongly recommended. A
node on Wi-Fi only sees roughly a 50% successful connection rate; on
Ethernet you get 100% connectivity, which is what an RPC node actually needs
to stay reachable and keep re-publishing its hidden endpoints. Wi-Fi will run,
but expect the transport self-healer to spend more time recovering and your
uptime to suffer. A serving node keeps a clearnet p2p connection on port 1776 to
stay in sync; only the RPC reads are hidden over Tor and I2P. -
Installed automatically if missing: Docker, Tor, i2pd, and small tools.
-
Repository: https://git.agorise.net/agorise/hidden-rpc
-
License: AGPL-3.0-or-later
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- End-to-end self-probing, per transport. The node dials its own