Hubbry Logo
HexChatHexChatMain
Open search
HexChat
Community hub
HexChat
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
HexChat
HexChat
from Wikipedia
HexChat
DeveloperPatrick Griffis[1]
Initial release6 July 2012; 13 years ago (2012-07-06)
Final release
2.16.2 / 9 February 2024
Repositorygithub.com/hexchat/hexchat
Written inC, Python, Perl, C++, C#
Operating systemLinux, Microsoft Windows
Platformx86-64, ARM
LicenseGPL-2.0 only with OpenSSL linking exception
Websitehexchat.github.io

HexChat is a discontinued Internet Relay Chat client and is a fork of XChat. It has a choice of a tabbed document interface or tree interface, support for multiple servers, and numerous configuration options. Both command-line and graphical versions are available.[2][3]

The client runs on Microsoft Windows and Unix-like operating systems,[2] and many Linux distributions include packages in their repositories.[4]

History

[edit]

The XChat-WDK (XChat Windows Driver Kit) project started in 2010 and was originally Windows-only. The project's original goal was to merge itself with XChat, but evolved from just fixing Windows bugs to adding new features. It started to make sense to support more platforms than Windows. On July 6, 2012, XChat-WDK officially changed its name to HexChat.[5]

The project was discontinued in early 2024, citing lack of maintainer availability.[6]

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
HexChat is an open-source graphical Internet Relay Chat (IRC) client forked from XChat, designed as a free and legal alternative for both Windows and operating systems. It provides users with a customizable interface for connecting to IRC networks, joining channels, and engaging in real-time text-based communication. Originally announced in 2012 as a response to XChat's abandonment, HexChat was developed to maintain an active, community-driven IRC client without the restrictions of its predecessor. Key features include support for scripting in , Python, and ; a plugin API for extensions; multi-language translations; and options for tabbed or tree-based window management across multiple servers and channels. It also incorporates IRCv3 capabilities, such as enhanced formatting and SASL authentication with encryption options like BLOWFISH and AES. Cross-platform compatibility extends to Windows, distributions, and limited macOS support through upstream builds, with installers available for major systems. After nearly 12 years of development led primarily by maintainer TingPing, HexChat reached its final release, version 2.16.2, on February 9, 2024, incorporating minor fixes and accumulated features from prior years. The project has since been discontinued due to lack of ongoing maintenance, though its source code remains available on for potential forks.

Overview

Description and purpose

HexChat is a free and open-source graphical Internet Relay Chat (IRC) client forked from XChat. It serves as a user-friendly interface for participating in IRC, a protocol designed for real-time text-based communication over the internet. The primary purpose of HexChat is to enable users to connect to various IRC networks, where they can join channels—public or private discussion rooms identified by names prefixed with a hash symbol, such as #example—and exchange messages with other participants. Users select a nickname (or "nick") to identify themselves on the network, which can be changed if unavailable, and the client supports both group conversations in channels and private one-on-one chats (queries) with individuals. By handling connections to IRC servers—specialized hosts that relay messages across the network—HexChat facilitates seamless interaction in these environments without requiring command-line expertise. As a successor to XChat, HexChat was developed to provide a fully free alternative after XChat's Windows version shifted to . It is licensed under the GNU General Public License version 2 (GPL-2.0), with an additional exception permitting the use of for encryption, ensuring it remains completely across all supported platforms.

Supported platforms

HexChat primarily supports Windows and operating systems, including various distributions of and BSD variants, through its GTK+ graphical toolkit. On Windows, native binaries are provided for both 32-bit (x86) and 64-bit () architectures, ensuring compatibility with modern and legacy systems. For Unix-like systems, HexChat is available on architectures such as x86-64 and ARM, with packages tailored for devices like the Raspberry Pi running Linux distributions. The core graphical interface relies on the GTK+ library, while scripting support optionally requires additional libraries including Perl, Python (with cffi and pycparser modules), and Lua. Installation on Windows can be achieved via official executable installers, which automatically handle dependencies, or through package managers like Chocolatey. For Linux and BSD systems, HexChat is distributed through native package managers, such as apt for Debian-based distributions (e.g., Ubuntu) and ports for FreeBSD, alongside Flatpak for broader compatibility across Linux environments. Users seeking custom builds can compile from source using the provided tarball, following standard autotools procedures after installing GTK+ and optional scripting dependencies. HexChat lacks official support for macOS, though third-party ports exist via tools like , and it can run on macOS using compatibility layers such as Wine. This cross-platform design originated from its forking as a free alternative to XChat.

