Skip to content

... powerful, modern IRC client built in Rust that combines the best features of mIRC, HexChat, and WeeChat ...

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

doublegate/RustIRC

RustIRC - Modern IRC Client with Enhanced Iced GUI

RustIRC Logo

Version Rust Version License Tests Note: The test count badge now only reflects --lib --bins tests (excluding doctests). This change does not indicate a loss of test coverage. Documentation API Coverage Platform IRC Protocol IRCv3 GUI Framework Scripting

A powerful, modern IRC client built in Rust with an enhanced Material Design 3 interface and comprehensive Lua scripting

Last Updated: 2025-11-18 | Branch: main - v0.4.0 Phase 4 Scripting Complete

FeaturesDocumentationDevelopment PlanArchitectureContributing

🎯 Vision

RustIRC aims to be the definitive modern IRC client by combining:

  • mIRC's powerful scripting and customization capabilities
  • HexChat's user-friendly GUI and plugin ecosystem
  • WeeChat's efficiency, performance, and professional features

Built with Rust for memory safety, performance, and cross-platform reliability.

✨ Features

Core Capabilities

  • 🔌 Multi-Server Support - Connect to multiple IRC networks simultaneously
  • 🔒 Modern Security - TLS/SSL by default, SASL authentication, secure credential storage
  • 🎨 Dual Interface - Beautiful GUI (Iced) and efficient TUI (ratatui) modes
  • 📜 Lua Scripting ✅ - Complete Lua 5.4 scripting with 50+ IRC API functions and event hooks
  • 🔧 Plugin System - Python scripting and binary plugins (planned)
  • 📡 Full Protocol Support - RFC 1459/2812 compliance with complete IRCv3 extensions
  • 💾 DCC Support - File transfers and direct chats (planned)
  • 🌍 Cross-Platform - Native support for Windows, macOS, and Linux

Advanced Features

  • 🎯 Smart tab completion with context awareness
  • 📊 Advanced message filtering and highlighting
  • 🔍 Full-text search across all buffers
  • 📱 Responsive design that adapts to window size
  • 🎨 Theming engine with custom color schemes
  • 🌐 Internationalization support
  • ♿ Accessibility features
  • 📈 Performance monitoring and optimization

📦 Latest Release

Version Release Date

Version 0.4.0 - Phase 4 Scripting & Automation Complete

📜 Lua Scripting System Highlights

Comprehensive IRC API

  • 🔧 50+ IRC Functions: Complete automation API (connect, privmsg, join, whois, notify, etc.)
  • 🎯 Event-Driven Hooks: Full event system (on_message, on_join, on_part, on_nick, etc.)
  • 🔒 Secure Sandbox: Dangerous functions removed (os.execute, io.*, require)
  • ⚙️ Custom Commands: Register new IRC commands from Lua scripts
  • 📦 Built-in Scripts: Auto-away, auto-rejoin, highlight, URL logger examples

Scripting Features

  • Lua 5.4: Modern Lua with mlua safe bindings
  • 🎨 Script Management: Load, unload, enable, disable, reload scripts
  • 📊 State Queries: Access server, channel, and user information
  • 💬 UI Integration: Print messages, display notifications, update status
  • 🔍 Complete Documentation: 600+ line guide with API reference and tutorials
  • Production Ready: 11 comprehensive tests, all passing

🎨 GUI Framework Enhancement Highlights

Material Design 3 Components

  • 🎯 Advanced Widget System: Complete Material Design 3 components with Iced
  • 🎨 Floating Action Buttons: Material-style FABs with ripple effects
  • 📱 Navigation Rails & Drawers: Adaptive navigation for all screen sizes
  • 🏗️ Card-Based Layouts: Elevated surfaces with proper shadow handling
  • 🔲 Material Theming: Dynamic color extraction and theme generation

