Skip to content

nutjob-laboratories/merk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,459 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Cross-Platform Open Source IRC Client
A multiple-document interface IRC client for Windows, Linux, and macOS

Current stable release: MERK 0.051.950
Current development version: MERK 0.051.976

Help Fund MERK!

MERK is a cross-platform graphical open source IRC client written in Python 3 with PyQt5 and Twisted. It uses a multiple-document interface, much like the classic Windows client mIRC. Unlike mIRC, MERK is completely free and open source, and runs on all major platforms. It's designed to be easy and intuitive for new users, while staying powerful and deeply customizable for everyone else. You never have to delve deeper into the interface than you want to.

Windows Linux macOS
MERK connected to Libera and EFnet, on Windows 11, using the Windows widget set. MERK connected to Libera, EFnet, and MansionNET on Linux Mint 22.3, using the Oxygen widget set. MERK connected to MansionNET on macOS 26.2, using the Fusion widget set in dark mode.

MERK is in active development and updated frequently. Visit the project at https://merk.chat, get the latest release at https://download.merk.chat, or grab the development version at https://latest.merk.chat. New builds are done almost every day, with bugfixes and tweaks.

Support the project: if you'd like to help fund MERK, please consider donating. Anyone who donates $50 or more gets their name immortalized on the "patrons" tab in MERK's "about" dialog. MERK will always be free and open source. Let's keep IRC alive in the 21st century!

Downloads

All files are packed in ZIP archives unless otherwise noted. Direct downloads below are for the current development version.

Type Platform Download
User Guide PDF MERK User Guide
Current Release All MERK 0.051.950 Release
Zip Archive Cross-Platform Python Download MERK 0.051.976 (10.93 MB)
Zip Archive Linux Executable Download MERK 0.051.976 (97.02 MB)
Flatpak Linux Flatpak Download MERK 0.051.976 (71.23 MB)
Zip Archive Windows Executable Download MERK 0.051.976 (47.91 MB)
Windows Installer Windows Setup Download MERK 0.051.976 (45.45 MB)

Quick Start

The Windows and Linux builds are made with PyInstaller and run without installing Python or any libraries. All command-line arguments work the same on every version of MERK; see the full reference.

Windows

Run the installer (unzip and double-click setup.exe), or download the zip, unzip anywhere, and double-click merk.exe. To update, just install the newer version over the old one (or extract the zip over the old files).

Linux

Download the zip, unzip anywhere, and run merk. Both X11 and Wayland are supported.

If you prefer Flatpak, download the Flatpak and install it with:

flatpak install --user merk-latest.flatpak

You may need to restart your window manager for the menu entry to appear. To update, install the newer Flatpak the same way.

macOS

Install Python 3.13 with Homebrew, then download and extract the cross-platform zip and set up a virtual environment:

brew install python@3.13
cd /path/to/merk
python3.13 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install pyqt5 Twisted pyOpenSSL service_identity

Then run MERK with:

python merk.py

To launch from a shortcut or script, activate the virtual environment first:

source /path/to/merk/.venv/bin/activate && python /path/to/merk/merk.py

Running from source (any platform)

MERK requires Python 3.09+, PyQt5, and Twisted. For SSL/TLS connections, pyOpenSSL and service_identity are also needed:

pip install pyqt5 Twisted pyOpenSSL service_identity

On Windows, you may also need pywin32 (pip install pywin32). Download the cross-platform zip, extract it, and run:

python merk.py

Four libraries come bundled with MERK: qt5reactor 0.6.3, pyspellchecker 0.8.3, emoji 2.15.0, and pike 0.2.0.

Features

  • Runs on Windows, Linux, and macOS, with stand-alone binaries for Windows and Linux and a Flatpak for Linux
  • Multiple-document interface, like the classic mIRC: each server, channel, and private chat gets its own subwindow
  • Multiple simultaneous connections. Chat on more than one IRC server at a time, via TCP/IP or SSL/TLS, with SASL support and a built-in list of over 200 IRC servers
  • Nearly 400 settings, almost all changeable in the GUI and applied instantly, no restart or config-file editing required. MERK may be the most configurable IRC client ever created
  • Full scripting engine with a built-in syntax-highlighting editor, connection scripts, flow control, aliases, macros, and application-wide hotkeys
  • Python plugins that can react to over 40 IRC and application events, with full access to the Twisted IRC client: written, edited, and exported entirely inside the application
  • Complete theming: all text colors and backgrounds can be customized per-channel with a built-in style editor, plus dark mode and default styles for both light and dark mode
  • Automatic logging of channels and private chats, stored as JSON with export to CSV, "human readable", or custom formats. Saved logs can be viewed in the application with support for IRC colors and formatting display, and clickable links
  • Quality-of-life everywhere: spell checking in 8 languages, autocomplete, emoji and ASCIImoji shortcodes, message filtering (hide JOIN/PART/QUIT and friends), audio notifications, and full IRC color support
  • MERK "markdown" for injecting IRC colors and italic, bold, underline, and strikethrough formatting into messages with plain text
  • Over 80 commands for use in the client or in scripts. See the full command reference
  • Open source (GPL 3) with built-in documentation

Documentation

  • MERK User Guide — the complete manual, covering everything from first connection to writing plugins
  • Command reference — every client and scripting command, command-line usage, and MERK "markdown"
  • Plugin examples — example plugins to get you started
  • CHANGELOG — changes in the current development version

Community & Contact

Join the official MERK IRC channel: #merk on the MansionNET network. Connect via the built-in server suggestions, or at irc.inthemansion.com, port 6697 (SSL). I'm an IRCop on MansionNET, and I'm usually in #merk and #lobby. I also run a channel on the Libera network, #merk at irc.libera.chat, port 6667. You can also drop me an email.

Helping Out

Yes, MERK needs help! It's written by me, Dan Hetrick, and I can't do everything this software needs:

  • Donate! — If you like MERK, like IRC, or just want to help out some open source developer, donate to MERK today!
  • Icons and graphics — I'm a programmer, not an artist, and I think that shows!
  • Packaging — I'd love to provide a pip package, but I have little experience with it
  • Proxy support — SOCKS4/5 and HTTP proxy connections are on the wishlist
  • DCC chat and file transfers — the DCC functionality in Twisted is undocumented, and I can't make heads or tails of it
  • Using MERK and giving feedback — tell me what you love and what you hate! I can't promise I'll add everything, but I love hearing how people use MERK

About MERK

Why does MERK exist? I've used many, many IRC clients, and none of them felt right: not customizable enough, missing features, or just plain ancient-looking. I fell out of love with the "single window" interface most clients use, remembered using mIRC fondly back in the day, and decided to write a modern client with that multiple-document interface style. MERK is my "dream IRC client"; easy to get started with, but deep. I hope it can become yours too!

What does MERK mean? If you pronounced "IRC" as a word instead of an acronym, it'd probably sound like /Ərk/ (which was the name of my previous client). Since this client connects to multiple servers using a multiple-document interface, and "MDIIRC" doesn't exactly roll off the tongue, we combined the "M" with the word-pronunciation of IRC, and came up with MERK!