Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mototp

Local-only, cross-platform TOTP authenticator. Secrets stay on the device, and sync happens only between your own devices over the local network, never through a cloud. A replacement for Google Authenticator once it started syncing through the internet.

A TOTP second factor is meant to be local, tied to the device. If the secrets live in a cloud behind an account password, the second factor collapses back into a password.

Features

  • TOTP (RFC 6238) and HOTP (RFC 4226): SHA-1/256/512, 6 to 8 digits, custom period
  • otpauth:// import via QR (phone camera, desktop screenshot picker) or manual entry
  • encrypted dump of the whole secret set into a single master-password file, moved between devices by hand
  • master password with unlock-for-N-minutes, optionally disabled
  • LAN sync: mDNS discovery, QR/PIN pairing, encrypted channel, started by hand
  • tags, so an account can belong to several groups; editing and search
  • service icons with a letter and color fallback derived from the name
  • interoperable export: Aegis / 2FAS, otpauth list, per-account QR, plain text

Non-goals

  • cloud sync, as a matter of principle
  • password storage; this is not a password manager
  • U2F / FIDO2 / WebAuthn
  • SMS / email 2FA
  • push-based auth (Duo-style)

Status

Early development. The desktop app already shows live TOTP/HOTP codes, imports otpauth:// URIs, keeps the entries in a plain TOML file and supports tags, search, renaming and deletion. The rest of the list above - QR import, icons, encryption at rest, LAN sync, exports, Android - is still to come.

Built with

Rust and Dioxus, targeting Linux desktop and Android in the MVP, with macOS, Windows and iOS to follow.

Building

The desktop build links the system WebKit engine. On Linux install the development packages first, then cargo build as usual:

  • Debian/Ubuntu: libwebkit2gtk-4.1-dev libgtk-3-dev libxdo-dev libssl-dev pkg-config
  • Arch: webkit2gtk-4.1 gtk3 xdotool

Development also uses the Dioxus CLI (cargo install dioxus-cli): CI checks formatting with dx fmt and builds the app with dx build.

CI runs in rust-dx-container, which ships these libraries together with the Dioxus CLI.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages