From 7159c0964b866bb4b85be1aa4250fb9f4232b5e8 Mon Sep 17 00:00:00 2001 From: Local Dev Date: Wed, 30 Sep 2026 01:51:57 +0200 Subject: [PATCH] Ariadne 0.1.12: orphan-safe upgrade + local BNS indexer API - .iss pre-install hook now also kills orphan node.exe from the Ariadne install dir (foreground diagnostic runs, crashed processes not cleaned up by the scheduled task), path-scoped so no other app is affected. Fixes upgrades failing with "DeleteFile failed; code 5 -- Access is denied" on runtime/node.exe -- seen on 0.1.11 install by a user who had run the daemon manually per an earlier diagnostic. - bnsd.js Express gateway now serves local BNS indexer endpoints: /api/tlds -> {source, tlds: string[], count} /api/name/:n -> full BNS entry (same shape as navigate.st/api/name/) /api/registry -> {source, count, names[]} full index dump CORS wide-open (matches operator behavior). Any app on the machine can now query BNS locally with no navigate.st round-trip. Answers off the daemMons in-memory index which already merges snapshot warm-start + ETag polling + per-query indexer fallback + electrum WSS. Verified locally: hello.bch resolves via /api/name; unknown gives 404; /api/tlds returns the CA-constrained set (bch p2p bit deviant nav test bcnr on this boxs current CA); /api/registry returns 61 names. Deployed: dl.silentmode.st + Sia. sha256 b041652a330fefb4561da7ca14fa84ddf3b6085fda6eb62831cb08ea56ec602d. --- releases-manifest.json | 6 +++--- releases/index.html | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/releases-manifest.json b/releases-manifest.json index e8c60a3..73815ea 100644 --- a/releases-manifest.json +++ b/releases-manifest.json @@ -22,14 +22,14 @@ { "id": "ariadne-resolver", "product": "Ariadne Resolver (Windows)", - "version": "0.1.11", + "version": "0.1.12", "date": "2026-09-30", "platform": "win-x64", "signed": false, "signingAuthority": null, - "changes": "The daemon now uses the operator's live BNS indexer as its primary source, not chipnet electrum. Two changes to the resolver pipeline: (1) the 30-second background refresh polls dl.silentmode.st/bns-name-index.json (and s3.silentmode.st:8600 as an independent Sia mirror) with If-None-Match ETags -- only redownloads on republish, no work when nothing changed. Electrum WSS stays as a secondary refresh that runs on the same tick when HTTPS turned nothing up, so a daemon on a network that can reach chipnet but not the operator VPS still converges. (2) A per-query indexer fallback: when a name isn't in the cached snapshot, the DNS handler calls navigate.st/api/name/ directly with a 5-second timeout and a 30-second LRU cache. Names registered AFTER the last snapshot poll but BEFORE the next one now answer immediately instead of NXDOMAIN. Result: chipnet electrum flakiness (get_history timeouts, port 50004 filtered, etc.) no longer stalls name resolution; the daemon converges on the same view of the registry that Theseus mobile, Aegis, sirius.x and the gateway itself already share. Includes 0.1.10 warm-start, 0.1.9 search shim, 0.1.8 pinned-origin proxy. Upgrades in place.", + "changes": "Two fixes on top of 0.1.11. (1) Upgrades no longer fail with \"DeleteFile failed; code 5 -- Access is denied\" on runtime\\node.exe. The pre-install hook now also kills any ORPHAN node.exe running from the Ariadne install dir (foreground diagnostic runs, crashed processes not cleaned up by the scheduled task), not just the scheduled task's own daemon. Path-scoped so it never touches node.exe from other apps. (2) Local BNS indexer surface -- every app on the machine can now query BNS at http://127.0.0.1/api/tlds, /api/name/, /api/registry directly against the daemon's in-memory index, same URL shape as the operator gateway. No round-trip through navigate.st for local callers. CORS wide-open (same as the operator's public read API). Upgrades in place.", "files": { - "AriadneResolver-Setup-0.1.11.exe": "58ffb06424785973d2cd656e5122061ce10b53a8dcff55605c23b5699552ee75" + "AriadneResolver-Setup-0.1.12.exe": "b041652a330fefb4561da7ca14fa84ddf3b6085fda6eb62831cb08ea56ec602d" } }, { diff --git a/releases/index.html b/releases/index.html index a11511d..1a00906 100644 --- a/releases/index.html +++ b/releases/index.html @@ -72,12 +72,12 @@
-

Ariadne Resolver — Windows 0.1.11

-
Windows 64-bit · unsigned · bundled Node runtime · 2026-09-30 · 0.1.11 — indexer-first refresh + per-query indexer fallback — The daemon now uses the operator's live BNS indexer as its primary source instead of chipnet electrum. Two changes: (1) the 30-second background refresh polls dl.silentmode.st/bns-name-index.json (and the Sia mirror at s3.silentmode.st:8600) with If-None-Match ETags — only redownloads on a republish. Electrum WSS stays as a same-tick secondary if HTTPS turned nothing up. (2) A per-query indexer fallback in the DNS handler: when a name isn't in the cached snapshot, calls navigate.st/api/name/<host> directly with a 5-second timeout and a 30-second LRU cache. Names registered after the last snapshot poll but before the next one now answer immediately instead of NXDOMAIN. Result: chipnet electrum flakiness ("get_history timeout", port 50004 filtered, etc.) no longer stalls resolution; the daemon converges on the same view of the registry Theseus mobile, Aegis, sirius.x and the gateway already share. Includes 0.1.10 warm-start, 0.1.9 search shim, 0.1.8 pinned-origin proxy. Upgrades in place.
+

Ariadne Resolver — Windows 0.1.12

+
Windows 64-bit · unsigned · bundled Node runtime · 2026-09-30 · 0.1.12 — orphan-safe upgrade + local BNS indexer API — Two fixes on top of 0.1.11's indexer-first refresh. (1) Upgrades no longer die with DeleteFile failed; code 5 -- Access is denied on runtime\node.exe. The pre-install hook now also kills any orphan node.exe running from the Ariadne install dir (foreground diagnostic runs, crashed processes not cleaned up by the scheduled task), not just the scheduled task's own daemon. Path-scoped so it never touches other apps' node.exe. (2) Local BNS indexer API — every app on the machine can now query BNS at http://127.0.0.1/api/tlds, /api/name/<name>, /api/registry directly against the daemon's in-memory index. Same URL shape as the operator gateway, no round-trip through navigate.st for local callers. Upgrades in place.
- - 58ffb06424785973d2cd656e5122061ce10b53a8dcff55605c23b5699552ee75 + + b041652a330fefb4561da7ca14fa84ddf3b6085fda6eb62831cb08ea56ec602d