diff --git a/approval.html b/approval.html index f7088f4..294a4ea 100644 --- a/approval.html +++ b/approval.html @@ -11,7 +11,7 @@ :root { --surface:#ffffff; --surface2:#f1f4fa; --line:rgba(0,0,0,.12); --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; /* Darker acid for light backgrounds — ~5.5:1 on white. */ - --acid: #088A66; } + --acid: #0AC18E; } } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; background: transparent; } diff --git a/bundled-addons/bchwallet/panel.html b/bundled-addons/bchwallet/panel.html index 7f0ce7b..ae35e8b 100644 --- a/bundled-addons/bchwallet/panel.html +++ b/bundled-addons/bchwallet/panel.html @@ -13,7 +13,7 @@ :root { --bg:#f8faff; --panel:#ffffff; --card:#f1f4fa; --line:rgba(0,0,0,.10); --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; /* Darker acid on light backgrounds — ~7:1 contrast on white. */ - --acid: #088A66; } + --acid: #0AC18E; } } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; } diff --git a/bundled-addons/screenshot/editor.css b/bundled-addons/screenshot/editor.css index 963cdf5..3807599 100644 --- a/bundled-addons/screenshot/editor.css +++ b/bundled-addons/screenshot/editor.css @@ -6,7 +6,7 @@ --danger:#ff5b5b; --board:#0a0d13; } @media (prefers-color-scheme: light) { :root { --bg:#f8faff; --panel:#ffffff; --panel2:#eff3fb; --line:rgba(0,0,0,.10); - --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; --acid: #088A66; + --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; --acid: #0AC18E; --board:#dde3ee; } } * { box-sizing: border-box; } diff --git a/bundled-addons/siawallet/panel.html b/bundled-addons/siawallet/panel.html index 5cd39bf..0af1397 100644 --- a/bundled-addons/siawallet/panel.html +++ b/bundled-addons/siawallet/panel.html @@ -12,7 +12,7 @@ :root { --bg:#f8faff; --panel:#ffffff; --card:#f1f4fa; --line:rgba(0,0,0,.10); --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; --sia:#1abc6a; /* Darker acid on light backgrounds. */ - --acid: #088A66; } + --acid: #0AC18E; } } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; } diff --git a/chrome.html b/chrome.html index 2e11654..b641f60 100644 --- a/chrome.html +++ b/chrome.html @@ -20,7 +20,7 @@ contrast on #ffffff so text and single-pixel accents stay readable. Tint fills (rgba(214,255,61,.08) etc.) stay as-is: at low alpha the specific hue barely matters. */ - --acid: #088A66; + --acid: #0AC18E; } } [hidden] { display: none !important; } diff --git a/error.html b/error.html index 459914a..cf7e456 100644 --- a/error.html +++ b/error.html @@ -12,7 +12,7 @@ :root { --bg:#f6f8fb; --panel:#ffffff; --panel2:#f0f4f9; --line:rgba(0,0,0,.10); --ink:#1a1f2b; --mut:#5c6577; --dim:#8a93a5; /* Darker acid for light backgrounds — ~5.5:1 on white. */ - --acid: #088A66; } + --acid: #0AC18E; } } * { box-sizing: border-box } html, body { margin: 0; height: 100% } diff --git a/home.html b/home.html index 6e83dcd..c5701e6 100644 --- a/home.html +++ b/home.html @@ -107,7 +107,7 @@ --card: #ffffff; --card-hi: #f4f7fb; --line: rgba(0,0,0,.10); --line2: rgba(0,0,0,.14); --ink: #1a1f28; --mut: #4a5262; --dim: #8a93a2; /* Darker acid for light backgrounds — ~5.5:1 on white. */ - --acid: #088A66; } + --acid: #0AC18E; } h1 .g { color: var(--acid); } .modal { background: #ffffff; } } diff --git a/main.js b/main.js index 4ae8c8b..7a96745 100644 --- a/main.js +++ b/main.js @@ -675,11 +675,25 @@ async function clearHistoryNow() { clearTimeout(historySaveTimer); historySaveTimer = null; try { fs.unlinkSync(historyFile()); } catch {} } +// Strip Electron + Theseus tokens from the User-Agent so Cloudflare's WAF +// (and other bot heuristics) don't flag every request. Verified: sending +// Mozilla/5.0 (…) theseus-navigator/0.3.22 Chrome/… Electron/33.4.11 Safari/537.36 +// to whybitcoincash.com got HTTP 503 from Cloudflare; the same request +// without the theseus + Electron tokens returns 200. Brave / Vivaldi / Slack +// (Electron) all do the same strip — a Chromium browser identifying itself +// as vanilla Chrome is standard practice in the Electron ecosystem. +function stockChromeUA() { + try { + return session.defaultSession.getUserAgent() + .replace(/ *theseus-navigator\/\S+/i, "") + .replace(/ *Electron\/\S+/i, ""); + } catch { return null; } +} // Accept-Language header follows the locale setting (session-wide, best effort). function applyAcceptLanguage() { const loc = effLocale() || app.getLocale() || "en-US"; try { - const ua = session.defaultSession.getUserAgent(); + const ua = stockChromeUA() || session.defaultSession.getUserAgent(); session.defaultSession.setUserAgent(ua, `${loc},${loc.split("-")[0]};q=0.8`); } catch {} } diff --git a/messages.html b/messages.html index 0f2e995..bd95e19 100644 --- a/messages.html +++ b/messages.html @@ -14,7 +14,7 @@ --bg:#f6f8fb; --panel:#ffffff; --panel2:#f0f4f9; --line:rgba(0,0,0,.10); --ink:#1a1f28; --mut:#3c4453; --dim:#697280; /* Darker acid for light backgrounds — ~5.5:1 on white. */ - --acid: #088A66; + --acid: #0AC18E; } } *{box-sizing:border-box} diff --git a/settings.html b/settings.html index 5f69e3f..a684f62 100644 --- a/settings.html +++ b/settings.html @@ -38,7 +38,7 @@ nativeTheme.themeSource, which drives prefers-color-scheme — so pinning color-scheme via that media query keeps the popup in sync automatically. */ :root { color-scheme: dark; } - @media (prefers-color-scheme: light) { :root { color-scheme: light; --acid: #088A66; } } + @media (prefers-color-scheme: light) { :root { color-scheme: light; --acid: #0AC18E; } } /* Explicit option styling — Chromium respects it in the popup on Windows. */ select option { background: #1b2330; color: var(--ink); } @media (prefers-color-scheme: light) { select option { background: #f1f3f7; color: #1a1f28; } }