Het ontwerp van de limiter en de pagina, en de limiter is klein

createRelay uit @evolu/nodejs neemt twee terugroepfuncties, isOwnerAllowed en
isOwnerWithinQuota, en Trezor doet in createEvoluRelay.ts zelf niets anders. Hun
hele quota-manager met Postgres bestaat alleen om de tabel te vullen die die twee
raadplegen. Wij vullen ze met eigen logica en bouwen niets na. Weg 1 uit
Bereikbaarheid 4b is daarmee veel goedkoper dan daar aangenomen, en dat is wat de
keuze van de gebruiker mogelijk maakt.

De logica zoals hij hem formuleerde: de eerste eigenaar die zich meldt wint, een
schakelaar bepaalt of er nog nieuwe bij mogen, en data is per eigenaar te wissen.
Dat laatste doet het relay-proces zelf, aangestuurd met een vlagbestand vanaf de
pagina; geen tweede container die langszij in de SQLite schrijft en geen
Docker-socket.

Twee feiten uit de broncode van Evolu die het ontwerp sturen en die in de naslag
staan met bron. De gepubliceerde image zet isOwnerWithinQuota op 1 MB per eigenaar
en laat isOwnerAllowed weg, dus een kale relay is niet volledig ongelimiteerd,
maar dat plafond geldt ook voor de echte gebruiker. En de relay-URL van de client
bevat een pad dat letterlijk wordt overgenomen, wat een goedkope proxy-controle
mogelijk maakt; die is bewust niet genomen nu de allowlist er komt.

De poorten gaan om: pagina achter app_proxy met de inlog aan, relay op een eigen
gepubliceerde poort waar Zoraxy met TLS naartoe wijst. Dat lost open punt 2 op
zonder het bezwaar dat daar stond, en het volgt het patroon dat Electrum Gate in
deze repo al gebruikt. De pagina volgt hetzelfde ontwerpsysteem, zonder de Google
Fonts-verwijzing eruit.

Open punt 8 en 2 zijn beslist, fase 5 staat als takenlijst. De gebruiker heeft de
oude installatie van de Umbrel gehaald; er wordt niet geupdatet maar opnieuw
gebouwd.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-08-28 11:02:51 +02:00
co-authored by Claude Opus 5
parent 6b114475d5
commit edb91c4749
5 changed files with 198 additions and 21 deletions
+25 -2
View File
@@ -82,13 +82,32 @@
proxy met een eigen domein is wat Electrum Gate al doet. Beide veranderen dit van "een vlag omzetten" in
een eigen ontwerpvraag.
**Richting van de gebruiker, 28-08-2026:** een certificaat op een eigen subdomein, en Zoraxy dat die
naam doorzet naar de relay op de interne poort. Dat is dezelfde weg die Electrum Gate al gebruikt, dus
het is bekend terrein en geen nieuw bouwwerk. Twee dingen die daarbij vastliggen:
- **Zoraxy moet de WebSocket-upgrade doorlaten.** Dit is geen gewone HTTP-site; alles loopt over één
opgewaardeerde verbinding, en bij de meeste reverse proxies is dat een schakelaar per host. Staat die
uit, dan lijkt het beeld op dat van vanochtend: een server die leeft en een cliënt die niets doet. De
handshake-curl uit [PLAN.md](PLAN.md) §6a stap 3 is dan de test, met de publieke naam in plaats van
het IP;
- **TLS lost punt 8 niet op, het maakt het dringender.** Een certificaat regelt versleuteling en
waarschijnlijk iOS, maar niet wie er mag schrijven. Achter een publieke naam is de kale relay vanaf
het internet bereikbaar zonder enige toegangscontrole. De kale relay op een LAN is iets anders dan de
kale relay op een publiek subdomein.
**Goedkoopste volgende meting, en die kost niets:** op de telefoon controleren of de synchronisatie
überhaupt aangaat en of het apparaat om een bevestiging vraagt. Is het antwoord nee, dan is TLS niet de
verdachte en zou een certificaat niets opgelost hebben.
**Moment:** nadat de verbouwing staat; de desktop werkt en dat is genoeg om verder te bouwen ·
**Eigenaar:** gebruiker
8. **Welke limiter komt er op de kale relay?**
8. **Welke limiter komt er op de kale relay?** - **beslist op 28-08-2026: weg 1, de relay uitbreiden via
`createRelay`.** Het ontwerp staat in [PLAN.md](PLAN.md) §4g en bleek veel kleiner dan hieronder
aangenomen: het zijn twee terugroepfuncties en geen eigen relay. De gebruiker breidde het uit met een
schakelaar voor nieuwe eigenaars en het wissen van data per eigenaar. Het geheime pad uit de vierde weg
is bewust niet genomen. De rest van dit punt blijft staan als onderbouwing tot de verbouwing er is.
Nieuw op 27-08-2026, uit de richting in punt 6. Dit is de vraag die met "kaal gaan" meekomt en die je
niet kunt uitstellen tot na de verbouwing, want hij bepaalt of er een eigen image nodig blijft.
@@ -134,7 +153,11 @@
**Moment:** als fase 4 helemaal af is, dus als bewezen is dat er iets te delen valt · **Eigenaar:**
gebruiker
2. **Komt er een statuspagina?**
2. **Komt er een statuspagina?** - **beslist op 28-08-2026: ja, en achter de umbrelOS-inlog.** De
poortindeling gaat om: de pagina komt op de app-proxy mét inlog, de relay op een eigen gepubliceerde
poort waar Zoraxy naartoe wijst. Daarmee vervalt het bezwaar hieronder, want de pagina ligt dan wél
achter een grens. Zie [PLAN.md](PLAN.md) §4h.
Electrum Gate heeft er een en die bleek in de praktijk het nuttigste deel van die app. Hier zou dat
kunnen: draait de relay, hoe groot is de database, wanneer was de laatste synchronisatie, en is er een
eigenaar geregistreerd. Dat laatste is meer dan gemak, want het is precies waar het stil kan misgaan.