MMOSHCODEapp

the moshpit namespace

One setting. .anything resolves.

These names live outside the traditional DNS root, so a normal browser has nowhere to look them up. These resolvers know where. Point a laptop, a phone or a whole router at one and .eggs, .moshpit, .yeah resolve like any other name — while .com, .org and the rest of the internet keep working exactly as before, forwarded on to 8.8.8.8 and 1.1.1.1. If the DNS settings on the machine are not yours to change, TronBrowser resolves the same namespace without touching them.

The addresses

Not published yet. The resolver is built and tested, but no public instance is announced here — and this page will not invent an address for you to paste into your network settings. Run your own below; it serves every name in the namespace, not just yours.

Set it

  1. macOS — System Settings → Network → your connection → Details → DNS, add it with +, drag it to the top, Save. Or: networksetup -setdnsservers Wi-Fi <resolver address>
  2. Windows — Settings → Network & Internet → your adapter → DNS server assignment → Edit → Manual, IPv4 on, preferred server.
  3. Linuxresolvectl dns <interface> <resolver address>, or a nameserver line in /etc/resolv.conf.
  4. Router — hand it out over DHCP and every device on the network gets the namespace. This is the setup it is really for.
  5. A locked-down machine where DNS is not yours to change — use DNS over HTTPS in the browser. Firefox: Privacy & Security → DNS over HTTPS → custom provider. Chrome: Security → Use secure DNS → custom. An endpoint appears here once a resolver is up. Or run TronBrowser, which changes no network settings at all.

Or change nothing: TronBrowser

TronBrowser resolves these names itself. Before every navigation it asks this registry, over ordinary HTTPS, who holds the name you typed. Nothing in your network settings changes, nothing needs admin rights, and it works on a machine where DNS is somebody else's to configure.

curl -fsSL https://tronbrowser.dev/install.sh | sh   # macOS, Linux — Windows: the releases page
tron http://scrambled.eggs                          # or type it in the address bar
  1. Nothing to configure for a new ending. .eggs, .moshpit, .yeah resolve out of the box — the legacy root has never heard of them, so there is nothing to conflict with.
  2. Contested names are a setting. Settings → Name resolution → When a name exists in both. Clearnet wins is the default and never redirects a domain that already works; Moshpit wins lets a registered name override the clearnet one. It is the same decision the resolvers make with MOSHPIT_RESOLVE_MODE, taken per browser instead of per network.
  3. Claim from the address bar. mosh.eggs opens the Pit for .eggs. mosh.anything is reserved, so nobody can register that label and impersonate the page you register on.
  4. Your own pit — Settings → Name resolution → Registry (advanced). Point it at the registry you run and it is looked up exactly like this one.
  5. Needs 3.8.8 or newer. Older builds sent a claimed-but-unpointed name to a URL that has never existed, so parking 404'd. tron upgrade — and a stale address left in settings by one of those builds is discarded on the way, rather than outliving the fix.

It fixes the browser, not the machine: curl, git and everything else still go through DNS. On a machine you control, run both.

Check it worked

dig +short anything.moshpit     # an address, not an error
dig +short example.com          # the ordinary internet, still fine
nslookup anything.moshpit       # the Windows spelling

A TXT lookup on any Moshpit name reports which registry and gateway answered — the fastest way to tell a resolver problem from a site problem.

On the browser route there is nothing to dig: resolution never touches DNS. Open mosh.eggs — if the Pit loads, the browser is talking to this registry.

What still breaks

https:// on a Moshpit name will warn on the resolver route. No public certificate authority will issue for scrambled.eggs, because none of them recognise a namespace that does not descend from the ICANN root. Plain http:// works, and so does this site. A certificate authority you opt into is the real answer, and it is not built yet.

TronBrowser sidesteps it rather than solving it: it rewrites the navigation to this registry's own https:// host, so the certificate is one the browser already trusts. The address bar shows where it landed, not what you typed — an honest trade, and the reason the two routes are documented separately.

Clearnet lookups are forwarded to Google and Cloudflare, which is what a forwarder does. Run your own and point it wherever you like if that trade is wrong for you.

Run your own

No dependencies, no database, reads this registry over ordinary HTTPS. Nothing about it privileges ours — a private pit points at a different registry, a household one runs on whatever is already on the shelf.

git clone https://github.com/moshcoder/moshcoding
cd moshcoding && bun run dns    # port 5354, no privileges needed

dig @127.0.0.1 -p 5354 +short anything.moshpit

Setup, deployment and the operating notes: docs/moshpit-dns.md. Claim a name first over on the namespace tab.