History

Origins and forking from XChat

HexChat originated as a community response to the evolving status of XChat, a popular Internet Relay Chat (IRC) client initially developed by Peter Železný in as a free, open-source application written primarily in C, supporting both systems and Windows. The project quickly gained traction in the IRC for its user-friendly interface and extensibility through scripting languages like and Python. By 2004, with the release of XChat 2.4.0, the official Windows version transitioned to a shareware model, requiring a one-time fee of $19.99 after a 30-day trial period to support ongoing Windows-specific development, including customizations to the GTK+ toolkit. This change introduced proprietary elements, such as exclusive features like graphical smilies and native Windows file dialogs, while the source code remained under the GNU General Public License (GPL) version 2, allowing users to compile and distribute free versions independently. However, the shift created tensions, as the official builds diverged from the fully open-source ethos, limiting community contributions for the Windows platform without assigning rights to Železný. In response to XChat's stagnation— with its last official release in August 2010 and minimal maintenance thereafter— the XChat-WDK (Windows Driver Kit) project emerged in 2010 as a Windows-focused recompilation effort. This unofficial build aimed to preserve the free and open-source nature of the software by leveraging the GPL-licensed , bypassing the shareware restrictions, and addressing the perceived abandonment of active development on non-Linux platforms. The fork's motivations were rooted in maintaining GPL compliance and enabling unrestricted enhancements, driven by community contributors who sought to sustain and evolve the client without proprietary barriers. On July 6, 2012, XChat-WDK was renamed to HexChat to signify its expansion beyond Windows into a multi-platform project and to establish independence from XChat's commercial legacy, with the name evoking the "hex" common in programming while echoing its predecessor. This rebranding marked a new phase, emphasizing open development and cross-platform compatibility.

Key development milestones

HexChat's development after its 2012 rebranding from XChat-WDK prioritized cross-platform expansion beyond its initial Windows focus, incorporating Unix and support to enable compilation and deployment on diverse systems. This shift laid the foundation for broader adoption, with early efforts centered on unifying the codebase for consistent behavior across operating systems. Between 2012 and 2015, several foundational milestones enhanced portability and extensibility. Version 2.9.0, released on July 14, , marked the project's migration to for collaborative development and introduced a plugin configuration alongside the X-SASL plugin for secure . In November 2012, version 2.9.4 integrated built-in SASL authentication through the CAP mechanism, supporting identify-msg and multi-prefix capabilities to improve user identification and channel management. By June 1, 2014, version 2.10.0 refined SASL compatibility for servers like InspIRCd, added the userhost-in-names capability for efficient user queries, and incorporated the + Pixbuf theme engine on Windows to ensure a uniform across platforms. These updates represented initial plugin enhancements and multi-platform porting, including Unix/ compatibility added at launch. From 2016 to 2020, milestones emphasized scripting advancements and security integrations. Version 2.12.0, released on March 12, 2016, added scripting support for custom extensions, implemented IRCv3.2 features like chghost and cap-notify for real-time user updates, and enabled (SNI) to strengthen TLS/SSL connections. In March 2018, version 2.14.0 overhauled the build system with for better cross-platform reliability, improved scripting capabilities, and resolved compatibility issues with 1.1.0 to bolster secure networking. Theme system improvements continued through GTK+ refinements, while ongoing bug fixes addressed stability on various architectures. In 2021 to 2024, development focused on protocol refinements and security hardening amid community contributions. Version 2.16.0, released on October 1, 2021, incorporated IRCv3 extensions such as SETNAME for nickname changes and UTF8ONLY for encoding consistency, alongside updating the default network list to feature Libera.Chat and removing outdated dependencies like libnotify. Version 2.16.1, issued on February 12, 2022, fixed UTF-8 handling in Python scripts and enhanced OpenSSL 3 compatibility for robust TLS/SSL support. The final version, 2.16.2, released on February 9, 2024, added default TLS usage for the /server command, support for extended-monitor and SCRAM SASL mechanisms, and various crash fixes and improvements, accumulating changes from the prior two years. Security patches refined SASL authentication mechanisms, and proxy support saw incremental expansions for diverse network environments, all facilitated by the GitHub repository's community-driven model. Overall, this era reflected a progression toward balanced cross-platform development, with greater emphasis on stability, modern security protocols, and maintainer sustainability rather than rapid feature proliferation.