Enhanced Iced Features

  • GPU Acceleration: WGPU backend with hardware acceleration
  • 🎭 Smooth Animations: 60 FPS transitions and effects
  • 📐 Responsive Layouts: Adaptive design system with breakpoints
  • 🖼️ Custom Shaders: Advanced visual effects and gradients
  • 🎪 Gesture Support: Swipe, pinch, and multi-touch handling

🏗️ Current Development Status

Last Updated: November 18, 2025 - v0.4.0 Phase 4 Scripting Complete

Phase 1: Research & Setup - COMPLETE (100%)

  • ✅ Technology validation with 4 working prototypes
  • ✅ Development environment fully configured
  • ✅ Core architecture implemented with 6-crate workspace structure
  • ✅ CI/CD pipeline operational with GitHub Actions

Phase 2: Core IRC Engine - COMPLETE (100% Verified)

  • ✅ Async networking layer with Tokio and full TLS support via rustls
  • ✅ Complete IRC protocol parser (RFC 1459/2812) with IRCv3 extensions
  • ✅ Multi-server connection management with automatic reconnection
  • ✅ Event-driven state management system with thread safety
  • ✅ Message routing and command processing with CTCP support
  • Security Verification Complete: Zeroize trait for credentials, comprehensive input validation
  • 100% Implementation Verified: All 50 Phase 2 tasks confirmed complete with zero placeholders

Phase 3: User Interface ENHANCED - COMPLETE (150%)

  • Phase 1-3: ENHANCED ✅ with Material Design 3 GUI

  • Phase 1: Research & Setup - Project infrastructure, technology validation, architecture foundation

  • Phase 2: Core IRC Engine - Async networking, protocol parser, multi-server management, event system

  • Phase 3: User Interface Enhanced - Iced Material Design 3, TUI (ratatui), CLI prototype, advanced features

Phase 4: Lua Scripting - COMPLETE (100%)

  • Lua Scripting Engine (Production Ready)

  • Secure Sandboxed Execution: Dangerous functions removed (os.execute, io.*, require)

  • 50+ IRC API Functions: Complete automation API

    • Core: connect, disconnect, send raw commands
    • Messaging: privmsg, notice, action, CTCP
    • Channels: join, part, kick, topic, mode, invite
    • Users: nick, whois, who, away, ison
    • State: servers, channels, users, my_nick, is_op
    • UI: print, echo, log, status, notify, beep
  • Event System: Full event hooks (on_message, on_join, on_part, on_nick, on_topic, etc.)

  • Custom Commands: Register new IRC commands from scripts

  • Built-in Scripts:

    • auto_away.lua - Automatic away after idle time
    • auto_rejoin.lua - Auto-rejoin channels after kick
    • highlight.lua - Keyword highlighting with notifications
    • url_logger.lua - URL logging with search and filtering
  • Script Management: Load, unload, enable, disable, reload operations

  • Comprehensive Documentation: 600+ line scripts/README.md with complete API reference

  • Production Quality: 11 tests passing, zero errors, all functionality verified

Pending Phase 4 Components

  • 📋 Python scripting engine (PyO3) - Planned
  • 📋 Binary plugin system - Planned
  • 📋 Plugin manager UI - Planned

Status: Lua scripting system fully functional and production-ready. All 6 crates compile successfully. 62 tests passing.

📚 Documentation

Overview Documents

Technical Specifications

Development Guides

Task Tracking

🚀 Development Plan

RustIRC is being developed in 7 carefully planned phases over 24-26 weeks:

Phase 1: Research & Setup (Weeks 1-4)

  • Technology validation and prototyping
  • Development environment setup
  • Core architecture design
  • GUI framework comparison (Iced vs GTK-rs)
  • Detailed Plan | Tasks

Phase 2: Core IRC Engine (Weeks 5-8)

  • Async networking with Tokio
  • IRC protocol parser implementation
  • Multi-server connection management
  • State management system
  • Detailed Plan | Tasks

