matrirc
IRC gateway to Matrix with end-to-end encryption
TLDR
SYNOPSIS
matrirc [--allow-register] [--media-dir path] [--media-url url]
DESCRIPTION
matrirc is a small, single-binary IRC gateway that lets a standard IRC client connect to a Matrix homeserver. Unlike a server-side application service such as matrix-appservice-irc, matrirc runs locally in front of the user's IRC client and translates between the two protocols. It supports Matrix end-to-end encryption (Olm/Megolm) and cross-signing device verification, so encrypted rooms remain readable.On first launch with --allow-register, the server prompts for Matrix login credentials when an IRC client connects with a chosen nick and password. After successful login the nick/password pair is bound to the Matrix session, and subsequent reconnections restore the session without going through registration again. Encrypted media attachments can be decrypted and exposed to the IRC client through a local directory served behind a configurable URL prefix.The project is written in Rust and aimed at users who prefer the IRC client experience but participate in Matrix rooms.
PARAMETERS
--allow-register
Allow new IRC clients to bind a Matrix account on first connection. Once a nick/password is bound, restart without this flag for normal operation.--media-dir path
Local directory where encrypted Matrix media is decrypted and stored when downloaded for IRC clients.--media-url url
URL prefix substituted into messages so IRC clients receive a clickable link to media saved in --media-dir.
CONFIGURATION
State (sessions, encryption keys, room cache) is persisted under matrirc's data directory. The exact path depends on the build but typically lives under $XDG_DATA_HOME/matrirc or the directory matrirc is started in. Connect using any IRC client by pointing it at the matrirc-bound port (default IRC port 6667) with the password you registered.
CAVEATS
Several Matrix features are not yet implemented: topic and icon change notifications, joining rooms from the IRC side, @mentions, and voice/video calls. Media cleanup is manual - downloaded files in --media-dir must be pruned by the user. Restarting with --allow-register is sometimes required to add a second account; once binding is done, omit the flag.
HISTORY
matrirc was created by Dominique Martinet (martinetd) and is hosted at github.com/martinetd/matrirc. It was developed to give long-time IRC users a lightweight, locally-run bridge into Matrix without operating a homeserver-level appservice.
SEE ALSO
matrix-appservice-irc(1), weechat(1), irssi(1)