Features

User interface and usability

HexChat features a graphical user interface constructed using the GTK+ toolkit, providing two primary modes for navigation: a tabbed multi-window layout that allows users to manage multiple channels and servers in separate tabs, or a tree-view hierarchy that organizes networks, servers, and channels in a hierarchical structure for efficient browsing. The tree-view mode, selectable via the gui_tab_layout setting (0 for tabs, 2 for treeview), enables users to collapse or expand sections, facilitating quick access to specific conversations without cluttering the screen. Usability is enhanced through built-in features designed for smooth IRC interactions, including automatic nick completion that cycles through available nicknames when typing (toggleable with completion_auto and sortable via completion_sort), customizable fonts and text colors defined in the preferences palette for events and backgrounds, and integrated spell-checking that leverages system-wide dictionaries like those provided by Enchant on Unix-like systems or native support on Windows 8 and later. A red marker line visually separates read from unread messages, resetting with shortcuts like Ctrl+M to track conversation progress, while notification sounds can be configured for events such as message highlights or private messages under the Alerts preferences. Extensive customization options allow users to tailor the interface via theme files in .hct format—essentially ZIP archives containing color and event configurations—that can be installed directly into the config directory, supporting diverse visual styles from dark themes to high-contrast palettes stored in files like colors.conf. Layout preferences, including tree icons and dotted lines, are preserved in user-specific configuration files located in directories such as ~/.config/hexchat on systems. Accessibility is further supported by a range of keyboard shortcuts for actions like switching tabs (Ctrl+Page Up/Down), alongside localization in over 50 languages, configurable through system language settings or environment variables like LANG.

Networking and security features

HexChat provides robust connection features tailored for IRC usage, including support for multiple servers within a single network configuration. Users can define several networks in the Network List, each with its own set of servers specified by and , enabling simultaneous connections to different IRC networks. Automatic reconnection is enabled by default and configurable through settings like auto-reconnect toggles and delay intervals, ensuring persistent sessions after temporary disconnections. Proxy integration supports types such as SOCKS4, SOCKS5, HTTP, Wingate, and MS Proxy, with options to apply them globally, to IRC traffic only, or to DCC transfers exclusively, facilitating connections through firewalls or anonymizing proxies. Additionally, (DCC) functionality allows for secure file transfers and private chats outside the main IRC server, with customizable ports, IP binding, and auto-accept policies to manage incoming requests. Security is a core aspect of HexChat's networking, with TLS/SSL enabled by default for server connections as of version 2.16.2, where the /server command automatically uses secure ports like 6697 unless overridden. Users can specify TLS via a + prefix on ports in the server list or disable it for insecure connections using the -insecure flag or a - prefix, providing flexibility for legacy or testing scenarios. SASL is natively supported for secure logins, allowing username and pairs in the connection settings to authenticate before joining channels, which enhances protection against on credentials. Client certificates further bolster identity verification, particularly for SASL EXTERNAL mechanisms on compatible networks; unencrypted certificate files (e.g., in PEM format) are placed in the application's certs directory, and HexChat automatically presents them during TLS handshakes without requiring protection on the certs themselves. In terms of protocol handling, HexChat supports IRC extensions like WHOX for advanced queries, which populates the user list with hostmasks and other details when enabled via settings such as irc_who_join. This allows for more informative channel management without additional scripting. The client also includes built-in error management for networking issues, such as flood protection to CTCP and message rates, preventing bans from overzealous sending, and diagnostic tools in the preferences for port conflicts or proxy failures. For instance, explicit port prefixes (+ for TLS, - for plain) aid in resolving encryption-related connection errors, while log files capture detailed diagnostics for further analysis.

Scripting and plugins