Phase 3: User Interface (Weeks 9-14)

  • GUI implementation with Iced
  • TUI implementation with ratatui
  • Unified UI abstraction layer
  • Theme system and customization
  • Detailed Plan | Tasks

Phase 4: Scripting & Plugins (Weeks 15-18)

  • Lua scripting engine integration (mlua)
  • Python scripting engine integration (PyO3)
  • Binary plugin system with stable ABI
  • Script/plugin manager UI
  • Detailed Plan | Tasks

Phase 5: Advanced Features (Weeks 19-22)

  • DCC file transfers and chats
  • Complete IRCv3 implementation
  • Advanced security features
  • Search and filtering systems
  • Detailed Plan | Tasks

Phase 6: Testing & Optimization (Weeks 23-24)

  • Comprehensive test suite
  • Performance optimization
  • Security audit
  • Beta testing program
  • Detailed Plan | Tasks

Phase 7: Release & Distribution (Weeks 25-26)

  • Platform-specific packaging
  • Distribution setup
  • Documentation finalization
  • Launch preparation
  • Detailed Plan | Tasks

🏗️ Architecture

Enhanced Iced Material Design Architecture

┌─────────────────────────────────────────────────────────────┐
│           Enhanced Iced Material Design GUI Layer           │
│  ┌─────────────────────────────────────────────────────────┐│
│  │  Material Design 3 Components                           ││
│  │  ├─ Navigation (Rails, Drawers, Tabs)                   ││
│  │  ├─ Surfaces (Cards, Sheets, Dialogs)                   ││
│  │  ├─ Actions (FABs, Buttons, Menus)                      ││
│  │  └─ Feedback (Ripples, Progress, Toasts)                ││
│  └─────────────────────────────────────────────────────────┘│
│  ┌─────────────────────────────────────────────────────────┐│
│  │  Iced 0.13.1 Enhanced Runtime                           ││
│  │  ├─ WGPU GPU Acceleration                               ││
│  │  ├─ Custom Shader Pipeline                              ││
│  │  ├─ Animation Engine (Spring Physics)                   ││
│  │  └─ Responsive Layout System                            ││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                    Scripting & Plugin Layer                 │
│  ┌──────────┐  ┌──────────┐  ┌─────────┐  ┌────────────┐    │
│  │   Lua    │  │  Python  │  │ Binary  │  │  Script    │    │
│  │ (mlua)   │  │  (PyO3)  │  │ Plugins │  │  Manager   │    │
│  └──────────┘  └──────────┘  └─────────┘  └────────────┘    │
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                      Core IRC Engine                        │
│  ┌──────────────┐  ┌─────────────┐  ┌─────────────────┐     │
│  │   Protocol   │  │    State    │  │   Connection    │     │
│  │    Parser    │  │  Manager    │  │    Manager      │     │
│  └──────────────┘  └─────────────┘  └─────────────────┘     │
└─────────────────────────────────────────────────────────────┘
                              │
┌─────────────────────────────────────────────────────────────┐
│                    Network & Platform Layer                 │
│  ┌──────────────┐  ┌─────────────┐  ┌─────────────────┐     │
│  │    Tokio     │  │   rustls    │  │   Platform      │     │
│  │    Async     │  │   TLS/SSL   │  │  Integration    │     │
│  └──────────────┘  └─────────────┘  └─────────────────┘     │
└─────────────────────────────────────────────────────────────┘

Key Architectural Decisions

  • Event-driven architecture with message passing between components
  • Actor model for connection management using Tokio tasks
  • Plugin isolation with process boundaries for stability
  • Sandboxed scripting with resource limits and permissions
  • Zero-copy parsing where possible for performance
  • Modular design allowing easy feature additions

🛠️ Technology Stack

