Arkkitehtuuri

Komponentit, datavirrat ja selaustilat.

Yleiskuva

[Katselin – Servo-fork]
    ├── components/kotisatama/whitelist   ← whitelist-logiikka
    ├── components/kotisatama/search      ← haku-API (Meilisearch-client)
    └── ports/servoshell                  ← embedder-hook (navigointi, UI)

[Android – servoshell EGL]
    └── support/android/apk + JNI-host

[Hallintapaneeli – Tauri 2.0, valinnainen]
    └── Vanhempi hallinnoi whitelistia    ← ei selainmoottori

[CDN – staattinen]
    ├── /free/whitelist.json
    └── /pro/whitelist.json

[Crawler – CI-prosessi]
    └── Playwright → Meilisearch-dump → CDN

Ei omaa palvelinta. Ei VPN-infraa. Haku tapahtuu laitteelle esiladatusta Meilisearch-indeksistä.

Meilisearch laitteella

Indeksi on Meilisearch-dump (CDN), mutta haku vaatii Meilisearch-prosessin laitteessa (bundlattu binääri, subprocess). Kyselyt tehdään HTTP:llä paikalliseen instanssiin.

Selaustilat

Katselin
├─ Satama      ← kuratoitu whitelist, paikallinen haku
├─ Laituri     ← käyttäjän hyväksymät sivut
└─ Avomeri     ← muistiton avoin internet

Sataman osoitekenttä reitittää hakusanat paikalliseen indeksiin (esim. kela → Kela.fi). Avomeri on erillinen tila.

Lue Avomeri-konsepti

Whitelist ja data

Kuratoidut sivulistat ja allekirjoitettu jakelu hallinnoidaan yksityisessä repossa. Julkinen selainkoodi lukee whitelistin CDN:stä tai paikallisesta polusta kehityksessä.

Varustamo

Varustamo on luotettujen sovellusten varasto. Sovellukset ovat tyypillisesti Tauri 2.0 -ohjelmia, jotka julkaisevat paikallisen HTTP-rajapinnan. Katselin avaa ne Sataman sisällä. Sovelluskehitys tapahtuu erillisessä repossa ilman täyttä Servo-buildia.

Upstream-suhde

Katselin on Servo-fork. Tavoite on pitää upstream mahdollisimman puhtaana ja tarjota Servo-korjaukset takaisin upstreamiin Telakka-työnkululla.

Filosofia — Telakka · Telakka — Kela

Nykytila

Whitelist-selailu toimii: kela, kela.fi, suomi ja suomi.fi avautuvat oikein. Avomeri on vielä keskeneräinen.

Nykytila (HTML) · Markdown-lähde

Lähde: docs/architecture/arkkitehtuuri.md