HexChat provides extensibility through scripting and a plugin architecture, allowing users to customize functionality beyond the core IRC client features. Scripts can automate tasks, respond to events, and interact with the interface, while plugins offer deeper integration via compiled code. The client supports scripting in Python (versions 2.7 and 3.x), (version 5.20), and (versions 5.1–5.3), which are officially maintained interfaces. These languages enable users to write code that hooks into HexChat's event system without needing to compile extensions for basic automation. Additionally, the plugin API allows for compiled modules written primarily in , providing binary compatibility across HexChat versions and access to lower-level features like monitoring. Core capabilities include event hooks for actions such as connecting to servers, receiving messages, or users joining/parting channels, which allow scripts to intercept and modify behavior. is facilitated through custom commands, such as auto-joining channels or triggering alerts on specific events, and data structures like iterable lists for tracking channels, users, and DCC connections. Scripts and plugins can also set timers, store preferences (as strings or integers), and emit output to the , such as printing formatted text with bold (\002) or color (\003) codes. Common uses include developing IRC bots that respond to queries, analyzers that parse chat logs for patterns, or modifications that tweak the , like adding custom menus via the /MENU command. Scripts are installed by placing files (e.g., .py, .pl, .lua) in the addons directory for automatic loading on startup, or manually via client commands such as /py load filename.py, /lua unload script.lua, or /pl load plugin.so for plugins, with unload and reload options available for management. Scripts operate in isolated environments per language interpreter, limiting direct access to system files or external resources unless explicitly permitted through calls like executing shell commands via hooks. Plugins, while more powerful, require recompilation for major changes and adhere to string handling, with no support for certain features like Win32 pipes in hooks. These constraints ensure stability but may require workarounds for advanced I/O operations.

Development

Core team and contributors

HexChat's primary development has been led by Patrick Griffis, known online as "TingPing," who served as the main maintainer starting around 2010 with the XChat-WDK project and continued through the 2012 rename to HexChat. Griffis handled the core C codebase, overseeing bug fixes, feature implementations, and release management for the GTK+ IRC client across Windows and systems. His leadership ensured the project's open-source nature under the GPL v2 license with an OpenSSL exception, focusing on cross-platform compatibility and security updates. Key contributors to HexChat include a diverse group of community members who participated via the project's repository, totaling over 160 individuals as of its archival in 2024. Notable examples encompass developers like Arnavion and orium, who implemented features and resolved issues through pull requests, as well as mniip, who developed the scripting plugin for enhanced extensibility. Early collaborators on the transition from XChat-WDK contributed to initial Windows-specific adaptations, bridging the gap from the original XChat codebase. The contribution model for HexChat emphasizes open-source collaboration through its Git repository hosted on GitHub, where developers submitted pull requests for code fixes, new features, and plugin integrations. Documentation efforts were centralized on Read the Docs, providing guides for scripting interfaces like Lua and Perl, as well as user manuals to support contributor onboarding. This decentralized approach allowed for iterative improvements, with community-driven testing and feedback shaping releases up to version 2.16.2. Community involvement extended beyond code to support channels and localization efforts, fostering a collaborative ecosystem. The official IRC channel, #hexchat on , served as a hub for real-time discussions, bug reporting, and user assistance. Additionally, translation teams coordinated via Transifex to localize the interface into multiple languages, enhancing accessibility for global users. GitHub issues and the project's forums complemented these avenues, enabling bug reporters and feature requestors to engage directly with maintainers.

Version history and discontinuation

HexChat's development as a distinct project began with its announcement on July 6, 2012, and initial release as version 2.9.0 on July 14, 2012, marking its debut as a cross-platform IRC client forked from XChat and available for Windows, , and other systems. Subsequent releases focused on enhancing stability, security, and functionality. Version 2.9.6, released on September 11, 2013, included several stability fixes, such as resolving crashes related to tab management and message routing, along with support for additional SASL mechanisms like BLOWFISH and AES. The 2.12 series, starting with version 2.12.0 on March 12, 2016, introduced scripting integration in 2.12.1, enabling more advanced plugin development, while also adding IRCv3.2 support and native spell-checking on Windows. Later, version 2.16.0 arrived on October 1, 2021, with updates to IRCv3 capabilities like SETNAME and invite-notify, and version 2.16.2 on February 7, 2024, served as the final official release, incorporating security patches, cleanup of deprecated features, and default TLS for server connections.
VersionRelease DateKey Changes
2.9.6September 11, 2013Stability fixes (e.g., tab crashes, compilation); added SASL mechanisms (BLOWFISH, AES); Python 3 support.
2.12.0 / 2.12.1March 12, 2016 / May 1, 2016IRCv3.2 support; native Windows spell-check; scripting integration; crash fixes.
2.16.0October 1, 2021IRCv3 extensions (SETNAME, invite-notify, UTF8ONLY); updated default networks; removed outdated dependencies.
2.16.2February 7, 2024Default TLS for servers; SASL support; security patches and minor fixes; final release.
The project's discontinuation was announced alongside the 2.16.2 release in early 2024, attributed to maintainer burnout after years of limited contributions and no new volunteers stepping up to sustain development. The official repository was archived on February 10, 2024, with no further updates planned, though the maintainers encouraged forks to continue evolution. As of 2025, forks such as XChat-SE continue active development, providing updates and maintenance. Following discontinuation, users have been warned about potential security vulnerabilities in the unmaintained software, as it may no longer receive patches for emerging threats. Recommendations include migrating to actively maintained IRC clients like WeeChat or for ongoing security and feature support.

