Skip to content

About

MOSH is the standalone desktop chat client for the MOSS runtime.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

1,202 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mosh mesh-node logo

Mosh

Private chats, groups and calls over a peer-to-peer network.
Built for the desktop. Open source.

Latest release License: GPL v3

Download · Get started · What's new · Privacy

Mosh desktop showing a fictional conversation with Maya, a file, a voice note and conversation details

Desktop preview with sample data.

Download

Open the latest release and choose the file for your platform.

Download Installation
Windows x64 · .exe Run the installer.
macOS 12+ · .dmg Drag Mosh to Applications.

Windows installs without admin access. The macOS build supports Apple Silicon and Intel.

Windows and macOS packages are available. Android supports linked text chats while the app is open; Android packages are not published yet.

First launch and checksums

Release files are named mosh-<version>-setup.exe and Mosh_<version>_universal.dmg. Each has a matching .sha256 checksum.

Mosh currently ships without a signature trusted by Windows or macOS. The macOS app has a self-signed signature and is not notarized. See the signing policy.

  • Windows SmartScreen: choose More info, then Run anyway.
  • macOS Gatekeeper: try opening the app once, then go to System Settings > Privacy & Security > Open Anyway.

On Windows, compare this output with the matching .sha256 file:

Get-FileHash .\mosh-*-setup.exe -Algorithm SHA256

On macOS, put the DMG and its checksum in the same directory, then run:

shasum -a 256 -c Mosh_*_universal.dmg.sha256

Chats, files and calls

Mosh finds other devices automatically through the Moss network. Private chats and groups use end-to-end encryption. Messages travel without a central message server.

Glass conversation bubbles connected through a peer mesh

  • Send messages, share files and voice notes, and make one-to-one voice calls.
  • Keep personal chats, groups and public channels in one searchable list.
  • See participants and shared files beside your chat on a wide window.
  • Use English or Russian, with layouts for desktop and smaller screens.

Add another device

Link a new installation using a trusted device's QR or private link, then confirm the code. Continue your text chats and recover available history. Each installation keeps its own keys and encrypted local storage.

A glass laptop and phone connected by a lime-lit path

How device linking works

Get started

  1. Choose your display name.
  2. Select This is my first device, or link a device you already use. Keep networking automatic unless you need to work around a VPN.
  3. Create a private chat and share its invitation. Your contact opens it in Mosh to join.

Mosh first-run setup showing the name step with Alex as the sample display name
First-run setup with a sample name.

Setup saves your progress. Your name, devices and network preferences remain available in Settings. Existing installations with conversations or linked devices skip setup.

Setup guide · Private chat guide

Privacy

  • Private chats and groups are end-to-end encrypted. Public channels are signed, but their messages are not confidential.
  • Discovery uses public trackers. Mosh does not provide anonymity, and participants can see device associations.
  • Message history is encrypted locally. Crash reporting is off by default; you can enable it in Privacy settings.
How local history keys are stored

Windows and Linux use the OS credential store for the history key; Android uses Keystore. On macOS, the key is kept in a permission-restricted file in the app container. These choices and their limits are documented in the storage and threat model.

Development

CI status

The app is Flutter and Riverpod over a Rust core, connected by flutter_rust_bridge. The core owns OpenMLS, Moss transport, persistence and voice calls.

Build from source and repository map

Use the toolchain versions from .github/actions/setup and rust-toolchain.toml. You also need Node.js and the native build tools for your platform. Start on Windows or macOS:

git clone --recursive https://github.com/redstone-md/mosh-flutter.git
cd mosh-flutter
node scripts/moss-prepare.mjs
flutter pub get

On macOS, prepare the native audio library before the first build:

brew install autoconf automake libtool
bash scripts/opus-prepare-macos.sh

Then run flutter run -d windows or flutter run -d macos on the matching platform. Moss is built from the pinned submodule, including both macOS architectures.

Moss preparation also reconstructs the pinned, patched OpenMLS source. Flutter native builds and CI prepare it automatically. Before running Cargo or bridge codegen directly in a fresh checkout, run node scripts/openmls-prepare.mjs. The patch notes explain checksums and offline builds.

Location Responsibility
lib/ Flutter UI, feature state and generated Dart bindings
mosh-core/ Rust runtime, encryption, transport and local persistence
moss/ Pinned Go transport submodule
docs/ADR/ Architecture decisions
test/support/ Scripted dependencies shared by widget tests and previews

The documentation index links to feature guides and decisions. See AGENTS.md for checks and contribution constraints, and the architecture map for runtime boundaries. The visual asset notes explain how to regenerate the screenshots and record the logo source and illustration prompts.


GNU GPL v3. Bundled Inter fonts use the SIL Open Font License.

Report a bug · Architecture

About

MOSH is the standalone desktop chat client for the MOSS runtime.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages