Skip to content

feat(pit): setup instructions for the resolvers, on the site itself - #78

Closed
ralyodio wants to merge 1 commit into
masterfrom
feat/moshpit-dns-page
Closed

feat(pit): setup instructions for the resolvers, on the site itself#78
ralyodio wants to merge 1 commit into
masterfrom
feat/moshpit-dns-page

Conversation

@ralyodio

Copy link
Copy Markdown
Collaborator

Follow-up to #77 (merged). The resolvers exist; this is the page that tells a normal person how to use one.

pit.moshcode.sh/dns — the addresses to use, the setting to change on macOS, Windows, Linux, a router or a browser, and two commands to check it worked. /pit links to it and drops its line about this shipping "until the resolver ships", since it has.

The addresses are config, not source

MOSHPIT_DNS_RESOLVERS=dns1.pit.moshcode.sh=203.0.113.7,dns2.pit.moshcode.sh=203.0.113.8, with MOSHPIT_DOH_URL alongside it. They are operational facts that change when a box moves, and a page that keeps telling people to use an address that moved is worse than one that says nothing.

Unset — which is the state today — the page says the resolvers are not published yet and explains how to run one. It never invents an address for a stranger to paste into their network settings, and entries that are not addresses are dropped rather than rendered, because that list goes onto a public page for people to copy into their network settings.

The page reads no database, so it stays up when the registry does not.

Honest about what does not work

https:// on a Moshpit name warns — no public CA will issue for a namespace outside the ICANN root — and clearnet lookups are forwarded to Google and Cloudflare. Both are reasons someone might want their own resolver, which the page then tells them how to run.

Verified

  • Rendered at /pit/dns with sample config: addresses, DoH endpoint and title all present, 200 with no database configured.
  • 6 new tests (122 total), tsc --noEmit clean.

Note on the base branch

tests/coinpay-amount.test.mjs fails on master as it stands, independent of this PR — verified by running the suite on origin/master alone. setupAmountUsd rejects ordinary amounts: Math.abs(value - rounded) > Number.EPSILON in lib/coinpay.ts:42 compares against an absolute epsilon of 2.2e-16, but the representable gap near $20 is ~3.6e-15, so 19.99 throws "must not have fractional cents". That came in with #59. Happy to fix it in its own PR.

🤖 Generated with Claude Code

A resolver nobody can find the instructions for resolves nothing. `/pit/dns`
is the page a normal person lands on: the addresses to use, the setting to
change on macOS, Windows, Linux, a router or a browser, and two commands to
check it worked.

The addresses come from MOSHPIT_DNS_RESOLVERS rather than the source, because
they are operational facts that change when a box moves, and a page that keeps
telling people to use an address that moved is worse than one that says
nothing. Unset — which is today — the page says the resolvers are not published
yet and explains how to run one. It never invents an address for a stranger to
paste into their network settings, and entries that are not addresses are
dropped rather than rendered.

The page needs no database, so it stays up when the registry does not.

Also says plainly what does not work: HTTPS on a Moshpit name warns, because no
public CA will issue for a namespace outside the ICANN root, and clearnet
lookups are forwarded to Google and Cloudflare. Both are reasons someone might
run their own, which the page tells them how to do.

/pit dropped the line about this shipping "until the resolver ships" — it has —
and links here instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio

Copy link
Copy Markdown
Collaborator Author

Superseded by moshcoder/moshcode#124. pit.moshcode.sh is served by the moshcode PWA, not this app, so the setup instructions belong there — they now live at /pit/dns as a tab on the pit itself.

The resolver from #77 is unaffected and stays here; only the instructions page moved. Branch left in place if any of the copy is worth salvaging for moshcoding.com.

@ralyodio ralyodio closed this Jul 31, 2026
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.

1 participant