theseus/dev/list-tlds.mjs
Local Dev 82e7e8fc91 Sweep: mobile Ariadne updates, Deviant brand + sites, Hephaestus bootstrap, snappymail
Broad-scope commit sweeping in work from parallel sessions plus this session's
dev-only utilities. No single unifying theme — this is the "commit everything
that's ready" pass. Grouped by area below.

AriadneResolver / mobile
* Small updates to BchFetcher, Bns, MainActivity, AriadneVpnService, and the
  Android manifest — from a parallel mobile-resolver session.
* AriadneResolver/mobile/webpreview/ — new local dev webview (index.html +
  server.mjs) for iterating on the mobile UI without a device.

Email / SnappyMail
* Email/snappymail-plugin/silentmode-addresses — new SnappyMail plugin
  (README, CSS, PHP entry, JS) for surfacing @silentmode.st address
  management inside the webmail UI.

Hephaestus (Forgejo + auth-proxy)
* auth-proxy/src/oidc.ts + docker-compose.yml updates.
* scripts/bootstrap-auth.sh — idempotent script that registers the wallet
  auth-proxy as Forgejo's OIDC provider after `docker compose up -d`. All
  secrets read from .env — no literals in the script.

TheseusNavigator / dev tools
* dev/list-tlds.mjs — enumerate every registered BNS name grouped by TLD via
  our own indexer.
* dev/show-tlds-bch.mjs — dump the full records payload of the legacy
  tlds.bch name (kept as a diagnostic for the list-in-one-NFT era).

Deviant sites + brand
* site/deviant/ — new microsites (anthemus, potidaea, brand, mindmap, main
  index) plus the full brand kit under site/deviant/brand/ (logos, icons,
  palette, social exports as SVG source + PNG renders).
* site-sirius-x/portal.html — updates.

Coordination
* _coordination/sessions/mobile-resolver.md — parallel-session notes.

Deliberately excluded from this commit:
* scratchpad/ — this session's temp drafts (Sia doc mockups, tlds UPD payloads).
* TheseusNavigator/_prev/ — ~372 MB of prior release binaries; belongs in
  a separate artefacts store, not the git tree. Add to .gitignore next pass.
2026-08-30 10:38:49 +02:00

22 lines
912 B
JavaScript

// List every registered BNS name and group by TLD, using our own indexer.
import WebSocket from "ws";
import { buildIndex, CHIPNET_ELECTRUM } from "../../Argus/src/lib/resolver-web.js";
const OURS = CHIPNET_ELECTRUM[0];
const idx = await buildIndex({ WebSocket, electrum: [OURS], directIP: true });
const byTld = new Map();
for (const [name, entry] of idx) {
const tld = name.split(".").pop();
if (!byTld.has(tld)) byTld.set(tld, []);
byTld.get(tld).push({ name, records: Object.keys(entry.records) });
}
console.log(`total names: ${idx.size}`);
console.log(`distinct TLDs: ${byTld.size}\n`);
for (const [tld, entries] of [...byTld.entries()].sort((a, b) => b[1].length - a[1].length)) {
console.log(`.${tld} (${entries.length})`);
for (const e of entries.sort((a, b) => a.name.localeCompare(b.name))) {
console.log(` ${e.name.padEnd(28)} records: ${e.records.join(", ") || "—"}`);
}
}