From b312abb4432cb3258c896541babd9a31c9aabca9 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 15 Jun 2026 23:46:46 -0700 Subject: Add footer; default to public explorers (proxy via localStorage opt-in) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Footer: "made with ♥ by Adam Soltys" (links adamsoltys.com) and "source available on GitHub" (links the repo). - Explorer endpoint now defaults to the public explorers; a rate-limited machine can opt into a proxy via localStorage('explorer-proxy'). Correct for a hosted multi-user deploy (each visitor uses their own IP). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/api.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/api.js') diff --git a/src/api.js b/src/api.js index 0135369..a91d94b 100644 --- a/src/api.js +++ b/src/api.js @@ -6,9 +6,18 @@ // - a 429 from ANY request immediately backs off ALL subsequent requests // (global exponential pause), easing back as requests succeed. -// TEMPORARY: route explorer traffic through a VPS while this IP is rate-limited -// by mempool.space. Set PROXY = '' to go back to the public explorers directly. -const PROXY = 'http://51.79.52.200:8088'; +// Explorer endpoint. Defaults to the public explorers (correct for a hosted, +// multi-user deploy — each visitor uses their own IP). A specific machine whose +// IP is rate-limited can opt into a proxy at runtime: +// localStorage.setItem('explorer-proxy', 'http://51.79.52.200:8088') +// (http proxy only works when the page itself is served over http/localhost). +const PROXY = (() => { + try { + return localStorage.getItem('explorer-proxy') || ''; + } catch { + return ''; + } +})(); const BACKENDS = PROXY ? { -- cgit v1.2.3