Skip to content

boxlabss/HexDroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HexDroid

A fast, modern IRC client for Android.

Google Play | Direct Download | Documentation


About

HexDroid is a free and open source IRC client for Android devices. It provides a clean, modern interface while supporting the features users expect from a desktop client, including IRCv3 capabilities, SASL authentication, TLS encryption, DCC file transfers and an array of commands.

Requirements: Android 8.0 (API 26) or higher

License: GPLv3


Features

Multi-Network Support

  • Connect to multiple IRC networks simultaneously
  • Save and manage network profiles
  • Auto-connect on app startup (configurable per network)
  • Auto-reconnect with exponential backoff
  • Auto-join channels with optional keys
  • Post-connect commands with configurable delay

Security

  • TLS/SSL connections (enabled by default, recommended)
  • SASL authentication support:
    • PLAIN
    • SCRAM-SHA-256
    • EXTERNAL (client certificate authentication)
  • Client certificate support (.pem, .crt + .key, .p12 formats)
  • Server passwords

IRCv3 Support

HexDroid implements modern IRCv3 specifications:

  • message-tags and server-time
  • echo-message and labeled-response
  • batch for grouped messages
  • draft/chathistory for history playback (where supported)
  • draft/event-playback
  • account-notify and away-notify
  • chghost and extended-join
  • sasl for secure authentication

Character Encoding

  • Automatic encoding detection
  • Manual encoding selection per network
  • Supported encodings include:
    • UTF-8 (default)
    • windows-1251 (Cyrillic)
    • KOI8-R
    • ISO-8859-1, ISO-8859-15
    • GB2312, Big5, Shift_JIS, EUC-JP, EUC-KR

DCC Transfers

  • DCC SEND and DCC CHAT support
  • Configurable incoming port range
  • Transfer progress tracking
  • Files saved to app storage by default

User Interface

  • Material Design 3
  • Light and dark themes
  • Adjustable font size and family
  • mIRC colour code rendering
  • Clickable URLs
  • Copy text from messages
  • Nick completion
  • Swipe gestures

Notifications

  • Highlight notifications (nick mentions)
  • Private message alerts
  • Custom highlight words
  • Configurable sound and vibration
  • Persistent notification for background connections

Additional Features

  • Optional chat logging with configurable retention
  • Per-network ignore list
  • Hide JOIN/PART/QUIT messages
  • Lag indicator
  • Channel list with search

Installation

Google Play

The recommended installation method:

Get it on Google Play

Direct APK Download

Download the latest APK directly:

Download HexDroid 1.5.2

Build from Source

git clone https://github.com/boxlabss/hexdroid.git
cd hexdroid
./gradlew assembleRelease

Quick Start

  1. Open the app and tap Networks
  2. Tap + to create a new network profile
  3. Enter the server hostname and port (typically 6697 for TLS)
  4. Set your nickname
  5. (Optional) Configure SASL authentication
  6. Save and tap Connect

For detailed instructions, see the Getting Started Guide.


Commands

HexDroid supports standard IRC commands. Commands are case-insensitive.

Common Commands

Command Description
/join #channel [key] Join a channel
/part [#channel] [reason] Leave a channel
/msg <target> <message> Send a private message
/me <action> Send an action message
/nick <newnick> Change your nickname
/quit [reason] Disconnect from the server
/whois <nick> Get information about a user
/topic [#channel] [text] View or set channel topic

Channel Operator Commands

Command Description
/kick [#channel] <nick> [reason] Kick a user
/ban [#channel] <nick> Ban a user
/kickban [#channel] <nick> [reason] Ban and kick a user
/op [#channel] <nick> Give operator status
/deop [#channel] <nick> Remove operator status
/voice [#channel] <nick> Give voice status
/mode <target> <modes> [args] Set channel or user modes

Utility Commands

Command Description
/ctcp <target> <command> Send a CTCP request
/ctcpping <nick> Measure latency to a user
/dns <host/ip> DNS lookup
/ignore <user> Add user to ignore list
/find <keyword> Search scrollback
/sysinfo Share device information
/raw <line> Send raw IRC command

For a complete-ish command reference, see Commands.


Configuration

Network Settings

Each network profile supports:

  • Server hostname and port
  • TLS toggle and certificate validation
  • Nickname, username, and real name
  • Server password
  • SASL authentication (mechanism, credentials)
  • Client certificate for EXTERNAL auth
  • Auto-connect and auto-join settings
  • Character encoding
  • Post-connect commands

Global Settings

  • Theme (light/dark/system)
  • Font family and size
  • Notification preferences
  • Highlight words
  • Logging options
  • DCC configuration

Troubleshooting

Connection Issues

  • Verify the server hostname and port are correct
  • Most TLS servers use port 6697; plaintext uses 6667
  • Check that TLS is enabled/disabled as required by the server
  • For SASL errors, verify your credentials and that the server supports your chosen mechanism

Certificate Errors

If connecting to a server with a self-signed certificate, enable "Allow invalid certificates" in network settings. Note: this disables protection against man-in-the-middle attacks.

Background Disconnections

Some Android devices aggressively restrict background apps. To maintain connections:

  1. Disable battery optimisation for HexDroid
  2. Ensure the persistent notification is visible
  3. Consider locking the app in the recent apps list

See dontkillmyapp.com for device-specific instructions.

Garbled Text

If text appears garbled, the server may use a non-UTF-8 encoding. Go to network settings and select the appropriate encoding.

For more help, see the Troubleshooting Guide.


Privacy

HexDroid does not collect analytics, advertising identifiers, or any user data. The app contains no ads or tracking.

Data is transmitted only to the IRC servers you choose to connect to. Local data (settings, logs, DCC files) is stored on your device and can be deleted by clearing app data or uninstalling.

See the full Privacy Policy.


Contributing

Contributions are welcome. Please open an issue to discuss proposed changes before submitting a pull request.

Reporting Issues

When reporting bugs, please include:

  • Device model and Android version
  • HexDroid version
  • Steps to reproduce the issue
  • Relevant error messages or logs

Support


License

HexDroid is free software licensed under the GNU General Public License v3.0.

See LICENSE for the full license text.


Acknowledgements

HexDroid is built with:

About

An IRC Client for Android

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages