Gmessages-TUI Brings Google Messages to Terminal Interfaces
A new Rust-based terminal client enables SMS and RCS messaging via command line.
1Terminal Messaging Innovation
Developer Louis Rubet has released Gmessages-TUI, a terminal-based client for Google Messages. The tool allows users to manage SMS and RCS conversations directly from their command line interface. It supports essential features including group chats, image rendering in compatible terminals, message reactions, archiving, spam management, trash folders, and search functionality.
2Reverse Engineering the Protocol
Since Google Messages lacks a public API, the developer reverse-engineered the communication protocol. The project utilizes specifications derived from the mautrix-gmessages project and the libgm library. This foundation enabled the creation of gmessages-proto, a clean-room client crate written in Rust, which serves as the core communication layer for the application.
3Technical Architecture and Security
The application stores all messages in a local encrypted database to ensure user privacy. The encryption key is securely managed within the system keystore, preventing unauthorized access to sensitive conversation data. By separating the core logic into chat-tui-core, the developer has created a modular architecture that is reusable for other messaging platforms.
4Installation and Compatibility
Users can install the software via cargo using the command cargo install --locked gmessages-tui. For those preferring package managers, the developer provides deb, rpm, and pacman packages. While the tool is currently tested exclusively on Linux, the author encourages users to test it on macOS or Windows and report findings via GitHub.
5Hardware and Software Requirements
The client requires an active pairing with an Android phone to function correctly. The connected mobile device must remain powered on and connected to the network for the terminal client to sync messages. For users who wish to view images within the terminal, a kitty-compatible terminal emulator is strictly required for rendering.
6Open Source Foundation
The project relies heavily on the open-source ecosystem, specifically leveraging work from the mautrix-gmessages repository. By documenting the protocol, the developer has contributed to the broader understanding of Google's messaging infrastructure. This transparency allows other developers to audit the code and potentially build upon the existing Rust-based communication framework provided.
7Development and Future Outlook
The project is currently in its early stages, as evidenced by the call for cross-platform testing on macOS and Windows. The developer is actively seeking community feedback through GitHub tickets to address bugs or compatibility issues. This collaborative approach is essential for stabilizing the client across different desktop environments and terminal configurations.
8Significance for Power Users
This tool addresses a long-standing gap for terminal enthusiasts who prefer CLI-based workflows over traditional web or mobile interfaces. By enabling RCS and SMS management without leaving the terminal, it streamlines productivity for developers. It highlights the ongoing trend of creating custom, lightweight interfaces for proprietary services through community-driven reverse engineering efforts.
Original article: Hacker News: Show HN — Gmessages-TUI Brings Google Messages to Terminal Interfaces