Okiyumi VPN
Caso di studio tecnologico: VPN con smart routing per Windows
Sistemi · reti
Lo studio di un sistema di rete ambizioso: routing per applicazione e per dominio invece del «tutto o niente».
Contesto
Okiyumi VPN è una piattaforma Windows in beta chiusa. La studio come caso tecnologico: come è costruito il sistema, quali problemi risolve e quali compromessi ingegneristici ha scelto.
Problema
Una VPN classica è uno strumento grezzo: o tutto il traffico passa nel tunnel o niente. L'obiettivo è un routing basato su regole — un'app nella VPN, un dominio diretto, qualcosa bloccato — sopravvivendo a riavvii e crash senza lasciare la macchina in uno stato di rete rotto.
Come funziona il sistema
- 01
Smart Routing: Application → VPN / Direct / Block e Domain → VPN / Direct / Block, con regole a TTL per i domini e tracciamento della proprietà delle route.
- 02
Separazione dei privilegi: l'interfaccia React + Tauri comunica con un servizio Windows dedicato tramite named pipe — l'interfaccia non richiede mai diritti di amministratore.
- 03
Modifiche di rete transazionali, connessione VPN a due fasi e vera validazione del handshake WireGuard — il sistema si riprende da soli da crash e riavvii.
Architettura
Interfaccia React
interfacciaTauri
shell nativaStrato Rust
named pipe · DPAPIOkiyumiEngine
servizio WindowsNetwork Safety Layer
Smart Routing · WireGuard · WFP · DNSRete Windows
FLOW
- 01Applicazione / dominioregola→ Smart Routing
- 02Smart Routing→ VPN / Direct / Block
Numeri
tutte le metriche si riferiscono al progetto, non a risultati personali
test del core Rust del progetto
metrica del progetto
test del server di provisioning del progetto
metrica del progetto
Perché è importante
- Per me è lo studio di un sistema complesso: come un'idea di prodotto («una VPN che non devi accendere e spegnere») diventa un'architettura di servizi, confini dei driver e ripresa dai guasti.
Cosa ho imparato
- Come un requisito di prodotto detta un confine ingegneristico: se l'interfaccia non deve richiedere diritti di amministratore, serve un servizio separato e un canale verso di esso.
Stack
- TypeScript
- React 18
- Vite
- Zustand
- Tailwind CSS
- Tauri 2
- Rust
- WireGuard
- WFP
- Named Pipes
- DPAPI
- Debian
- systemd
Competenze
- Alfabetizzazione tecnica
- Analisi dei sistemi
Risultato
- Uno stack di rete completo su Windows: WFP, API di routing, un resolver DNS e un confine proprio del routing driver — non un involucro del client di qualcun altro.
- La stabilità del progetto è verificata dai test: 353 test del core e suite separate per frontend, server e deployment.