Disposable emails, instant OTPs. No wait, no hassle.
Framo is a fast, single-binary Rust TUI for creating temporary email addresses and watching inboxes for OTP codes in real time.
| Dashboard | Inbox |
|---|---|
![]() |
![]() |
- TUI-first Rust architecture is now the only supported runtime
- Legacy API and Docker packaging removed
- Provider layer split into dedicated
imailandpostinboxservices - Domain picker moved into a dedicated sidebar card
- Better Livewire compatibility for both providers
- Postinbox false message-count issue fixed
- Fast disposable email creation on supported domains
- Real-time OTP detection from watched inboxes
- Interactive TUI dashboard with scrollable tables and inbox view
- Batch generation with domain selection
- Clipboard actions for OTP and email
- Inbox browser with message list + detail panel
- Config/log directory shortcut from inside the app
- Cross-platform release builds for Windows, Linux, and macOS
apple.edu.pl nik.edu.pl mailer.edu.pl
unbox.edu.pl blogerspace.com pulecheese.net expertmail.cv
goodmail.cv dokumail.biz mailinux.me
Download the latest binary from Releases.
GitHub release builds target:
- Windows (
x86_64-pc-windows-msvc) - Linux (
x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu) - macOS Intel (
x86_64-apple-darwin) - macOS Apple Silicon (
aarch64-apple-darwin)
cargo build --releaseBinary output:
- Windows:
target/release/framo.exe - Linux/macOS:
target/release/framo
framoframo --test| Key | Action |
|---|---|
a |
Add one apple.edu.pl email |
n |
Open domain picker, then enter batch count |
x |
Delete selected row |
r |
Refresh selected email |
> / Right |
Open inbox |
< / Left |
Back to watched emails |
c |
Copy OTP |
e |
Copy email |
d |
Open Framo home directory |
↑↓ |
Move selection |
q |
Quit (press twice) |
Framo stores runtime files in:
~/.framo/
This directory is used for:
logs.log- future local app data/config
src/
main.rs # app entry point + --test mode
config.rs # domains, URLs, polling config
models.rs # EmailAccount, EmailMessage, InboxResponse
browser.rs # HTTP session + Livewire requests
utils.rs # OTP extraction, clipboard, parsing helpers
email_service/
mod.rs # provider selection
imail.rs # imail provider
postinbox.rs # postinbox provider
dashboard/
mod.rs # event loop + terminal setup
state.rs # shared dashboard state
events.rs # key handling
actions.rs # async actions
jobs.rs # background inbox watchers
render.rs # TUI rendering
table.rs # watched email rows
The original Python implementation is intentionally preserved in:
z_old_python/
It is kept as project history/reference, but it is not part of the active Rust runtime or current supported workflow.
- Rust 1.85+ / Cargo 1.85+
- CI runs on Windows, Linux, and macOS
- Release artifacts are built through GitHub Actions for all supported targets above

