
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