世界を動かす技術を、日本語で。

Show HN: Halloy – モダンIRCクライアント

2025年10月15日原文(github.com)

概要

  • Halloy はRust製のオープンソースIRCクライアント
  • Iced GUIライブラリ を採用し、マルチプラットフォーム対応
  • FlathubSnap Store からインストール可能
  • 豊富な IRCv3.2機能 とカスタマイズ性
  • GPL-3.0ライセンス で公開、開発は活発

Halloy - IRCクライアント概要

  • Halloy はRustで開発されたオープンソースのIRCクライアント
  • Iced GUIライブラリ を利用し、シンプルかつ高速な操作性を実現
  • 対応OS: Mac、Windows、Linux
  • 最新リリース版のドキュメント:https://halloy.chat
  • ソースビルド用のドキュメント:https://unstable.halloy.chat
  • サポートや質問は libera.chatの#halloyチャンネル で受付

インストール方法

  • 公式ドキュメントに インストール手順 を掲載
  • FlathubSnap Store からの導入に対応
  • クロスプラットフォームな配布体制

主な機能

  • IRCv3.2 の各種機能サポート
    • account-notify、away-notify、batch、cap-notify、chathistory、chghost、echo-message、extended-join、invite-notify、labeled-response、message-tags、Monitor、msgid、multi-prefix、read-marker、sasl-3.1、server-time、setname
  • 標準返信、userhost-in-names、UTF8ONLY、WHOX、SASL対応
  • DCC Send 機能
  • キーボードショートカット による効率操作
  • ニックネーム・コマンド・チャンネルの自動補完
  • 通知機能 によるリアルタイム情報把握
  • 複数サーバ・チャンネル同時接続
  • クイック操作のための コマンドバー
  • カスタムテーマ による外観変更
  • ポータブルモード 対応

開発の背景とライセンス

  • GPL-3.0ライセンス で公開
  • 詳細は LICENSEファイル を参照
  • 開発や提案、バグ報告は GitHubリポジトリのIssue から受付

開発者からのメッセージ

  • 2022年 から開発を開始
    • 20年以上関わってきたコミュニティへの恩返しとして着手
  • Rust製モダンIRCクライアント を目指し、3年でコア貢献者や新たな仲間が増加
  • libera.chatの#halloyチャンネル には200人以上が常駐
  • このクライアントが長く愛され、IRC文化が存続することを願う開発者の思い

Hackerたちの意見

これを使ってみようとしたんだけど、サーバーがいくつもあってチャンネルもたくさんあるから、タブがないとちょっと扱いづらいね。それに、トレイに最小化できないのも面倒だし、常に「開いておく」必要があるのがちょっとイライラする。今はQuasselを使い続けるつもり。だけど、本当に素晴らしい作品だよ、誇りに思っていいと思う!

タブについては同意。1~2チャンネル以上を見たい時、どうすればいいのか分からない。

もうちょっとタブっぽく動かしたいなら、https://halloy.chat/configuration/actions.html#buffer を「replace-pane」に設定すればいいよ。

まだアクティブなチャンネルはどれ?数ヶ月前に久しぶりにfreenodeに接続したけど、ゴーストタウンみたいだったよ。IRCでプログラミングや技術コミュニティに戻りたいな。

IRCは何年も使ってないけど、12年前のティーンエイジャーだった頃ならこれに大興奮してたな。今まで見た中で一番いいクライアントだよ。ありがとう!

Hexchatを使ってたけど、1年以上前にhalloyに乗り換えたら、もう大満足。開発が順調に進んでるし、使い始めてからたくさんのモダンな機能が追加されたよ。sojuと一緒に使うのが楽しくて、IRCの体験がこんなにスムーズなのは久しぶりだ。

最近、RustベースのデスクトップアプリがGoやJavaに比べて増えてきてる気がする。これらのアプリはほとんどがクロスプラットフォームだね。おそらく、Electronと競争しようとしてるんだろう。TauriはRustで動くし。誰かRustの何が特別なのか教えてくれない?デスクトップアプリがPythonベースで人気がないのはどうしてなんだろう?それに、TypeScriptやGoでのターミナルベースのアプリもたくさん見かけるね。

macOSアプリのバックグラウンドがあるんだけど、その頃はObjective-Cだった。ネイティブアプリが大好きなんだ。Halloyを始めることにしたとき、複数のプラットフォーム向けのネイティブアプリを作るのが目標だったから、Rustは完璧だと思った。

誰かRustの何が特別なのか教えてくれない?この話題は時々出てくる気がする ;) 個人的には、PythonのプログラムをたくさんRustに置き換えてるんだ。書くのがそんなに難しくないし、Pythonや他の非Rust言語を書くときにはsum typesが恋しい。もしRustのプログラムがすごく難しいなら、それはPythonではできないか、価値がない最適化を探ってるからだよ。ネイティブでコンパイルされたアプリケーションは私にとって大きなプラス。Rustでデスクトップアプリをリリースする予定だけど、まだその段階には達してない。

現在、Rustでデスクトップアプリを作成中だよ。音楽用のjellyfinクライアントなんだ。Rustを書くのが楽しいから、これが自信につながるのが大きいね。新しいパパだから、作業する時間が少ないことが多いんだ。Rustなら小さな機能を実装し始められるし、コンパイルが通れば大体動くって確信できる。Pythonだと、ランタイムエラーの海に溺れて、ちゃんとできてるか不安になることが多いから。クロスプラットフォームもいい理由だし、UIライブラリのサポートも良い。icedみたいなアプリもあるし、GTKのバインディングも decentだよ。ランタイムが不要だから、配布やパッケージングがPythonよりずっと簡単なんだ。デスクトップアプリを書くには素晴らしい言語だよ。

Pythonで作られたデスクトップアプリは結構あるけど、例えばTkinterを使うと、Linuxでは見た目がひどいし、Gtkを選ぶとWindowsでPython版を手動でminGWでビルドするか、Cygwinを使って配布しなきゃいけないんだよね。

Rustは単一のバイナリを生成するんだ。アプリを出荷する時、開発者はこれを評価するよね。Pythonベースのアプリだと、ユーザーにPythonをインストールしてもらわないといけなくて、さらにいくつかのPythonファイルを非PythonのUIライブラリと連携させて送らなきゃならない。だから、UIライブラリも依存関係として送る必要があるかも。まあ、Rustで作っちゃって、.unwrap()が何をするのか学ぶのもいいけどね。

Hacker Newsで議論の続きを見る