Add Block Explorer config, log TLS handshakes at notice level

Two related polish items:

1. Optional custom block explorer. New union under Advanced config
   ("Block Explorer") defaulting to "mempool.space". Picking
   "Custom URL" reveals a single text field where the user can
   point Kamado at their own mempool instance — useful for users
   running mempool as a sibling StartOS service or on the same LAN.
   The entrypoint reads .advanced.mempool-explorer.{type,url} and
   exports MEMPOOL_BASE_URL when type=custom; otherwise leaves it
   empty and the UI keeps its mempool.space defaults.

2. stunnel debug level 4 (warning) was hiding successful TLS
   handshakes — only failures showed up in the service logs, which
   made it hard to confirm "yes, my miner did connect over TLS"
   without going looking at netstat. Bump to level 5 (notice) so
   each successful handshake produces an "accepted connection from
   <ip>" / "connected from <ip>" line. Errors stay visible at level
   3, so the only thing this changes is making the happy path
   observable.
This commit is contained in:
satoshi
2026-04-26 23:11:07 +03:00
parent d9ad1036f5
commit 4be06d347c
2 changed files with 52 additions and 1 deletions
+34
View File
@@ -179,6 +179,40 @@ export const getConfig: T.ExpectedExports.getConfig = compat.getConfig({
},
"default": "info",
},
"mempool-explorer": {
"type": "union",
"name": "Block Explorer",
"description":
"Where Kamado's UI links should send you when you click a block hash or a user's BTC address. Defaults to mempool.space (the public instance). Switch to 'Custom' to point Kamado at a self-hosted mempool.space mirror — useful if you run mempool as another StartOS service or on the same network.",
"tag": {
"id": "type",
"name": "Source",
"description": "Public mempool.space, or your own instance.",
"variant-names": {
"default": "mempool.space (default)",
"custom": "Custom URL",
},
},
"default": "default",
"variants": {
"default": {},
"custom": {
"url": {
"type": "string",
"name": "Mempool URL",
"description":
"Base URL of your mempool instance, e.g. https://mempool.example.com. Kamado will append /address/<addr> and /block/<hash> to it, so the instance must follow the standard mempool.space URL layout.",
"nullable": false,
"default": "",
"pattern": "^https?://[^\\s]+$",
"pattern-description":
"Must be an http:// or https:// URL with no whitespace.",
"masked": false,
"copyable": false,
},
},
},
},
},
},
});