Core Technologies

  • Language: Rust (Edition 2021, MSRV 1.75.0)
  • Async Runtime: Tokio (multi-threaded, work-stealing)
  • GUI Framework: Enhanced Iced 0.13.1 with Material Design 3
    • WGPU backend for GPU acceleration
    • Custom shader support
    • Spring-based animation system
    • Material Design 3 component library
  • TUI Framework: ratatui
  • TLS: rustls (pure Rust, no OpenSSL)

Scripting & Extensions

  • Lua Scripting: mlua with Lua 5.4 (production-ready, sandboxed, 50+ IRC API functions) ✅
  • Python Scripting: PyO3 (Python 3.8+, GIL management) - Planned
  • Plugin System: libloading (cross-platform dynamic loading) - Planned

Development Tools

  • Serialization: serde with TOML configs
  • Logging: tracing with structured logging
  • Error Handling: anyhow + thiserror
  • Testing: Built-in + mockall + proptest
  • CLI: clap v4

Platform Integration

  • Notifications: notify-rust
  • System Paths: directories (XDG compliance)
  • Cross-platform: Full support for Windows 10+, macOS 10.15+, Linux (glibc 2.31+)

🚦 Current Status

Version: 0.4.0 - Phase 4 Scripting Complete Phase: Phases 1-4 Complete ✅ | Lua Scripting Production Ready 📜 Build Status: All 6 crates compile successfully, 62 tests passing Total Tasks: 249+ across 7 phases | Phase 4 Lua Scripting 100% complete

🎉 Phase 1-4: COMPLETE ✅

  • Phase 1: Research & Setup - Project infrastructure, technology validation, architecture foundation
  • Phase 2: Core IRC Engine - Async networking, protocol parser, multi-server management, event system
  • Phase 3: User Interface Enhanced - Iced Material Design 3, TUI (ratatui), CLI prototype, advanced features
  • Phase 4: Lua Scripting - Complete Lua 5.4 engine with 50+ API functions, event hooks, built-in scripts

🆕 v0.3.8 Enhanced Iced Material Design Features (August 25, 2025 10:23 PM EDT)

Material Design 3 Components Implemented

  • 📱 Navigation Rail: Collapsible side navigation with Material icons
  • 🎯 Floating Action Buttons: Primary and extended FABs with animations
  • 📋 Material Cards: Elevated, filled, and outlined card variants
  • 🔘 Material Buttons: Text, outlined, contained, and toggle buttons
  • 📝 Text Fields: Material outlined and filled input fields
  • Selection Controls: Checkboxes, radio buttons, switches
  • 📊 Progress Indicators: Linear and circular progress with animations
  • 💬 Tooltips & Badges: Context hints and notification indicators
  • 🎨 Material Icons: Complete icon set with outlined/filled variants

Advanced Iced Enhancements

  • Performance: GPU-accelerated rendering with WGPU backend
  • 🎭 Animations: Spring physics, cubic bezier easing, stagger effects
  • 📐 Layout System: Flexbox-inspired responsive layouts
  • 🖼️ Custom Rendering: Shader support for advanced visual effects
  • 🌊 Ripple System: Touch feedback with Material ripple effects
  • 🎨 Theming Engine: Runtime theme switching with smooth transitions
  • 📱 Responsive Design: Adaptive layouts for different screen sizes
  • Accessibility: Keyboard navigation, screen reader support

🆕 v0.3.7 Workflow Resilience Restoration (August 24, 2025 11:08 PM EDT)

  • RESTORED PROVEN WORKFLOWS: Reverted to battle-tested configurations from commit 928aad1 (v0.3.5 baseline)
  • COMPREHENSIVE SCCACHE RESILIENCE: Automatic fallback to local disk cache during GitHub service outages
  • CROSS-PLATFORM TIMEOUT COMPATIBILITY: BASH_ENV helper functions with perl-based macOS fallback
  • GITHUB CACHE SERVICE OUTAGE HANDLING: Robust error recovery across all test execution steps
  • WORKFLOW STEP FUNCTION PERSISTENCE: Complete BASH_ENV architecture for function availability
  • UNIFIED BASH CONFIGURATION: Universal bash shell usage across all platforms including Windows
  • LESSONS LEARNED DOCUMENTED: All optimization attempts preserved in in_prog/ folder for reference
  • STABLE CI/CD FOUNDATION: Return to proven pipeline configuration after v0.3.6 simplification failure

