
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
@moshcoder/moshpit-dns
Advanced tools
Resolve Moshpit names on this machine. A tiny DNS bridge for .whatever endings, routed per-suffix so the rest of the internet is untouched.
Resolve Moshpit names on this machine — from curl, any browser, any program.
npm i -g @moshcoder/moshpit-dns
sudo moshpit-dns enable
moshpit-dns service install # keep it running across reboots
Zero dependencies. Everything comes from node: builtins.
The Moshpit registry speaks HTTP, not DNS. pit.moshcode.sh answers
/api/moshpit/resolve?name=… and nothing listens on port 53, so
curl https://california.oranges/ fails everywhere. A browser extension that
redirects tabs works, but redirecting is not resolving, and nothing outside that
browser benefits from it.
This is the bridge: a tiny authoritative resolver that answers Moshpit endings out of the registry's HTTP API, and is deliberately silent about everything else.
It answers AAAA and A from the name's target, and CNAME, MX and TXT
from the records its owner publishes in the Pit. Question types it does not
serve get an empty NOERROR rather than NXDOMAIN — the name exists, there is
just nothing to say about that question, and denying the name outright would
take its address down with it.
A name pointed at a hostname rather than an address answers with the CNAME it
published, for the client to chase through its own resolver. This bridge never
does clearnet DNS itself.
Each OS has a way to send one suffix to a different nameserver without becoming the resolver for everything, and this uses that on each:
| macOS | /etc/resolver/<tld>, read per query — nothing to restart |
| Linux | systemd-resolved Domains=~tld routing-only domains, or dnsmasq |
| Windows | one NRPT rule per namespace |
That choice is the whole safety story. Becoming the machine's nameserver would put every lookup on the box behind this bridge; routing only Moshpit endings means the worst failure is that Moshpit names stop working.
moshpit-dns enable route the endings here and start the bridge
moshpit-dns disable undo both
moshpit-dns status [--json] what is running, what is routed, does it work
moshpit-dns refresh re-apply routing for endings claimed since
moshpit-dns service install keep the bridge running across reboots
moshpit-dns service uninstall stop doing that
moshpit-dns tlds [--json] list the endings claimed in the Pit
moshpit-dns records <name> [CNAME|MX|TXT] [--json]
inspect records published for a name
moshpit-dns resolve <name> [--json]
what a name resolves to, and why
moshpit-dns start [--ttl N] run the bridge in the foreground
moshpit-dns install print the resolver config without applying it
--dry-run prints the exact file contents and commands before anything runs.
This edits system DNS under sudo, so being inspectable first is the point.
tlds, records, resolve, and status accept --json for scripts and
monitoring. The JSON includes registry reachability, published CNAME/MX/TXT
records, the final DNS address for a resolution, and structured status warnings
without mixing human-readable lines into stdout.
Failures such as an unreachable registry still produce valid JSON and a
non-zero exit status where the command normally fails.
moshpit-dns resolve california.oranges --json | jq .address
moshpit-dns records california.oranges MX --json | jq '.records[]'
moshpit-dns status --json | jq '.warnings[]?.code'
DNS answers use a 30-second TTL by default. Pass --ttl N to start, enable,
or service install to choose a whole number of seconds from 0 through
4294967295. enable carries the value into its detached bridge, and
service install records it in the persistent service definition.
moshpit-dns start --ttl 300
sudo moshpit-dns enable --ttl 300
moshpit-dns service install --ttl 300
Registry requests time out after 4000 milliseconds by default so an unavailable
endpoint cannot leave DNS queries hanging indefinitely. Pass --timeout N to
choose a positive whole-number deadline in milliseconds. The value is carried
into detached bridges and persistent service definitions as well as foreground
commands.
moshpit-dns resolve california.oranges --timeout 1500
moshpit-dns start --timeout 1500
sudo moshpit-dns enable --timeout 1500
moshpit-dns service install --timeout 1500
Only enable, disable and refresh — the acts that edit system DNS. The
bridge listens on 5354 and the service that keeps it alive is a user service,
so nothing else asks for privileges.
Windows is the exception on port: an NRPT rule has nowhere to put one, so the bridge must be on 53 there. Refused at plan time with the reason, rather than producing a rule that points at a port nothing is listening on.
Routing up, bridge down. Names fail instead of falling through to your
normal resolver. status says so loudly, and service install is what stops it
happening after a reboot.
Routing is a snapshot. Arbitrary endings share no common suffix, so every
one is listed by name. An ending claimed after you enabled will not resolve
until sudo moshpit-dns refresh. status compares the counts and tells you
when they have drifted.
--registry https://your.pit anywhere, and the routing follows it. Nothing
here is specific to pit.moshcode.sh beyond the default.
MIT.
FAQs
Resolve Moshpit names on this machine. A tiny DNS bridge for .whatever endings, routed per-suffix so the rest of the internet is untouched.
The npm package @moshcoder/moshpit-dns receives a total of 121 weekly downloads. As such, @moshcoder/moshpit-dns popularity was classified as not popular.
We found that @moshcoder/moshpit-dns demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.