Skip to content

rockorager/comlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

comlink

An experimental IRC client written in zig. Join the discussion in #comlink on libera.chat.

screenshot of comlink

Installation

Arch Linux

comlink is available as a package in the AUR. It can be installed using an AUR helper (e.g. paru).

paru -S comlink

Zig Build System

comlink is written in zig and can be installed using the zig build system, version 0.14.0.

git clone https://github.com/rockorager/comlink
cd comlink
zig build -Doptimize=ReleaseSafe --prefix ~/.local

Configuration

Configuration is loaded from $HOME/.config/comlink/init.lua

Works best with soju. irctoday runs a paid instance of soju, and another paid alternative is pico.sh

local comlink = require("comlink")

local config = {
	server = "chat.sr.ht",
	user = "rockorager",
	nick = "rockorager",
	password = "password",
	real_name = "Tim Culverhouse",
	tls = true,
}

-- Pass the server config to connect. Connect to as many servers as you need
comlink.connect(config)

-- Bind a key to an action
comlink.bind("ctrl+c", "quit")

Storing passwords in configuration files is generally considered a poor security practice. The following example reads the password from an external password manager:

local comlink = require("comlink")

local proc =
  assert(io.popen("hiq -dFpassword proto=irc address=irc.example.com nickname=alex", "r"))
local password = proc:read("*l")
proc:close()

local config = {
	-- …other fields here…
	password = password,
}

Contributing

Patches accepted on the mailing list

Pull requests accepted on Github

Pull requests accepted on tangled.sh

About

An experimental IRC client

Topics

Resources

License

Stars

Watchers

Forks

Contributors 10

Languages