{"id":24388256,"url":"https://github.com/bourgeoisor/kaero","last_synced_at":"2026-02-20T22:40:43.251Z","repository":{"id":240326146,"uuid":"802330513","full_name":"bourgeoisor/kaero","owner":"bourgeoisor","description":"Lightweight and cozy terminal-based IRC client built in Golang.","archived":false,"fork":false,"pushed_at":"2025-02-02T02:15:22.000Z","size":97,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-12T15:44:17.156Z","etag":null,"topics":["internet-relay-chat","irc","irc-client","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bourgeoisor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"olivi_eh","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2024-05-18T02:24:48.000Z","updated_at":"2025-06-23T16:16:21.000Z","dependencies_parsed_at":"2024-05-18T03:26:50.794Z","dependency_job_id":"36e0c07d-d6b9-4d87-b339-7e42c78d9035","html_url":"https://github.com/bourgeoisor/kaero","commit_stats":null,"previous_names":["bourgeoisor/ribbirc","bourgeoisor/kaero"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bourgeoisor/kaero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bourgeoisor%2Fkaero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bourgeoisor%2Fkaero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bourgeoisor%2Fkaero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bourgeoisor%2Fkaero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bourgeoisor","download_url":"https://codeload.github.com/bourgeoisor/kaero/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bourgeoisor%2Fkaero/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29667093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T19:49:36.704Z","status":"ssl_error","status_checked_at":"2026-02-20T19:44:05.372Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["internet-relay-chat","irc","irc-client","terminal","tui"],"created_at":"2025-01-19T13:58:32.638Z","updated_at":"2026-02-20T22:40:43.234Z","avatar_url":"https://github.com/bourgeoisor.png","language":"Go","funding_links":["https://ko-fi.com/olivi_eh"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/user-attachments/assets/f34c127b-4199-4123-bb03-1142b102c348\" width=\"200\"/\u003e\n\n## What is Kaero?\n\nKaero 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).\n\n![screely-1736785076382](https://github.com/user-attachments/assets/a29c2621-36b5-4879-8f9c-fe0a5f89b00f)\n\n## Features\n\nThese features are currently supported.\n\n- 125 server replies (out of ~150 well known numerics) implemented\n- 31 user commands implemented\n- Can join up to 9 channels in one server network\n- SSL/TLS support\n- UTF-8 with full-width characters\n- File-based configuration\n\n## Not supported\n\nThese features are not supported yet but may be implemented in the future.\n\n- User prefixes\n- Channel prefixes\n- Customizable colors\n- Customizable keybinds\n- Highlight mentions\n- Timestamps in logs\n- Direct messages\n- CTCP\n- DCC\n- IRCv3\n- CAP negotiations\n- Identity registration\n- User list as a side panel\n- Multi-network support\n\n## Keybinds\n\n- `Ctrl + C`: quit the application\n- `Enter`: toggle the input bar, or send message is non-empty\n- `Alt + [0-9]`: swap between channels\n- `PgUp` / `PgDown`: scroll through the chat log\n\n## Commands\n\n- `/ping`\n- `/quit [\u003creason\u003e]`\n- `/nick \u003cnickname\u003e`\n- `/oper \u003cname\u003e \u003cpassword\u003e`\n- `/motd [\u003ctarget\u003e]`\n- `/version [\u003ctarget\u003e]`\n- `/admin [\u003ctarget\u003e]`\n- `/connect \u003ctarget server\u003e [\u003cport\u003e [\u003cremote server\u003e]]`\n- `/lusers`\n- `/time [\u003cserver\u003e]`\n- `/stats \u003cquery\u003e [\u003cserver\u003e]`\n- `/help [\u003csubject\u003e]`\n- `/info`\n- `/join \u003cchannel\u003e{,\u003cchannel\u003e} [\u003ckey\u003e{,\u003ckey\u003e}]`\n- `/part \u003cchannel\u003e{,\u003cchannel\u003e} [\u003creason\u003e]` (alias: `/leave ...`)\n- `/topic \u003cchannel\u003e [\u003ctopic\u003e]`\n- `/names \u003cchannel\u003e{,\u003cchannel\u003e}`\n- `/list [\u003cchannel\u003e{,\u003cchannel\u003e}] [\u003celistcond\u003e{,\u003celistcond\u003e}]`\n- `/invite \u003cnickname\u003e \u003cchannel\u003e`\n- `/kick \u003cchannel\u003e \u003cuser\u003e *( \",\" \u003cuser\u003e ) [\u003ccomment\u003e]`\n- `/who \u003cmask\u003e`\n- `/whois [\u003ctarget\u003e] \u003cnick\u003e`\n- `/whowas \u003cnick\u003e [\u003ccount\u003e]`\n- `/kill \u003cnickname\u003e \u003ccomment\u003e`\n- `/rehash`\n- `/restart`\n- `/squit \u003cserver\u003e \u003ccomment\u003e`\n- `/away [\u003ctext\u003e]`\n- `/links`\n- `/userhost \u003cnickname\u003e{ \u003cnickname\u003e}`\n- `/wallops \u003ctext\u003e`\n\n## Config file\n\nKaero expects a config file named `config.json` located at the root of the executable.\n\nHere's an example config:\n\n```json\n{\n    \"servers\": [\n        {\n            \"host\": \"irc.libera.chat\",\n            \"port\": 6697,\n            \"ssl\": true,\n            \"nick\": \"myName\",\n            \"username\": \"myName\",\n            \"realName\": \"myName\",\n            \"defaultChannels\": [\n                \"#libera\"\n            ]\n        }\n    ]\n}\n```\n\n## How to run?\n\nI am not currently publishing binaries, so they need to be built manually.\n\n1. Clone the repository.\n\n   ```sh\n   git clone https://github.com/bourgeoisor/kaero\n   cd kaero/\n   ```\n\n3. Fetch the required dependencies and build the binary.\n\n   ```sh\n   go get\n   go build\n   ```\n\n5. Run the binary.\n\n   ```sh\n   ./kaero\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbourgeoisor%2Fkaero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbourgeoisor%2Fkaero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbourgeoisor%2Fkaero/lists"}