home.social

#halloy — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #halloy, aggregated by home.social.

fetched live
  1. Subject: Setup of GUI IRC client "Halloy"
    For: Linux IRC admins and power users
    Short link: https://dansu.org/halloy-review

    I've used HexChat as my primary GUI IRC client for 1 to 2 decades. However, today, I've tested a lesser-known alternative named Halloy. Points of interest:

    N1. Halloy is a tiling IRC client. It might go well with a tiling desktop manager.

    N2. Supports emoji and the IRCv3 specification. In fact, I learned about Halloy because a gamedev student wanted to test emoji. HexChat didn't work, but Halloy did.

    N3. Halloy loads faster than HexChat does. For me, at least, it's instant-on.

    N4. #FOSS license. Actively maintained.

    N5. Halloy can be built easily on any modern Linux box that includes Rust. You need to know a little about CLI and "git".

    N6. The layout is simple. There's also an easy-to-use theme engine in the GUI. Additionally, external themes can be installed. [I created the theme in the screenshot.]

    N7. I have a complex IRC setup that puts the "bip" bouncer between my IRC client and remote IRC hosts. Halloy was able to handle the setup, though it took some fiddling. [I've included a Halloy config file for the setup below.]

    N8. One negative is that Halloy doesn't provide long-term chat logs in human-readable format. There is only a backlog pane that you need to copy manually.

    The home page for Halloy is: https://halloy.chat/

    One reason for posting here is that the program can be tricky to configure. So, for your Halloy #IRC enjoyment, here are three sample config-file templates. The examples range from very simple (#1) to complex (#3).

    The config file used should be stored as:
    $HOME/.config/halloy/config.toml

    Example #1: This is a very simple setup. Default Halloy theme. Connect using SSL. The SSL cert is assumed to be valid. The IRC nick doesn't have a password.

    [servers.SomeLabel]
    server   = "irc.somehost.org"
    port     = 6697
    nickname = "YourIRC_Nickname"
    channels = ["#salad", "#chess"]
    use_tls  = true

    Example #2. Same as Example #1 but the nick has an IRC password. In this case, add two lines of the following form to the block shown above:

    sasl.plain.username = "YourIRC_NickName"
    sasl.plain.password = "YourIRC_Password"

    Example #3. Handle multiple setup issues.

    Example #3 sets up Halloy to connect to a "bip" bouncer. The "bip" bouncer then connects to IRC for the user. An external Halloy theme is loaded.

    The "bip" host is assumed to have a valid SSL cert. However, the IRC host may have a self-signed and/or expired cert.

    The "bip" "user { name }" setting and the IRC nickname are assumed to be the same.

    There are two setup steps before you get to the Halloy "config.toml" part:

    theme setup: Create a subdirectory named:
    $HOME/.config/halloy/themes/

    In that directory, place one or more Halloy theme ".toml" files downloaded from:
    https://themes.halloy.chat/

    cert setup: Execute the following commands in "bash". Substitute the appropriate "bip" hostname and port for the sample values used here.

    CE="CERTIFICATE"
    echo | openssl s_client \
        -connect    bip.somehost.org:7555 \
        -servername bip.somehost.org \
        -showcerts  2>/dev/null | \
    sed -n "/-----BEGIN $CE-----/,/-----END $CE-----/p" \
        > $HOME/halloy.crt

    Subsequently, a Halloy "config.toml" file similar to the following should work:

    # This should be a  theme-file name without the
    # ".toml" part
    theme = "some-theme-name"
    
    [servers.SomeLabel]
    
    # Replace this setting with the  "bip" hostname
    server   = "bip.somehost.org"
    
    # Replace this setting with the "bip" port
    port     = 7555
    
    nickname = "YourIRC_NickName"
    channels = ["#salad", "#chess"]
    use_tls  = true
    
    sasl.plain.username = "YourIRC_Nickname"
    sasl.plain.password = "YourBIP_Password"
    
    dangerously_accept_invalid_certs = true
    ssl_cafile = "~/halloy.crt"
    
    # part1 is your IRC nickname
    # part2 is your IRC password
    # part3 is the "bip" connection name
    
    password = "part1:part2:part3"
    
    # You can use the [font] section  to tweak font
    # settings.
    
    [font]
    family = "Liberation Serif"
    size   = 20

    Screenshot: Three IRC channels displayed concurrently in #Halloy tiled windows.

    @itsfoss

  2. Another great release for #Halloy 🙏

    Lots of new sidebar improvements, built-in config file editor, password keyring support, and many under-the-hood improvements & fixes!

    github.com/squidowl/halloy/rel

    #IRC #IRCv3

  3. ```
    ! [rejected] nightly -> nightly (would clobber existing tag)
    ```

    what are you doing #halloy

  4. I'm starting to think ergo (server) + halloy (desktop) / goguma (mobile) makes a credible alternative to discord for small community textual chat, based on some recent experiences.

    At least this combo of IRCv3 servers and clients has a pretty high level of "just works" (not needing a bouncer, handles multiple simultaneous connections from different clients, history/state survives disconnects, basic image attachments / url unfurls / reactions, etc).

    #IRCv3 #Halloy #Goguma

  5. @andymandias you're doing awesome! Y'all make it really easy and a pleasure to contribute to #Halloy 🫶

  6. Dear #IRC fans, there's another huge release of #Halloy today! Hit your update buttons to get version 2026.7 🙌

    New #IRCv3 support in this release: reply, redact, metadata, websockets, network icons and bot mode!

    Lots of great new features and fixes, especially if you're on a server that can support them 😏

    Check out the full changelog:
    github.com/squidowl/halloy/rel

  7. @dansup I highly encourage and recommend this!

    Lots of open source projects are on Libera which has some nice modern #IRCv3 features. But if you run your own ergo server, you can have even more like chathistory (without needing a bouncer!), reacts and replies! And of course if you use the client, Halloy, you'll get quite a nice user experience as well ❤️

    ergo.chat
    halloy.chat

    #IRC #IRCv3 #Halloy

  8. @whitequark you could try this out: codeberg.org/classabbyamp/conv

    I'm going to look into this since filehost has been merged into the #halloy codebase 🫡

  9. PSA to y'all #IRC users: the latest release of #Halloy supports more #IRCv3 specs! Including `typing` (now on @liberachat too), and `+draft/react` & `draft/multiline` on servers that support (ergo.chat) them!

    It's been very pleasant to use Halloy for IRC, so many nice quality-of-life features 🫶

    Full changelog: github.com/squidowl/halloy/rel

  10. Thanks to anon, access to #I2P tun of our #IRC was fixed.

    Working example for #Halloy client, btw:

    ``` config.toml
    [servers.yggverse_i2p]
    nickname = "test"
    server = "gcb4makty5xwegsu4x472tjqugjluybama2rp5ne2jd636p757sq.b32.i2p"
    port = 6667
    use_tls = false
    channels = [
    "#general",
    ]
    [servers.yggverse_i2p.proxy.socks5]
    host = "127.0.0.1"
    port = 4447
    ```

  11. #Halloy #IRC master branch now includes the security correction mentioned in #1031, which prevents direct resource preload when the proxy is enabled:

    github.com/squidowl/halloy/pul

    This update has not been reviewed yet, but it could be useful in the #privacy context.