Kaero is a lightweight and cozy terminal-based IRC client made in Golang. In Japanese, kaero 帰る means "to return (home)" which I find poetic for an IRC client. The name is also phonetically similar to kaeru かえる which means "frog" (thus the logo).
These features are currently supported.
- 125 server replies (out of ~150 well known numerics) implemented
- 31 user commands implemented
- Can join up to 9 channels in one server network
- SSL/TLS support
- UTF-8 with full-width characters
- File-based configuration
These features are not supported yet but may be implemented in the future.
- User prefixes
- Channel prefixes
- Customizable colors
- Customizable keybinds
- Highlight mentions
- Timestamps in logs
- Direct messages
- CTCP
- DCC
- IRCv3
- CAP negotiations
- Identity registration
- User list as a side panel
- Multi-network support
Ctrl + C: quit the applicationEnter: toggle the input bar, or send message is non-emptyAlt + [0-9]: swap between channelsPgUp/PgDown: scroll through the chat log
/ping/quit [<reason>]/nick <nickname>/oper <name> <password>/motd [<target>]/version [<target>]/admin [<target>]/connect <target server> [<port> [<remote server>]]/lusers/time [<server>]/stats <query> [<server>]/help [<subject>]/info/join <channel>{,<channel>} [<key>{,<key>}]/part <channel>{,<channel>} [<reason>](alias:/leave ...)/topic <channel> [<topic>]/names <channel>{,<channel>}/list [<channel>{,<channel>}] [<elistcond>{,<elistcond>}]/invite <nickname> <channel>/kick <channel> <user> *( "," <user> ) [<comment>]/who <mask>/whois [<target>] <nick>/whowas <nick> [<count>]/kill <nickname> <comment>/rehash/restart/squit <server> <comment>/away [<text>]/links/userhost <nickname>{ <nickname>}/wallops <text>
Kaero expects a config file named config.json located at the root of the executable.
Here's an example config:
{
"servers": [
{
"host": "irc.libera.chat",
"port": 6697,
"ssl": true,
"nick": "myName",
"username": "myName",
"realName": "myName",
"defaultChannels": [
"#libera"
]
}
]
}I am not currently publishing binaries, so they need to be built manually.
-
Clone the repository.
git clone https://github.com/bourgeoisor/kaero cd kaero/ -
Fetch the required dependencies and build the binary.
go get go build
-
Run the binary.
./kaero