Previous v0.3.5 Complete GitHub Actions Pipeline Fix (August 24, 2025 1:40 AM EDT)

  • COMPREHENSIVE SCCACHE RESILIENCE: GitHub cache service HTTP 400 fallback with automatic local disk cache mode
  • CROSS-PLATFORM TIMEOUT FIXES: macOS perl-based timeout, Linux/Windows native timeout with proper error handling
  • FUNCTION PERSISTENCE RESOLUTION: BASH_ENV helper approach for run_with_timeout across all GitHub Actions steps
  • WORKFLOW OPTIMIZATION: mozilla-actions/[email protected] with sccache v0.10.0 for enhanced reliability
  • UNIFIED CONFIGURATION: Eliminated platform-specific sccache steps in favor of comprehensive resilience approach
  • YAML WORKFLOW VALIDATION: Both master-pipeline.yml and ci.yml pass comprehensive syntax validation
  • CARGO-NEXTEST INSTALLATION FIXED: Removed duplicated bash code causing 'syntax error near unexpected token fi'
  • MSRV CHECK FIXED: Added BASH_ENV helper setup ensuring run_with_timeout function availability

🏅 Previous v0.3.4 Release Achievements (August 23, 2025)

  • MASTER PIPELINE OPTIMIZATION: Fixed critical cache key typo, achieved 60-70% performance improvement
  • BUILD ARTIFACT SHARING: Eliminated redundant compilation through intelligent artifact caching
  • COMPREHENSIVE TEST SUITE: 118 total tests (53 unit + 65 doctests) with full CI integration
  • CRITICAL RELEASE FIX: Resolved 'cp -r not specified' error preventing release asset preparation
  • ARM64 BUILD TARGETS: Added cross-compilation support for Linux and macOS ARM64
  • TOOL CACHING: Implemented cargo-nextest and cargo-tarpaulin caching for faster CI runs
  • PARALLEL EXECUTION: Optimized job dependencies enabling parallel coverage and security scans
  • SCCACHE INTEGRATION: Distributed compilation caching dramatically reduces build times
  • DOCUMENTATION EXCELLENCE: 65+ working doctests, per-crate READMEs, complete rustdoc coverage
  • WINDOWS COMPATIBILITY: Fixed shell script issues for cross-platform CI execution

🏅 Previous Windows CI Compatibility Achievement (August 22, 2025 12:37 AM EDT)

  • WINDOWS CI COMPILATION FIXES: Resolved all 4 compilation errors in cross-platform CI
  • COMPREHENSIVE ERROR HANDLING: Implemented PlatformError enum with thiserror integration
  • CONDITIONAL IMPORTS: Optimized platform-specific imports with proper conditional compilation
  • CROSS-PLATFORM VERIFICATION: All targets compile successfully with zero warnings
  • SECURE IMPLEMENTATION: Enhanced error propagation following Rust security best practices

🏅 Previous Code Quality Excellence Achievement (August 22, 2025)

  • CLIPPY WARNING CLEANUP: Reduced from 258 to 12 warnings (95.3% improvement)
  • MODERN RUST IDIOMS: Updated format strings, replaced .get(0) with .first(), improved combinators
  • CODE ORGANIZATION: Proper type aliases, Default implementations, appropriate allow attributes
  • BUILD VERIFICATION: All 6 crates compile successfully with zero errors
  • BEST PRACTICES: Following latest Rust 2024 edition patterns and conventions

