تفصیل
This plugin provides a shortcode that renders a lightweight IRC client written in vanilla JavaScript. It supports direct WebSocket connections to IRC servers (IRCv3-friendly) and includes an optional WebIRC gateway.
Security-conscious defaults:
- Server allow-list (host:port format), WSS (WebSockets over SSL/TLS) only
- Optional WebSocket subprotocols (e.g.,
text.ircv3.net) - Optional WS path (e.g.,
/webirc) - Optional CSP connect-src helper (off by default)
- Input sanitization and validation
- Proper escaping of output
Features:
- Image Sharing: Upload and share images directly in chat with drag-and-drop support
- Custom Avatars: Personalized user avatars with upload, crop, and preview functionality
- Smart Image Processing: Automatic optimization, resizing, and format conversion (WebP support)
- Performance Optimized: Memory-efficient processing with caching and lazy loading
- Mobile-First Images: Touch-friendly upload interface with responsive image display
- Modern Responsive Design: Mobile-first approach with adaptive layouts for all screen sizes
- Enhanced Mobile Experience: Touch-optimized interface with proper virtual keyboard support
- Smart Responsive Behavior: Overlay sidebar on mobile, collapsible on tablet, side-by-side on desktop
- Editable Username: Click-to-edit nickname with real-time validation and user persistence
- User Persistence: Automatic nickname saving for logged-in WordPress users
- Lightweight vanilla TypeScript/JavaScript implementation (no frameworks)
- Fully responsive design with semantic HTML
- Internationalization ready (i18n strings)
- Configurable server allow-list with strict validation
- WebSocket subprotocol support (IRCv3)
- Optional WebIRC gateway fallback
- Comprehensive IRC slash commands: 30+ commands including /join, /part, /nick, /msg, /whois, /topic, /away, /help, and more
- Automatic nickname generation and collision handling
- Debug logging and connection status indicators
- Optional Content Security Policy (CSP) header generation
- WordPress hooks and filters for extensibility
- Follows WordPress Coding Standards
Usage
Basic Usage:
Simply add the shortcode [chat_webirc] to any page or post where you want the IRC chat to appear. The plugin will use secure default settings to connect to a test IRC server.
Shortcode Examples:
* Basic: [chat_webirc] – Uses default server and channel
* Custom channel: [chat_webirc channel="#mychannel"]
* Custom server: [chat_webirc server="irc.example.com:7443" channel="#general"]
Available IRC Commands:
Once the chat is loaded, users can use these commands:
Basic Commands:
* /join #channel – Join a channel
* /part [#channel] – Leave current or specified channel
* /nick newname – Change nickname
* /quit [message] – Disconnect
* /help – Show all available commands
Communication:
* /msg <nick> <message> – Send private message
* /notice <target> <message> – Send notice message
* /me <action> – Send action message
* /query <nick> – Open private chat context
User & Channel Info:
* /whois <nick> – Get detailed user information
* /who [channel] – List users in channel
* /list [pattern] – List available channels
* /names [channel] – List nicknames in channel
* /topic [text] – View/set channel topic
Status & Utility:
* /away [message] – Set away status
* /back – Remove away status
* /ping <nick> – Ping user
* /version [nick] – Get version info
Advanced Commands:
* /ctcp <nick> <command> – Send CTCP command
* /motd [server] – View message of the day
* /stats <query> [server] – View server statistics
* /raw <command> – Send raw IRC command (if enabled)
Type /help in the chat for the complete command reference.
Configuration:
Go to Settings Chat for WebIRC in your WordPress admin to customize servers, channels, and security options.
Notes
- Some public IRC networks may restrict WebSocket connections to certain origins. The included test server permits connections for testing purposes.
- Do not send sensitive information. This client is intentionally minimal and does not yet support SASL authentication.
انسٹالیشن
- Upload the plugin files to the
/wp-content/plugins/chat-webirc/directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
Next Steps – Getting Started:
After activation, you’re ready to use the IRC chat! The plugin comes with secure default settings that will connect to a test IRC server.
Quick Start:
1. Create or edit any page/post where you want the IRC chat to appear
2. Add the shortcode: [chat_webirc]
3. Save and view your page – the IRC chat will be embedded and ready to use!
Default Settings:
* Server: irc.livefreeonline.club:7443 (secure test server)
* Channel: #help (general help channel)
Customize Settings (Optional):
Visit Settings Chat for WebIRC in your WordPress admin to:
* Add your own IRC servers to the allowed servers list
* Change the default server and channel
* Configure advanced options like WebSocket paths and subprotocols
* Enable per-shortcode overrides for multiple chat instances
Advanced Usage:
Use shortcode parameters to override defaults: [chat_webirc server="irc.livefreeonline.club:7443" channel="#mychannel"]
عمومی سوالات
-
What IRC servers are supported?
-
The plugin works with any IRC server that supports WebSocket connections. By default, it includes:
*irc.livefreeonline.club:7443– An IRC server contributed by our team for testing purposes -
Is this secure?
-
Yes, the plugin implements several security measures:
* Server allow-list to prevent connections to unauthorized servers
* Input sanitization and validation
* Proper escaping of all output
* Optional Content Security Policy headers
* WSS (secure WebSocket connections) only -
Can I use my own IRC server?
-
Yes, you can add your own IRC server to the allowed servers list in the plugin settings. The server must support WebSocket connections and be accessible via WSS (secure WebSockets).
-
Does this work with private IRC networks?
-
The current version is designed for public IRC servers. For private networks that require extra authentication, we will add support for them in future versions.
-
Do I need an SSL certificate to use this plugin?
-
The IRC server must have an SSL certificate for WSS (WebSockets Secure) connections to work. Your WordPress website doesn’t strictly require SSL, but it’s highly recommended:
- IRC server: SSL certificate required (mandatory for WSS connections)
- WordPress site: SSL recommended but not mandatory for basic functionality
For security reasons, the plugin only supports secure WSS connections and does not support unencrypted WebSocket connections.
-
What shortcode parameters are available?
-
The shortcode supports:
*server: IRC server (host:port, must be in allowed servers list)
*channel: Channel name (with # prefix)Example:
[chat_webirc server="irc.livefreeonline.club:7443" channel="#help"] -
What IRC commands are supported?
-
The client supports 30+ comprehensive IRC slash commands organized by category:
Basic Commands:
*/join #channel– Join a channel
*/part [#channel]or/leave [#channel]– Leave current/specified channel
*/nick newname– Change nickname
*/quit [message]– Disconnect from serverCommunication:
*/msg <nick> <message>or/privmsg <nick> <message>– Send private message
*/notice <target> <message>– Send notice message (less intrusive)
*/me <action>– Send action message
*/query <nick>– Open private chat contextUser Information:
*/whois <nick>– Get detailed user information
*/who [channel]– List users in channel
*/userhost <nick> [nick2]...– Get user host information
*/ison <nick> [nick2]...– Check if users are online
*/finger <nick>– Send FINGER requestChannel Information:
*/list [pattern]– List available channels
*/names [channel]– List nicknames in channel
*/topic [text]– View or set channel topicServer Information:
*/motd [server]– View message of the day
*/admin [server]– View server admin info
*/info [server]– View server information
*/stats <query> [server]– View server statistics
*/links [mask]– List server links
*/lusers [mask]– List user statistics
*/time [server]– Get server time
*/version [nick]– Get version infoStatus & Utility:
*/away [message]– Set away status
*/back– Remove away status
*/ping <nick>– Ping userAdvanced:
*/ctcp <nick> <command>– Send CTCP command (VERSION, TIME, PING, FINGER)
*/raw <IRC command>– Send raw IRC command (if enabled by admin)Help:
*/help– Show complete command reference with usage examplesAll commands include proper error handling and usage instructions when used incorrectly.
-
Does this work well on mobile devices?
-
Yes! Version 0.5.0 includes a complete mobile overhaul with:
* Responsive Design: Adapts perfectly to phones, tablets, and desktops
* Touch-Optimized: Proper touch targets and gesture support
* Mobile-First Layout: Optimized for small screens with smart sidebar behavior
* Orientation Support: Works great in both portrait and landscape modes -
Can users change their nickname?
-
Yes! Version 0.6.0 introduces an editable username feature:
* Click-to-Edit: Simply click on your nickname in the chat header to edit it
* Real-time Validation: Instant feedback on nickname validity according to IRC standards
* User Persistence: Logged-in WordPress users have their nicknames automatically saved and restored
* Keyboard Shortcuts: Press Enter to save or Escape to cancel
* Guest Support: Non-logged-in users can still change nicknames, but they won’t be saved between sessions -
Yes! Version 0.7.0 introduces comprehensive image sharing capabilities:
* Easy Upload: Drag-and-drop or click to upload images directly in chat
* Smart Processing: Automatic image optimization and resizing for optimal performance
* Format Support: JPEG, PNG, GIF, and WebP formats supported
* Size Limits: Configurable file size limits (default 5MB) with clear user feedback
* Preview: Full-size image preview with zoom and download options
* Mobile Optimized: Touch-friendly upload interface that works seamlessly on all devices
* Security: Server-side validation, sanitization, and WordPress media library integration -
Can users set custom avatars?
-
Yes! Version 0.7.0 includes a full-featured avatar system:
* Custom Upload: Upload your own avatar image with built-in cropping tool
* Real-time Preview: See your avatar as others will see it before saving
* Persistent Storage: Avatars are saved to your WordPress profile and appear across sessions
* Fallback System: Automatic fallback to default avatars for users without custom images
* Performance: Optimized avatar loading with caching and lazy loading
* Responsive: Avatars display perfectly on all screen sizes -
What are the admin settings?
-
The settings page includes:
* Allowed servers: One per line (host:port format)
* Default server: Selected from allowed servers list
* Default channel: e.g., #general
* WebSocket path: e.g., /webirc (optional)
* Subprotocols: Comma-separated, e.g., text.ircv3.net
* Gateway URL: Optional WSS fallback
* Allow per-shortcode overrides: Restricted to allowed servers list
* Add CSP header: For connect-src (advanced)
* Enable debug logs: Show debug messages in chat
جائزے
There are no reviews for this plugin.
شراکت دار اور ڈیویلپرز
“Chat for WebIRC” اوپن سورس سافٹ ویئر ہے۔ مندرجہ ذیل لوگوں نے اس پلگ ان میں حصہ لیا:
شراکت دار“Chat for WebIRC” کا اپنی زبان میں ترجمہ کریں۔
ڈویلپمینٹ میں دلچسپی ہے؟
کوڈ براؤز کریں، ایس این وی ریپوزیٹری کو چیک کریں یا ڈویلپمینٹ لاگ کو سبسکرائب کریں بذریعہ آر ایس ایس۔
چینج لاگ
0.7.0
- Image Sharing: Complete image upload and sharing system with drag-and-drop support
- Custom Avatars: User avatar upload with cropping, preview, and persistent storage
- Smart Image Processing: Automatic optimization, resizing, and WebP format conversion
- Memory Management: Efficient memory handling for image processing with automatic cleanup
- Image Caching: Intelligent caching system with LRU eviction and memory limits
- Lazy Loading: Performance-optimized image loading with intersection observer
- Mobile Performance: Touch-optimized upload interface with responsive image display
- Security Enhancements: Server-side validation, file type checking, and sanitization
- WordPress Integration: Full integration with WordPress media library and user meta
- Error Handling: Graceful error handling with user-friendly feedback messages
0.6.0
- Editable Username Interface: Click-to-edit nickname functionality with inline editing
- User Persistence: Automatic nickname saving for logged-in WordPress users
- Real-time Validation: Client-side IRC nickname validation with helpful error messages
- Smart Nickname Loading: Automatic loading of saved nicknames for returning users
- Improved UX: Loading states, success feedback, and error handling for nickname changes
- WordPress Integration: New AJAX endpoints for saving and retrieving user nicknames
- Guest User Support: Graceful fallback for non-logged-in users with session-based nicknames
- Mobile-Optimized Editing: Touch-friendly edit interface that works seamlessly on all devices
0.5.0
- Major UI Overhaul: Complete redesign of the chat interface with modern, responsive layout
- Mobile-First Design: Fully responsive chat window that adapts to all screen sizes
- Enhanced Mobile Experience: Optimized touch interactions, proper virtual keyboard handling, and improved readability on mobile devices
- Responsive Sidebar: Smart sidebar behavior – overlay on mobile, collapsible on tablet, side-by-side on desktop
- Improved Message Display: Better message grouping, optimized spacing, and responsive typography
- Touch-Friendly Interface: Minimum 44px touch targets for mobile users
- Orientation Support: Smooth transitions and optimized layouts for both portrait and landscape modes
- New Admin Settings: Enhanced configuration options for responsive behavior and UI customization
- Performance Optimizations: Reduced layout thrashing and improved rendering performance
0.2.0
- Add comprehensive IRC slash commands support (30+ commands)
- Enhanced command categories: Basic, Communication, User Info, Channel Info, Server Info, Status, Advanced
- Improved command help system with detailed usage examples
- Added support for CTCP commands, server queries, user lookups, and more
- Better error handling and user feedback for all commands
0.1.0
- Initial release with full shortcode functionality
- WebSocket IRC client with IRCv3 support
- Comprehensive admin settings (server allow-list, defaults, security options)
- Comprehensive slash command support (30+ IRC commands)
- Automatic nickname handling and collision resolution
- Debug logging and connection status display
- Security: WSS-only, input sanitization, optional CSP headers
- TypeScript source with proper documentation