Repository navigation
Carrier: any Home reaches any Home by DID through the seed relay; stable public tickets (#345, #336) - #354
Draft
andersalm wants to merge 11 commits into
Draft
Carrier: any Home reaches any Home by DID through the seed relay; stable public tickets (#345, #336)#354andersalm wants to merge 11 commits into
andersalm wants to merge 11 commits into
Conversation
…s it (#345) Every Carrier endpoint is built once with the Home's pinned relay: the default trusted source's publisher origin (or ELASTOS_RELAY_URL). Homes dial a peer by node ID alone; ticket addresses are IP hints and tickets stay IP-only so alpha.13-15 Homes still dial directly. Any other relay is refused by a connect hook, by a TLS host pin and by never taking relay URLs from tickets. The seed's public publisher role serves the iroh relay behind its TLS proxy (carrier_relay_bind_addr, optional TLS pair for address discovery on UDP 7842) with per-Home connection and byte-rate limits. The unused Public network mode, ELASTOS_CARRIER_NETWORK and the DHT topic join are removed; trusted-source, file and operator dials go through one dial by node ID.
…#345) scripts/carrier-nat-test.sh builds five network namespaces (an internet with the relay, two MASQUERADE NATs, two Homes), proves the Homes have no direct route, then runs the relay role and both Homes from the elastos-server test binary: each dials the other by node ID alone and both exchange Chat messages over Carrier gossip. Carrier NAT Linux runs it when its inputs change; the release policy test checks its path filter.
INSTALL.md says when Carrier uses the relay and what the relay sees. VERSIONING.md records that PUBLISHER_GATEWAY pins the relay and the seed's one-time relay setup (legacy relay, certificate, config, nginx).
… like a home router Found running the test on Linux: `ip link add up` parses `up` as a keyword, and the NAT namespaces answered pings from the other side.
…elay # Conflicts: # elastos/CHANGELOG.md
Found on Linux (1 run in 16): the peer read a half-written ID file.
…v6 too (#336) When the endpoint has a public address, published tickets drop container bridge, LAN, CGNAT, link-local and loopback addresses. An IPv4 wildcard on a fixed Carrier port also binds the same IPv6 port (not required), so the seed's ticket no longer changes on every restart. Tests: the seed's address set filters to its public IPv4 and IPv6, and a restart on a fixed port publishes the same ticket.
3 of 12 tasks
andersalm
marked this pull request as draft
October 12, 2026 13:04
This was referenced Oct 12, 2026
Contributor
Author
|
Cross-family review r1 on 75cb32c: FAIL (P1 relay-pin bypass via gossip/http, P1 unbounded discovery server, P2 per-connection byte limit, P2 private addresses in tickets); fixed in 0bf9e3021. |
This was referenced Oct 13, 2026
Contributor
Author
|
Postponed to 0.8.1: any-to-any relay is in draft PR #354; Community works through the seed node. |
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.
Any Home reaches any Home by DID on any network (#345, decided 11 Oct): the seed is the relay; Carrier stays the one interface.
Slot-7 Linux full check PASS on 75cb32c. Seed steps (nginx, config) are in the lane report and go with the second seed upgrade.