🏆 Previous Interface Enhancement Work (August 21, 2025 - Evening)

  • PROFESSIONAL TAB COMPLETION: Complete system with command/nick/channel completion, cycling, and context awareness
  • ADVANCED KEY HANDLING: Comprehensive IRC client key shortcuts (Ctrl+B/U/I formatting, Alt+1-9 tab switching, Ctrl+L buffer clear)
  • ENHANCED COMMAND ROUTING: Multi-server architecture with proper error handling and validation
  • DIALOG SYSTEM FIXES: Resolved all borrowing issues in preferences dialog system
  • INTERFACE MODE PARITY: All three interfaces (GUI, TUI, CLI) tested and operational
  • ZERO COMPILATION ERRORS: Clean build across all interface implementations
  • PHASE 4 FOUNDATION: Solid infrastructure ready for scripting and plugin development

🆕 Previous Major Achievements (August 21, 2025 - Morning)

  • CLI ENHANCEMENT COMPLETE: Full CLI multi-server architecture with GUI feature parity
  • MULTI-SERVER SUPPORT: CLI now supports multiple server connections with HashMap storage
  • IRC METHOD IMPLEMENTATION: Complete part_channel, list_channels, whois using protocol commands
  • TAB MANAGEMENT: Comprehensive server and channel tab system in CLI mode
  • COMPILATION ERRORS RESOLVED: All CLI architectural migration issues fixed
  • ZERO BUILD ERRORS: rustirc-core compiles successfully with enhanced CLI
  • INTERFACE MODE PARITY: CLI now has full feature equivalency with GUI mode
  • PLATFORM-SPECIFIC IMPLEMENTATIONS: Complete Windows/macOS/Linux system tray and notification support
  • NETWORK MANAGEMENT: Full network list dialog with add/edit/delete/connect functionality
  • DIALOG SYSTEM OPERATIONAL: Complete modal dialog system with preferences, connection, and about dialogs
  • ICED 0.13.1 COMPATIBILITY: Full framework compatibility with advanced styling and proper API usage
  • ZERO PLACEHOLDER CODE: All "In a real implementation" comments replaced with working functionality
  • FULL IRC PROTOCOL IMPLEMENTATION: Complete IRC message handling (MOTD, JOIN, PART, PRIVMSG, NAMREPLY, LIST)
  • REAL SERVER CONNECTIVITY: Successfully connects to live IRC servers (tested with irc.libera.chat)
  • LIVE MESSAGE DISPLAY: Real-time IRC messages, user lists, and server responses in GUI
  • CHANNEL OPERATIONS: /list and /join commands working with live server data
  • IRC EVENT HANDLING: Complete event processing pipeline from server to GUI display
  • TLS CONNECTIVITY: Secure connections to IRC servers with rustls
  • MOTD DISPLAY: Full Message of the Day rendering from live IRC servers
  • USER LIST MANAGEMENT: Real-time user tracking in channels with server synchronization
  • COMPREHENSIVE MESSAGE PARSING: Support for all standard IRC response codes and messages
  • GUI FIXES & ENHANCEMENTS: WHOIS command working, pane dividers always visible, system message filtering operational, menu checkmarks functional

Build Status

✅ cargo build              # Successful compilation (zero errors)
✅ cargo test --workspace --lib --bins  # 62 tests pass (all unit tests including 11 scripting tests)
✅ cargo run                # Full-featured GUI with LIVE IRC connectivity
✅ cargo run -- --material-demo  # Material Design 3 component showcase
✅ cargo run -- --cli       # CLI prototype with multi-server support
✅ cargo run -- --tui       # TUI mode with ratatui interface
✅ cargo run -- --help      # Command-line help and options
✅ cargo clippy             # Zero warnings achieved (100% clean)
✅ cargo doc --open         # Complete API documentation with examples

# Lua Scripting (NEW in v0.4.0)
✅ Scripts in scripts/      # auto_away.lua, auto_rejoin.lua, highlight.lua, url_logger.lua
✅ Complete API docs        # See scripts/README.md for 50+ function reference