Reception and legacy

Adoption and popularity

HexChat has seen significant adoption as an open-source IRC client, particularly within ecosystems where it is packaged and distributed through major repositories. It is available in distributions such as , , Gentoo, and others via package managers like apt, enabling straightforward installation for users on systems. For Windows users, HexChat is accessible through direct downloads from its official website and package managers like , broadening its reach across operating systems. Additionally, it served as the default IRC client in privacy-focused distributions like until early 2024, underscoring its utility in specialized environments. In terms of popularity metrics, HexChat's repository garnered over 3,200 stars prior to its archival in , reflecting strong interest from developers and open-source enthusiasts. It frequently appears in IRC tutorials, forum discussions, and recommendations, particularly during the when IRC remained a staple for open-source collaboration and real-time communication. Descriptions from tech outlets highlight its status as one of the more popular graphical IRC clients in the , valued for its cross-platform compatibility and feature set. HexChat's success stemmed from its position as a free, open-source alternative to clients like , eliminating licensing barriers for users seeking a robust IRC experience. As a direct of the widely used XChat, it offered a familiar interface and seamless transition for existing users, appealing to beginners and veterans alike in the IRC space. Following its discontinuation in February 2024 with the release of version 2.16.2, HexChat's usage has declined due to lack of updates and maintainer support, though it remains available in repositories like 24.04 for ongoing installations. In 2025, it is still recommended for legacy IRC setups where stability is prioritized over new features, maintaining a niche presence among users reliant on established open-source tools.

Comparisons with other IRC clients

HexChat, as a free and open-source IRC client, stands in contrast to , which operates under a model requiring payment after a and featuring a nag screen for unregistered users. Unlike 's primary focus on Windows with limited ports to other platforms, HexChat provides native support for Windows, , and macOS, enabling seamless cross-platform use without the need for emulation or third-party adaptations. While offers deep Windows-specific scripting through its proprietary language, allowing extensive customization for automation and interface tweaks, HexChat's scripting relies on Python and plugins, which provide flexibility but lack the same level of platform-tailored depth for Windows users. In comparison to , a terminal-based IRC client, HexChat employs a graphical GTK+ that prioritizes ease of use for and visual navigation through tabs and trees, making it more accessible for users preferring a point-and-click experience over command-line interaction. , by design, consumes fewer system resources due to its text-based nature, rendering it suitable for low-resource environments or remote sessions, whereas HexChat's GUI demands more overhead but supports intuitive features like drag-and-drop file transfers. Both clients support scripting for extensibility, though irssi's command-line focus facilitates advanced, lightweight automation that appeals to power users, in contrast to HexChat's plugin ecosystem geared toward graphical enhancements. Relative to other XChat forks such as XChat-Azure, which targets Windows and macOS with a native Aqua interface but has seen minimal updates since around 2017, HexChat received active maintenance until its discontinuation in early 2024, including security patches and feature additions like improved plugin compatibility across broader platforms. XChat-Azure emphasizes Mac-specific integrations, such as better support for OS X notifications, but its narrower scope limits cross-platform plugin portability compared to HexChat's unified codebase for Linux, Windows, and Unix-like systems. As a discontinued yet client, HexChat serves users with straightforward IRC needs through its reliable GUI and plugin support, differing from modern alternatives like WeeChat, a highly extensible terminal client with robust scripting in multiple languages for complex setups, or The Lounge, a self-hosted web-based client that enables browser access from any device without local installation. HexChat's legacy positions it as a lightweight desktop option for casual users, avoiding the configuration overhead of WeeChat or the server requirements of The Lounge, though it lacks their ongoing development for emerging IRC extensions.

References

  1. https://wiki.gentoo.org/wiki/HexChat
Add your contribution
Related Hubs
User Avatar
No comments yet.