Skip to content

About

An unofficial, native, cross-platform Proton Mail desktop client written in Rust.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Ruston Mail icon

Ruston Mail

An unofficial desktop client for Proton Mail, written in Rust.

Ruston Mail reads, organizes, and sends your Proton Mail in a native three-pane window, without an embedded browser. It comes with ruston-cli, a command-line client for the same account, which also opens a full-screen terminal interface. The project is in early development.

Ruston Mail is not affiliated with or endorsed by Proton AG.

Features

  • Sign in with TOTP, a separate mailbox password, or Proton's human verification.
  • Browse folders and labels with unread counts; filter what is loaded as you type, or search the whole mailbox.
  • Read plain-text and HTML mail, threads, and quoted replies, and save attachments.
  • Write, reply, reply to all, and forward, with attachments.
  • Archive, star, mark read or unread, label, and move to Spam or Trash; a move can be undone.
  • Private by default: the desktop keeps mail in memory, blocks remote images, and asks before opening a link.
  • Work from a terminal as well: ruston-cli opens a full-screen interface to read, organize, search, write, and send mail with Proton Mail's keys.

Limitations

Saved drafts, security-key sign-in, and folder or label management are not supported yet in the desktop client. It can move a message to Trash, but it never permanently deletes mail. See the user guide for more detail.

Download

Get a release from the releases page.

Platform File
macOS 11 or later, Apple Silicon ruston-mail-<version>-arm64-UNSIGNED.dmg
macOS 11 or later, Intel ruston-mail-<version>-x86_64-UNSIGNED.dmg
Linux x86_64, glibc 2.35 or later ruston-mail-<version>-x86_64.AppImage
Linux ARM64, glibc 2.35 or later ruston-mail-<version>-aarch64.AppImage
Windows 10 or later, x86_64 ruston-mail-<version>-x86_64-setup-UNSIGNED.exe, or the portable ruston-mail-<version>-x86_64-windows-UNSIGNED.zip
Windows 10 or later, ARM64 ruston-mail-<version>-arm64-setup-UNSIGNED.exe, or the portable ruston-mail-<version>-arm64-windows-UNSIGNED.zip

Every release publishes SHA256SUMS.txt. Check your download against it from the folder that holds both:

shasum -a 256 -c SHA256SUMS.txt --ignore-missing   # macOS
sha256sum -c SHA256SUMS.txt --ignore-missing       # Linux

On Windows, compare the hash PowerShell prints with the file's line in SHA256SUMS.txt:

Get-FileHash .\ruston-mail-<version>-x86_64-setup-UNSIGNED.exe

macOS: open the DMG and drag Ruston Mail to Applications. The app is not notarized, so macOS blocks its first launch: allow it once under System Settings → Privacy & Security → Open Anyway.

Linux: the AppImage runs on Ubuntu 22.04, Debian 12, Fedora 36, and later. Make it executable and start it:

chmod +x ruston-mail-<version>-x86_64.AppImage
./ruston-mail-<version>-x86_64.AppImage

Windows: run the setup file. It installs for your user without administrator rights and adds Ruston Mail to the Start menu; it can also offer Ruston Mail for email links and put ruston-cli on your PATH. The files are not signed, so SmartScreen may say that it protected your PC: choose More info, then Run anyway. Windows with Smart App Control turned on does not run unsigned apps. To use Ruston Mail without installing it, extract the ZIP and start ruston.exe; its README.txt covers email links and removal.

Command line

ruston-cli ships inside the app and shares its session. On macOS it is Ruston Mail.app/Contents/MacOS/ruston-cli; on Linux, pass --cli as the AppImage's first argument; on Windows it is ruston-cli.exe, beside ruston.exe in %LOCALAPPDATA%\Programs\Ruston Mail.

ruston-cli messages list --folder inbox
ruston-cli messages read <id>
ruston-cli --help

Run ruston-cli with no command, or ruston-cli tui, to open its terminal interface; ruston-cli --demo tui tries it on fictional mail. It writes plain text and keeps a message being written in memory, never as a draft. The user guide lists its keys.

Its optional local search index keeps decrypted message bodies on disk, unencrypted. The user guide covers that, putting the CLI on your PATH, separate profiles, and exports.

Build from source

You need Rust 1.96 or newer. With rustup, cargo builds with the version rust-toolchain.toml names, as CI and releases do, and fetches it the first time.

git clone https://github.com/luiscuellar31/ruston-mail.git
cd ruston-mail
cargo run                          # the desktop app
RUSTON_DEMO=1 cargo run            # a fictional mailbox, no account needed
cargo run -p ruston-cli -- --help  # the command-line client

The demo never contacts Proton. The development guide covers PowerShell, Linux launchers, Windows builds, packaging, and releases.

Documentation

License

Ruston Mail is available under the MIT License. THIRD_PARTY_LICENSES.txt, which every package carries, holds the notices of the software it ships with.

About

An unofficial, native, cross-platform Proton Mail desktop client written in Rust.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages