Skip to content

Prober: verify allowlist + online-ever relays (capped per sweep)#34

Merged
melvincarvalho merged 1 commit into
gh-pagesfrom
issue-33-prober-verified
Jun 18, 2026
Merged

Prober: verify allowlist + online-ever relays (capped per sweep)#34
melvincarvalho merged 1 commit into
gh-pagesfrom
issue-33-prober-verified

Conversation

@melvincarvalho

Copy link
Copy Markdown
Contributor

Closes #33. Expands the prober from allowlist-only → allowlist + already-verified relays (checksOnline ≥ 1), capped per sweep — the careful "expand" step.

Behaviour

  • Targets = allowlist (PROBE_RELAYS/built-in) relays online ≥ 1× (stalest first), screened via safeRelayUrl, deduped, capped at PROBE_MAX (default 1000), daily.
  • Brand-new harvested candidates are never dialed — only relays that already proved themselves. A freshly-published relay list can't make us dial new hosts ⇒ no amplification / no new attack surface.
  • Discovery (harvesting) keeps feeding a candidate list; promotion to "probed" stays deliberate (it surfaces only after a relay is online-ever, which today means via allowlist or pre-existing history).

Verification

  • npm test 73/73 (new selectTargets: union, SSRF-screened, deduped vs allowlist, cap respected).
  • Keeps the verified ~725 fresh daily; bounded outbound even as the directory grows.

Expand prober targets from allowlist-only to allowlist + already-verified
relays (checksOnline >= 1), capped per sweep (PROBE_MAX, default 1000).
Keeps the known-good set fresh daily WITHOUT dialing brand-new harvested
candidates — a freshly-published relay list can't redirect our outbound
(no amplification). Discovery stays a candidate list; promotion is manual.

- selectTargets(allowlist, candidates, cap): pure, screened, deduped, capped.
- sweepTargets(db,cfg): allowlist ∪ online-ever relays (stalest first).
- proberConfig.cap + --max flag + PROBE_MAX env. USAGE/.env.example updated.
- tests for selectTargets. npm test 73/73.

Closes #33
@melvincarvalho
melvincarvalho merged commit ff4113b into gh-pages Jun 18, 2026
@melvincarvalho
melvincarvalho deleted the issue-33-prober-verified branch June 18, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prober: verify allowlist + online-ever relays (capped per sweep)

1 participant