Simple IRC Client is an open source project that provides a minimalist IRC client for users who don't need all the bells and whistles of a full-featured IRC client.
Latest release can be downloaded from here.
-
Windows — Windows 10 or later. The installer ships the WebView2 runtime if it isn't already present.
-
macOS — macOS 12 (Monterey) or later. Uses the system WKWebView; nothing to install.
-
Linux —
libwebkit2gtk-4.1-0is required. It's preinstalled on Ubuntu 24.04+, Debian 12+, Fedora 40+, and Arch. On Ubuntu 22.04 install it from universe:sudo apt install libwebkit2gtk-4.1-0
On Fedora-based distros:
sudo dnf install webkit2gtk4.1
The desktop app is a Tauri v2 shell that hosts the React renderer from core and links the Rust IRC client from network-rs.
Layout the three repos as siblings:
Simple-Irc-Client/
├── core/ # Vite + React renderer (built to core/dist/)
├── network-rs/ # Rust IRC protocol crate (sic-irc)
└── desktop/ # this repo — Tauri shell
Prerequisites: Rust, Node 24+, pnpm 10+, plus the Tauri Linux system deps on Linux.
# in core/
pnpm install && pnpm build
# in desktop/
pnpm install
pnpm tauri:dev # dev loop with hot reload
pnpm tauri:build # produce platform-native bundlesReleases are signed with an Ed25519 key so the in-app updater can verify them. When running pnpm tauri:build locally and the updater config is enabled, set:
export TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.tauri/sic.key)"
export TAURI_SIGNING_PRIVATE_KEY_PASSWORD=""To skip updater artifacts entirely (when you don't have the key):
pnpm tauri build --config '{"bundle":{"createUpdaterArtifacts":false}}'CI publishes signed bundles automatically on tag pushes via release-tauri.yml.
release-tauri.yml reuses the same five GitHub secrets that the previous Electron release workflow used. As long as they're set on the repo, the macOS build is signed and notarized automatically; when they're absent, an unsigned .dmg is produced instead.
| Secret | What it is |
|---|---|
CERTIFICATE_P12 |
Base64 of the "Developer ID Application" .p12 (cert + private key) |
CERTIFICATE_PASSWORD |
Password set when the .p12 was exported |
APPLE_API_KEY_P8 |
Base64 of the App Store Connect API .p8 key file |
APPLE_API_KEY_ID |
10-character Key ID for that .p8 |
APPLE_API_ISSUER_ID |
Issuer UUID from App Store Connect → Users and Access → Integrations |
The workflow decodes APPLE_API_KEY_P8 to a temp file at runtime and maps the rest into tauri-action's expected env names (APPLE_CERTIFICATE, APPLE_API_KEY, APPLE_API_ISSUER, etc.) — no rename is needed in the GitHub Secrets UI.
If you find a bug or would like to contribute to the project, please open an issue or submit a pull request on GitHub.
This project is licensed under the Affero General Public License version 3 (AGPLv3).
