Entry 18. Self-Hosted Zero-Knowledge E2EE Relay for VPS
⏱️ Timestamp: September 18, 2026, 19:30 — 20:30 (~60 minutes)Commercial SSH tools enforce cloud lock-in: your connection inventories and metadata live on external vendor servers. We chose an unyielding Zero-Knowledge architecture:
- Built the lightweight
shellit-sync-serverDocker container (2-minute spin-up on any VPS). - Client-Side End-to-End Encryption (E2EE): Everything (hosts, snippets, environment tags) is encrypted locally via AES-256-GCM. Encryption keys derive from a user sync passphrase via Argon2id.
- The VPS relay handles solely encrypted binary blobs. A compromised relay yields only random cipher text.
- Conflict resolution managed seamlessly via Vector Clocks.
Entries 21–25. Argon2id Password Rotation (BUG-018) & The GlobalKey Pitfall
⏱️ Timestamp: September 18, 2026, 21:00 — 23:30 (~150 minutes)Deep security regression testing revealed critical architectural discrepancies:
- BUG-018 (Fictitious Master Password Rotation): In initial drafts, the change-password dialog displayed a success notification, but the underlying Drift/SQLCipher database retained the old encryption key! We engineered an authentic rotation routine: dumping plain records into volatile memory buffers, re-encrypting the database with fresh Argon2id salts, and cycling secure OS Keychain entries.
- BUG-021 (GlobalKey Collision in IndexedStack): Switching between terminal sessions and SFTP tabs triggered a red Flutter screen:
Duplicate GlobalKey detected in widget tree. TheIndexedStackkept background widgets alive with identical generated keys. Replaced fragile global references with contextualValueKey(sessionId).
Entries 26–28. The Mobile Renaissance: Shellit on Android
⏱️ Timestamp: September 19, 2026, 01:00 — 03:40 (~160 minutes)Mobile SSH apps often degrade into frustration without physical keys like Ctrl, Esc, Tab, and arrow keys.
We tailored Shellit for Android workflows:
- Dedicated Touch Accessory Bar: An ergonomic row positioned directly above the soft keyboard exposing
Esc,Tab,Ctrl,Alt, history navigation arrows, pipes|, and tildes~. - Haptic Feedback: Every tap produces a crisp mechanical vibration impulse, simulating physical key travel.
- Desktop Hygiene: Heavy Windows WebView2 and FFI desktop loaders are strictly decoupled via conditional imports, keeping the APK lean and lightning-fast.