net: CJDNS overlay (--cjdns-reachable, --only-net=cjdns) - #652
Open
rearden-grok[bot] wants to merge 4 commits into
Open
rearden-grok[bot] wants to merge 4 commits into
rearden-grok[bot] wants to merge 4 commits into
Conversation
rearden-grok
Bot
force-pushed
the
net/cjdns
branch
2 times, most recently
from
September 19, 2026 22:21
d70d6db to
f092d40
Compare
13 tasks
Tag fc00::/8 separately from IPv6 so --only-net can distinguish them. Keep learned CJDNS in peers v2; do not dial or advertise until reachable. Direct TCP for overlay (not SOCKS/SAM). Co-authored-by: Cursor <cursoragent@cursor.com>
only-net=cjdns without the reachable flag is a Config error, same honesty as onion-without-SOCKS. --listen on an fc00 address parses as CJDNS. Co-authored-by: Cursor <cursoragent@cursor.com>
First-class NixOS option. Runtime argv greps --cjdns-reachable. STREAM FORWARD may use listenOnion loopback when p2p.listen is false. Co-authored-by: Cursor <cursoragent@cursor.com>
NodeConfig::validate grew past cargo-crap 30 after CJDNS connect/only-net guards. Extract helpers and pin the connect-without-reachable path. Co-authored-by: Cursor <cursoragent@cursor.com>
rearden-grok
Bot
force-pushed
the
net/listen-onion
branch
from
September 20, 2026 02:03
80e91aa to
e6a540b
Compare
rearden-grok
Bot
force-pushed
the
net/cjdns
branch
from
September 20, 2026 02:03
f092d40 to
9359caf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Plan 08 (
docs/personal-node-plans/08-cjdns.md). Stacked on #651 (net/listen-onion).NetAddr::Cjdnsfrom BIP155AddrV2::Cjdns(fc00::/8only). Global unicast tagged as CJDNS is dropped. Peers v2 round-trips the overlay address.--cjdns-reachable(default off): dial via kernel IPv6 TCP;fc00::/8may appear in localaddresses. Off: do not dial; do not advertise ULA as a home IP.--only-net=cjdnswithout--cjdns-reachableis a Config error.--listen [fc00:…]:portparses as CJDNS;--no-listendoes not bind.cjdns.reachable;After/Wantscjdns.service. No in-process router and no TUN in CI.Test plan
cargo test -p rbitcoin-net --lib netaddr_cjdnscargo test -p rbitcoin-net --lib learn_addrv2_keeps_cjdnscargo test -p rbitcoin-net --lib cjdns_not_dialedcargo test -p rbitcoin-node --lib only_net_cjdnscargo test -p rbitcoin-node --lib listen_cjdnsnix build .#checks.x86_64-linux.nixos-module-eval --no-linknixos-module-runtimeDo not merge unless asked.
Made with Cursor