Skip to content

Lightweight and cozy terminal-based IRC client built in Golang.

License

Notifications You must be signed in to change notification settings

bourgeoisor/kaero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

What is Kaero?

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. Its name is also close in sounds to kaeru かえる which means "frog" (thus the logo).

screely-1736785076382

Features

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

Not supported

These features are not supported yet but may be implemented in the future.

  • User prefixes
  • Channel prefixes
  • Config file
  • 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

Keybinds

  • Ctrl + C: quit the application
  • Enter: toggle the input bar, or send message is non-empty
  • Alt + [0-9]: swap between channels
  • PgUp / PgDown: scroll through the chat log

Commands

  • /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>

How to run?

I am not currently publishing binaries, so they need to be built manually.

  1. Clone the repository.

    git clone https://github.com/bourgeoisor/kaero
    cd kaero/
  2. Fetch the required dependencies and build the binary.

    go get
    go build
  3. Run the binary.

    ./kaero

About

Lightweight and cozy terminal-based IRC client built in Golang.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages