Focuser
merged · PR #16An open-source website and application blocker built in Rust.
Password & random-text unlock
Added two ways to deliberately end a block list’s protection early: enter a password or retype a random-text challenge. Built the flow across the Rust backend, CLI, and desktop UI.
- Hashed passwords with Argon2 and persisted single-use unlock challenges in the database so they survive separate CLI processes.
- Preserved existing protection when block lists are updated, and kept scheduled blocking active after an unlock.
- Added an unlock-method selector, translated error messages, and tests for wrong answers, challenge replay, and protection persistence.
Rust · TypeScript · Tauri · Argon2
merged