Skip to content

risunCode/FRAMO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Framo v2.0.0

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.

Screenshot

Dashboard Inbox
Dashboard Inbox

What's New in 2.0.0

  • TUI-first Rust architecture is now the only supported runtime
  • Legacy API and Docker packaging removed
  • Provider layer split into dedicated imail and postinbox services
  • Domain picker moved into a dedicated sidebar card
  • Better Livewire compatibility for both providers
  • Postinbox false message-count issue fixed

Features

  • 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

Supported Domains

Imail

apple.edu.pl nik.edu.pl mailer.edu.pl

PostInbox

unbox.edu.pl blogerspace.com pulecheese.net expertmail.cv goodmail.cv dokumail.biz mailinux.me

Installation

Pre-built binaries

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)

Build from source

cargo build --release

Binary output:

  • Windows: target/release/framo.exe
  • Linux/macOS: target/release/framo

Usage

Launch the dashboard

framo

Provider smoke test

framo --test

Dashboard Hotkeys

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)

Data & Logs

Framo stores runtime files in:

~/.framo/

This directory is used for:

  • logs.log
  • future local app data/config

Project Structure

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

Legacy Source

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.

Requirements

  • Rust 1.85+ / Cargo 1.85+

CI / Release Automation

  • CI runs on Windows, Linux, and macOS
  • Release artifacts are built through GitHub Actions for all supported targets above

About

Generate temporary .edu emails, watch inboxes in realtime, and auto-extract OTP codes — CLI, TUI dashboard & REST API

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors