De app kijkt naar zijn eigen voordeur, en meet minder dan het plan beloofde

Open punt 5 van Webinterface, goedgekeurd en gebouwd. De agent verbindt met de
eigen TLS-poort, maakt de handdruk af en vergelijkt het getoonde certificaat
byte voor byte met het gekozen bestand.

Die vergelijking blijkt waardevoller dan de handdruk. Ze vangt een
certificaatwissel die nginx nooit heeft toegepast, en dat is precies het geval
waar een controle op vertrouwen blind voor is. Er wordt daarom bewust niet tegen
de certificaatwinkel van het besturingssysteem geverifieerd: een zelfondertekend
certificaat uploaden is een ondersteunde bron en die opstelling zou dan als kapot
gemeld worden.

Twee dingen liepen anders dan het plan zei en staan nu rechtgezet in PLAN 4a2,
OPEN punt 5 en de changelog. De belofte "luisteren, certificaat en doorverbinding
in een keer" klopt voor twee van de drie: na de handdruk wordt er niets
verstuurd. Een echt verzoek zou de sessie bytes geven, en sessies met bytes
worden nooit uit het activiteitenlog gefilterd, want die kunnen een storing zijn.

En dat filteren was de tweede verrassing. Elke meting is voor nginx een gewone
sessie en levert dus een logregel op; zonder rem ging het log over onszelf in
plaats van over wallets. Er zit nu een rem van vijf minuten op, er wordt niet
gemeten vlak na een herlading omdat het vorige certificaat er dan nog staat, en
de eigen regels worden weggelaten op grond van het moment.

Tests: 22 nieuw, met de nadruk op de niet-gelukkige paden en op de rem, want dat
is wat het log bruikbaar houdt. Alle vier de beslissende regels mutatie-getest.
De changelog kreeg ook de ontbrekende 0.0.15 erbij.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-08-27 15:24:24 +02:00
co-authored by Claude Opus 5
parent fc7ec7fc6c
commit c8d9765cb3
10 changed files with 668 additions and 20 deletions
+20 -6
View File
@@ -9,7 +9,7 @@ manifestVersion: 1
id: whatsnext-electrum-gate
category: bitcoin
name: Electrum Gate
version: "0.0.15"
version: "0.0.16"
tagline: Your own node from anywhere, without waiting for Tor
description: >-
The privacy win is already yours: you run the Electrum server. A public one gets asked for
@@ -56,18 +56,32 @@ description: >-
# staan. In 0.0.9 stond er daardoor drie keer "Earlier releases" en twee keer
# dezelfde 0.0.4-regel. De toets let er nu op.
releaseNotes: >-
The app store this app comes from has moved to a new address, and every link in this listing now
points there. The app itself is unchanged. If you added the store at its old address, remove it in
umbrelOS and add the new one.
The app now checks its own front door. Until this release it watched whether your Electrum server was
answering, but never whether the gateway itself was, which is the one thing it exists to do.
The move is because the store now carries a second app, so naming it after this one no longer made
sense.
Every few minutes it opens a connection to its own TLS port, completes the handshake, and compares the
certificate it gets back with the one you picked. That last part catches something nothing else did: a
certificate change that nginx never actually applied, which looks fine from the outside and fails at
your wallet.
For now the result appears as a line in the activity log when it changes. A tile on the dashboard
follows in a later release. The check runs every few minutes rather than every minute, and its own
connections are kept out of the activity log, so the log stays about your wallets.
What it does not tell you: whether your gateway can be reached from outside. This check runs inside the
app, so a router that stopped forwarding the port still reads as fine here.
Earlier releases:
0.0.15 moved the app store this app comes from to a new address, and pointed every link in this listing
there. If you added the store at its old address, remove it in umbrelOS and add the new one.
0.0.14 stopped calling a scan from the internet a refusal. Those now read "probe", in grey, and red
is kept for a session that did carry traffic and then broke. The panels also got more room between
them.