GUI Framework Research Branches

RustIRC maintains three active development branches exploring different GUI paradigms:

🎨 impr_gui Branch (Current) - Enhanced Iced Material Design [100% Complete ✅]

  • 100% COMPLETE: All 424 compilation errors eliminated (424→0)
  • Material Demo Functional: Fixed scrollable widget panic - demo fully operational with --material-demo flag
  • Serialization Architecture: Complete with SerializableColor wrapper
  • MaterialText Migration: All instances properly using .build() API
  • All Components Working: Every Material Design 3 component fully functional
  • Iced 0.13.1 Full Compatibility: Complete API migration with proper lifetime management
  • GPU-accelerated rendering: WGPU backend with hardware acceleration
  • Production Ready: Zero errors, zero warnings, comprehensive doctests passing

⚛️ dioxus Branch - React-like Component Architecture

  • Dioxus v0.6 with Virtual DOM
  • React-style hooks and components
  • RSX syntax (JSX-like)
  • WebView and native rendering options
  • Hot reload development

🏠 main Branch - Stable Iced Implementation

  • Iced 0.13.1 functional API
  • Production-ready GUI
  • Proven stability
  • Full IRC functionality

Current Capabilities

  • FULLY FUNCTIONAL IRC CLIENT: Live connectivity to IRC servers with complete protocol support
  • LUA SCRIPTING ENGINE ✨: Production-ready scripting with 50+ IRC API functions
  • BUILT-IN AUTOMATION: Auto-away, auto-rejoin, highlight, and URL logging scripts
  • Material Design 3 Demo: Interactive showcase of all MD3 components (cargo run -- --material-demo)
  • Real-Time IRC Operations: MOTD display, channel listing, user management, message handling
  • Full-Featured GUI: Complete widget system (ServerTree, MessageView, UserList, InputArea, TabBar, StatusBar)
  • Live IRC Commands: /connect, /join, /part, /list, /quit all working with real servers
  • Advanced Theming: 20+ themes (Dracula, Nord, Tokyo Night, Catppuccin, etc.)
  • Resizable Interface: Pane grid layout with user-controlled sizing
  • Multiple Interfaces: Full GUI, Material Demo, TUI, and CLI modes
  • SASL Authentication: Complete implementation (PLAIN, EXTERNAL, SCRAM-SHA-256)
  • Event-Driven Architecture: Full EventBus system with script hook integration
  • IRC Formatting: Complete mIRC color codes, bold/italic, URL detection
  • TLS Security: Secure connections to IRC servers using rustls
  • Comprehensive Protocol Support: All standard IRC response codes and message types
  • Script Management: Load, unload, enable, disable, and reload Lua scripts at runtime

Next Steps (Phase 5)

  1. DCC file transfers and direct chats
  2. Enhanced IRCv3 features (message-tags, server-time, batch)
  3. Proxy support (SOCKS5, HTTP)
  4. Native desktop notification integration
  5. Advanced channel management features

🤝 Contributing

While RustIRC is currently in early development, we welcome contributions!

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/doublegate/RustIRC.git
cd RustIRC

# Install Rust (if needed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Build the project
cargo build

# Run tests
cargo test

# Run with debug logging
RUST_LOG=debug cargo run

Code Style

  • Follow Rust standard formatting (cargo fmt)
  • Ensure no clippy warnings (cargo clippy)
  • Write tests for new functionality
  • Document public APIs

📄 License

RustIRC is dual-licensed under either:

at your option.

🙏 Acknowledgments

  • Inspired by mIRC, HexChat, and WeeChat
  • Built with the amazing Rust ecosystem
  • Thanks to all future contributors!

📞 Contact


⬆ Back to Top

Made with ❤️ and 🦀

About

... powerful, modern IRC client built in Rust that combines the best features of mIRC, HexChat, and WeeChat ...

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages