MMOSHCODEapp

the moshpit namespace

DNS records

Real records on the names you hold: AAAA for the box that serves it, CNAME to send it somewhere else, MX for mail, TXT for everything that has to be proved. Published the moment you hit the button — no zone transfer, no propagation wait.

All four resolve. dig MX blue.eggs through a Moshpit resolver answers from what you publish here, as do TXT, CNAME and AAAA. A machine running a bridge from before records existed answers addresses and nothing else — moshcode update is the fix, and moshcode dns resolve blue.eggs says which one you are talking to.

Sign in to publish records on the names you hold — the same login the CLI uses.

Sign in →

publish records from a script

Every button on this page is an API call. The key is the one in settings — the same one moshcode uses.

export MOSH_KEY=mk_... # publish an address curl -X POST https://pit.moshcode.sh/api/moshpit/tlds/eggs/records \ -H "authorization: Bearer $MOSH_KEY" -H 'content-type: application/json' \ -d '{"label":"blue","type":"AAAA","value":"2606:4700:4700::1111","ttl":300}' # mail curl -X POST https://pit.moshcode.sh/api/moshpit/tlds/eggs/records \ -H "authorization: Bearer $MOSH_KEY" -H 'content-type: application/json' \ -d '{"label":"blue","type":"MX","value":"mx.example.com","priority":10}' # read them back — no key needed, DNS is public curl https://pit.moshcode.sh/api/moshpit/records?name=blue.eggs # withdraw one curl -X DELETE https://pit.moshcode.sh/api/moshpit/tlds/eggs/records \ -H "authorization: Bearer $MOSH_KEY" -H 'content-type: application/json' \ -d '{"label":"blue","type":"MX","value":"mx.example.com"}'

/api/moshpit/records is what a resolver reads, and /api/moshpit/resolve?name=…&records=1 returns the address and the record set in one call — which is the one the bridge and the DoH server use when the question is a CNAME, MX or TXT. moshcode dns resolve blue.eggs shows what a machine actually gets.